I made a build of NomadBSD that's a bit newer
Here's a short post about it
Written by pfriedma on 2026.07.19
Some Background
For reasons, there was some renewed interest in BSD amongs some people and I had mentioned that one of the things I run into is that BSD is great, but on commodity hardware (laptops, etc) and with consumer devices (ath10x wifi devices for example) things don't always work great out of box. So I used a disto of FreeBSD which runs on a USB stick to test how much of a fight I might have getting, NetBSD for example, or Open or Free on a box. This distro is NomadBSD. It comes with xfce4 and vlc and a bunch of stuff already there so you can test things like video playback and sound and wifi, etc. It's great. But it hasn't been updated in a while.
I noticed though that their github didn't immediately appear to have hard version dependencies for the build scripts, and relied on - for the most part - standard tooling so I decided to try doing a build using 15.1-RELEASE in the build.cfg.
Reproducing the build environment
The steps to reproduce this build should be fairly straightforward. I started by building a FreeBSD-15 VM for the build env. I gave it 100G of drive because the first time I tried with 50 and it failed. And 8-10 cores because you'll be building the kernel, some drivers, and some packages from pkgsrc. Fresh FreeBSD-15.1 install with ports, src, and tests selected. pkg installed git, mkfontscale and markdown as per the instructions for building in their git. checked out the repo. Changed the build number to pull from the latest material from FreeBSD. First build failed b/c bsdstats so remove that from pkg.list. That built sucessfully but panic'd on boot. I eventually traced it to the uzip which makes up the overlayfs for /usr/local. FreeBSD changed unionfs (for good reason) and so I changed the mount_uzip rc.d job to use mount_nullfs and mount -t unionfs (I think mount -t nullfs should also work fine). That build is what this is.
If you want to do this yourself, follow the instructions on their git but change the version in build.cfg. You'll also need to remove bsdstats from pkg.list. And before you build, the mount_uzip file in config/etc/rc.d needs to have the unionfs lines (around line 109) commented and replaced with:
mount_nullfs -o ro /unionfs/usr/local /usr/local
mount -t unionfs -o noatime "%{rwdir}" /usr/local
Also, the default pkg config is for quaterly, which is what the build below is. If you want a build with latest, you'll want to update config/etc/pkg/FreeBSD.conf accordingly before you build. You can also change this later in the live image, but installing all those packages on a USB thumb drive might take quite some time.
Download and notes
It's x64 only and doesn't support secure boot. You can grab the gz image here YMMV. MD5 is 14bd11571a37e839d1634dffa352845d for regular img uncompressed.gunzip, then write to a USB stick with
dd bs=1M if=/path/to/NomadBSD-15.1-pfriedma.img of=/dev/sdX conv=fsync status=progresswhere sdX is the device (e.g. /dev/sda)
Remember, FreeBSD's loader isn't signed for secure boot. Back to Index