Skip to content

Repository files navigation

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

Builds from main

🛠️ Dependencies

Please make sure you have these dependencies first before building.

make gcc ccache awk patch 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

About

An experimental bootloader for ChomeOS's depthcharge

Topics

Resources

Stars

100 stars

Watchers

11 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages