https://smolbsd.org smolBSD logo smolBSD build your own minimal BSD UNIX system GitHub Get Started About smolBSD is a meta-operating system built on top of NetBSD. It lets you compose your own UNIX environment -- from a single-purpose microservice system to a fully-custom OS image -- in just a few minutes. The smolBSD environment uses the netbsd-MICROVM kernel as its foundation, leveraging the same portable, reliable codebase that powers NetBSD itself. You decide what to include -- sshd, httpd, or your own service -- and smolBSD builds a coherent, minimal, bootable image ready to run anywhere. $ bmake SERVICE=bozohttpd build [?] starting the builder microvm [?] host filesystem mounted on /mnt [?] fetching sets [?] creating root filesystem (512M) done image ready: bozohttpd-amd64.img Why smolBSD Build BSD systems like you build software -- fast, reproducible, and minimal. Composable Pick only the components you need -- from kernel to services. [?][?] Reproducible Every build is deterministic, portable, and easy to version-control. Instant Boot Powered by netbsd-MICROVM -- boot to service in milliseconds. Universal Runs anywhere QEMU or Firecracker runs -- cloud, CI, edge, or laptop. Quick Start Build and boot your own BSD system in seconds: $ git clone https://github.com/NetBSDfr/smolBSD $ cd smolBSD $ bmake SERVICE=sshd build [?] starting the builder microvm [?] fetching sets [?] creating root filesystem (512M) done image ready: sshd-amd64.img [?] killing the builder microvm $ ./startnb.sh -f etc/sshd.conf [ 1.0092096] kernel boot time: 14ms Starting sshd. Server listening on :: port 22. Server listening on 0.0.0.0 port 22. Download Examples bozohttpd A complete static web server in a few megabytes. smolBSD builds a minimal system with bozohttpd preconfigured and ready to serve content immediately on boot. $ bmake SERVICE=bozohttpd build [?] starting the builder microvm [?] fetching sets [?] creating root filesystem (512M) done image ready: bozohttpd-amd64.img $ ./startnb.sh -f etc/bozohttpd.conf [ 1.001231] kernel boot time: 10ms Starting bozohttpd on :80 listening on 0.0.0.0:80 nbakery A lightweight build and image creation service based entirely on NetBSD tools. The nbakery image gives you a taste of a preconfigured NetBSD environment with all the well known tools. $ bmake SERVICE=nbakery build [?] starting the builder microvm [?] fetching sets [?] creating root filesystem (512M) done image ready: nbakery-amd64.img $ ./startnb.sh -f etc/nbakery.conf [ 1.008374] kernel boot time: 11ms Welcome to the (n)bakery! doas to run command as root pkgin to manage packages exit to cleanly shutdown, ^a-x to exit qemu you are inside a tmux with prefix ^q nitrosshd A minimal secure shell server started with nitro, designed to launch instantly and provide remote access with zero unnecessary services. Ideal for an SSH bouncer. $ bmake SERVICE=nitrosshd build [?] starting the builder microvm [?] fetching sets [?] creating root filesystem (512M) done image ready: nitrosshd-amd64.img $ ./startnb.sh -f etc/sshd.conf [ 1.011598] kernel boot time: 12ms Created tmpfs /dev (1835008 byte, 3552 inodes) Starting sshd. Server listening on :: port 22. Server listening on 0.0.0.0 port 22. Community smolBSD is an independent project built on top of NetBSD. Join us, share your micro-systems, or contribute new services and build recipes. GitHub Mastodon Email (c) 2025 smolBSD