|-------------------------| ,_____, | YETI OS | | . . | |-------------------------| | ._, | | A bit-sized linux | |-----| | distro for RPi zero | / , , \ |-------------------------| |_' '_| |=~=~=~=~=~=~=~=~=~=~=~=~=| '--^--' Yeti OS is a custom bit-sized linux distro for the RPi zero, cross-compiled from scratch. It includes basic tools and configuration to develop the system further. The scripts can be modified to compile it for other architectures. === BUILDING ============ Before you start building, you will need to set a few environment variables: - DIST_ROOT -> this directory (root of this repository) - CLFS -> DIST_ROOT/build_env/build_root - CLFS_TARGET -> [TODO: see if this variable is even used] - LFS_HN -> the desired hostname for the finished system It is recommended to set these in your shell's RC file. Then run build.sh. === BOOTING =========== The build script provided generates a root filesystem. To boot into this filesystem, you will need an SD card with two partitions. Copy the boot directory of the new rootfs into the first partition along with some other files: - boot/dts/*.dtb -> /boot - boot/dts/overlays/*.dtb* -> /boot/overlays - boot/zImage -> /boot/kernel.img - files/* -> /boot Then, copy the root filesystem into the second partition. === INSTALLED PACKAGES ====================== Yeti OS comes with the following packages installed: - musl - binutils - gcc - busybox - linux - ypm - make - wpa_supplicant None of the binaries are stripped during the build process. Stripping binaries can reduce the size of the final system. Additionally, any binaries beginning with `armv6zk-linux-musleabihf-` can be safely removed. These are binaries used in cross-compilation and are not useful on the final system. === PACKAGE MAANGEMENT ====================== The Yeti Package Manager (YPM) is used for package management and is built into the system by the build script. However, you can use any package manager with Yeti. See https://github.com/AVS-Origami/ypm for more information on the Yeti Package Manager. === RESOURCES ============= Resources used throughout this project: - Linux From Scratch (https://www.linuxfromscratch.org) - Cross Linux From Scratch (https://clfs.org) - Mussel (https://github.com/firasuke/mussel) - Diy Linux Guide (https://github.com/AgentD/diy-linux-guide) - PiLFS (https://intestinate.com/pilfs) - Static Linux (https://sta.li)