A minimal Linux distribution based on BusyBox and KISS Linux.
This makes it easy to customize your embedded systems. To create a working system, just add some device nodes in /dev, a few configuration files in /etc, and a Linux kernel.
From https://busybox.net/about.html. And This project is an implementation of the statement.
The goal of this project is to have BusyBox as the only executable binary in the rootfs, minimizing the difficulty of porting to various architectures.
KISS Linux is chosen as the base because the kiss package manager is written in pure POSIX sh. Thanks, Dylan Araps.
Installation
It's recommended to read Kiss Linux Installation Guide first, although many of the steps are unnecessary for this project.
We only need to use kiss to generate the rootfs:
git clone https://github.com/chirsz-ever/busybox-linux.git wget https://codeberg.org/kiss-community/kiss/archive/6.2.0.tar.gz -O kiss-6.2.0.tar.gz tar -xf kiss-6.2.0.tar.gz pushd kiss patch < "../busybox-linux/kiss-pkgs/kiss/patches/kiss-sha256sum.patch" popd export KISS_PATH=$PWD/busybox-linux/kiss-pkgs mkdir rootfs KISS_ROOT=$PWD/rootfs ./kiss b baselayout baseinit kiss baseservices
You need to prepare the statically linked busybox executable and create soft links yourself. The package busybox-prebuild could simplifie this process.
As in KISS Linux, you'll also need to compile the kernel and configure the bootloader yourself.
Packages
baselayoutis unmodified from kiss-community/repo.baseinitis patched to remove compilation of C files.baseservicesis frombusyboxpackage in kiss-community/repo, modified to remove usage oflibudev-zeroinmdev.conf.kissis patched to use SHA256 hashsum instead of BLAKE3, because BusyBox doesn't support BLAKE3.
You can install architecture-independent packages, such as:
Note that you'll need to regenerate the cheksum with kiss c before installation, as the kiss community now uses BLAKE3
hashsum.
How to get a busybox binary
- compile busybox from source yourself, you can split it into suid and no-suid binaries to improve security.
- Pre-built binaries on busybox.net
- Debian's busybox-static
- Alpine's busybox-static