not-os
not-os is a minimal OS based on the Linux kernel, coreutils, runit, and Nix. It is also the build script, written in Nix expressions, to build such OS.
This is a project of Michael Bishop (cleverca22 on GitHub, clever on IRC). I modified it just a bit to make it possible to generate this documentation.
As a build tool, not-os uses nixpkgs and in particular the NixOS module system to build the three main components of a Linux-based operating system:
- a kernel (
config.system.build.kernel
) - an initrd (
config.system.build.initialRamdisk
) - a rootfs (
config.system.build.squashfs
)
Given the three above derivations, it is possible to generate the appropriate qemu-kvm invocation as a script, runvm. runvm is the main entry point to start playing and understanding not-os. Follow that link, or any one of those at the bottom of each page, and enjoy!
To follow along, you can clone the Git repository and run
each nix-build
command as they appear at the top of each
page.