This repository holds an pre-compiled image of the linux kernel with an embedded ramfs and is used by tyche as the default dom0 guest.
Our ramfs is based on busybox version 1.35.0.
To correctly clone this repository use
git clone --recursive {https/ssh link to the repo}
and to update submodules if you already cloned without submodules
git submodule update --init --recursive
you should execute
sudo cp -av /dev/{console,null,tty,sda1} builds/initramfs/x86-busybox/dev/
./scripts/setup.sh repack
For convenience, we pre-compiled the linux image and track it using git lfs.
However, we also provide the scripts to reproduce the entire build process:
Makefilehas a single default target that calls ourscripts/build.shscript to generate our linux image and copy it into theimagesfolder. The secondary targetrun-linux-embeddedruns the vmlinux image with qemu.imagesholds our compiled linux image with the embedded ramfs.downloadskeeps track of the downloaded busybox version.templatescontains:busybox-configto configure and compile busybox.init_templateto generate our ramfs from the busybox build.tyche_linux_embedded_ramfsto build the linux kernel with our embedded ramfs.
scripts/setup.shcontains the bash script that downloads and builds busybox. It is never called and serves as a reference.scripts/build.shis called by our makefile to recompile the linux kernel and update theimages/vmlinuximage. IT SHOULD NOT BE CALLED manually.linuxis a submodule clone of the linux kernel set at version 5.10.