=== BUILDING

April 30, 2023 ยท View on GitHub

|-------------------------| ,_____, | 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: