A simple Buildroot-based Linux distribution — install tooling, a lightweight editor, and not much else yet. Built by one person, one tool at a time.
Small, on purpose
Null Linux is a from-scratch distribution built on Buildroot with a BusyBox userland. There is no desktop environment to strip out and no upstream distro underneath it — every binary that ships is there because it was put there on purpose.
Right now it's genuinely simple: a set of install tools to get the system onto a disk, and Bit Studio, a small text editor for writing code directly on the system. It's a solo project, actively developed, currently in beta — more tools land as they're built, not before.
- Base system
- Buildroot + BusyBox
- Kernel
- Linux 6.18.7
- Architecture
- x86_64
- Init
- BusyBox init
- Status
- Beta — actively developed
Minimum system requirements
Null Linux Dyson T 0626 — Minimum System Requirements
(Official Technical Specification)
1. Absolute Minimum Requirements
2. Recommended Requirements (Stable Server Use)
3. Notes
- The system is currently terminal-only (no graphical interface).
- Measured peak RAM usage in current builds: approximately 150 MB.
- ISO size: 67 MB ~ 70.3 MB.
- Designed as a lightweight foundation system suitable for servers, embedded devices, and infrastructure use.
- USB booting and hard disk installation are both supported.
- Document version
- 1.0
- Edition
- Null Linux Dyson T 0626
- Classification
- Foundation / Server / Lightweight Infrastructure
Get the files
Grab the bootable Live ISO to run the manual install steps, or pull the individual kernel and rootfs images if you're building the disk yourself.
usr/bin/
A handful of purpose-built commands ship with the system, written for the Buildroot/BusyBox environment specifically — no external dependencies, nothing assumed to already be installed.
Manual installation
Null Linux Dyson installs manually from a Live environment with fdisk, extlinux, and a plain filesystem archive — no guided installer, just the disk tools directly. Replace <target-disk> (e.g. /dev/sda) and <target-partition> (e.g. /dev/sda1) with your own device names — run lsblk first to confirm them.
Prerequisites
- Kernel image — the compiled
bzImagebinary. - Root filesystem —
rootfs.cpioorrootfs.ext2, containing system binaries, libraries andinit. - Bootloader binaries —
syslinux/extlinuxutilities andmbr.bin.
-
Partition the disk. Launch fdisk on the target drive.
fdisk <target-disk>Inside fdisk:
# clear the partition table o # create a new primary partition, using the full disk n p 1 # mark it bootable a 1 # review, then write and exit p w
-
Format and mount the new partition as ext2.
mkfs.ext2 <target-partition> mkdir -p /mnt/null mount <target-partition> /mnt/null mkdir -p /mnt/null/boot
-
Install the bootloader. Write extlinux to the boot directory, then write the MBR code to the disk itself.
extlinux --install /mnt/null/boot cat /usr/share/syslinux/mbr.bin > <target-disk>
-
Deploy the kernel into the boot directory.
cp bzImage /mnt/null/boot/bzImage -
Extract the root filesystem into the mounted partition.
cd /mnt/null cpio -idv < /path/to/rootfs.cpio
-
Configure the bootloader by UUID, not device name, so it survives hardware changes. First look up the partition's UUID:
blkid <target-partition>Then write
extlinux.confusing that UUID:cat > /mnt/null/boot/extlinux.conf << 'EOF' DEFAULT linux LABEL linux LINUX /boot/bzImage APPEND root=UUID=<YOUR-PARTITION-UUID> rw EOF
-
Finalize and reboot. Flush writes, unmount, and restart.
sync umount /mnt/null reboot