build your own minimal BSD UNIX system
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
Build BSD systems like you build software — fast, reproducible, and minimal.
Pick only the components you need — from kernel to services.
Every build is deterministic, portable, and easy to version-control.
Powered by netbsd-MICROVM — boot to service in milliseconds.
Runs anywhere QEMU or Firecracker runs — cloud, CI, edge, or laptop.
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
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
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! 🧁 💪 doasto 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
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.
smolBSD is an independent project built on top of NetBSD. Join us, share your micro-systems, or contribute new services and build recipes.