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.
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!)
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-toolsAdditionally, 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-toolsLastly, you may need to install a cross-compile gcc. For example:
gcc-aarch64-linux-gnuSimply 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- Clean up kernel configs