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!)
We offer prebuilt versions of the images per each commit:
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
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
- Clean up kernel configs