Giter Site home page Giter Site logo

submarine's Introduction

Submarine

An experimental bootloader for ChomeOS's depthcharge.

Warning

Submarine is currently beta software. Please exercise care with your system and report any issues you encounter.

๐Ÿ“• Explainer

Submarine provides a minimal Linux environmemt that lives in a small partition (16mb) on the disk. We use this environment to bootstrap a full Linux system (or a different system if you're brave.)

Additional documention can be found on Fyra Developer (under construction!)

๐Ÿ“ฆ Builds

We offer prebuilt versions of the images per each commit:

๐Ÿ› ๏ธ Dependencies

Please make sure you have these dependencies first before building.

make
gcc
ccache
flex
bison
elfutils-devel
parted
vboot-utils
golang
xz
bc
tar
openssl-devel
python3-pip
uboot-tools

Additionally, you'll need to install u-root and depthcharge-tools (if you have the Terra repository, you can dnf install them). To install the latest versions:

go install github.com/u-root/u-root@latest
pip3 install depthcharge-tools

Lastly, you may need to install a cross-compile gcc. For example:

gcc-aarch64-linux-gnu

๐Ÿ—๏ธ Building

Simply clone this repo with submodules, so pass --recurse-submodules to git clone, then:

make -j$(nproc) <x86_64|arm64>

Please note that you must pass an architecture target.

The build output is located in build/. For testing, an image is built at build/submarine.bin which you can directly flash onto an external drive. So, for example, replace /dev/sdX with the device file of the external drive:

sudo dd if=build/submarine.bin of=/dev/sdX

๐Ÿ—’๏ธ Todos

  • Clean up kernel configs

submarine's People

Contributors

lleyton avatar weirdtreething avatar alpernebbi avatar nothingneko avatar ellyq avatar owen-sz avatar tobhe avatar june-fish avatar ninelore avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.