-
Notifications
You must be signed in to change notification settings - Fork 6
Home
A BSD whose system plumbing comes from Darwin. launchd is PID 1, services
are .plist files, hardware events flow through an in-kernel IOKit registry over
Mach IPC, and the network is configured by ipconfigd talking to configd — all
on a FreeBSD-derived kernel that reports NextBSD for uname -s.
Drivers arrive the Darwin way too, as kernel extensions matched by the IOKit registry: KMS graphics drivers for the GPUs a VM presents — QEMU's Bochs VGA, virtio-gpu on both amd64 and arm64, and VirtualBox — alongside Intel, AMD, Radeon and NVIDIA kexts for real cards, plus Intel wireless and Ethernet. See Hardware Support.
If you have ten minutes and a spare VM, start with Getting Started.
| Page | What it covers |
|---|---|
| Getting Started | Download an image and boot it in QEMU. No install required. |
| Apple Silicon Mac (UTM) Guide | Step-by-step on an M-series Mac, including the Gershwin desktop. |
| Installing NextBSD | Put it on a disk with nextbsd-installer. |
| Installing Packages | Point pkg at the NextBSD repository and keep a system current. |
| Page | What it covers |
|---|---|
| Command Reference | The Darwin-derived commands: launchctl, ioreg, syslog, kextstat, and friends. |
| Service Management with launchd | Starting, stopping and writing services as property lists. |
| Hardware Support | Graphics and network kexts, and where Bluetooth stands. |
| Wireless Networking | Scanning, joining and troubleshooting Wi-Fi with wlan. |
| Filesystem Layout | The four-domain model, and where things actually live. |
| Page | What it covers |
|---|---|
| How NextBSD Differs | Side-by-side with FreeBSD, NetBSD and OpenBSD. |
| Project Repositories | How the pieces are built and which repo owns what. |
Coming from FreeBSD, three things will surprise you immediately:
-
There is no
rc.conf. Services are property lists under/System/Library/LaunchDaemons/, controlled withlaunchctl. See Service Management with launchd. -
There is no
kldload— and nothing to configure. Thekld*command-line tools are deliberately removed;kextload,kextunloadandkextstatreplace them. (Thekldsyscalls remain — only the CLI front-ends are gone.) There is also no driver setup anywhere — noif_em_load="YES"inloader.conf, nokld_list="i915kms"inrc.conf, and norc.confto put them in. Graphics included: there is nodrm-kmodto install and no KMS module to enable — and because NextBSD ports KMS drivers FreeBSD does not ship, a VM's virtual GPU gets real KMS, so there is usually no display-server configuration to write either.kextdmatches every driver, GPUs among them, to hardware by device ID at boot, so a supported card works because it is plugged in, not because you listed it. See Hardware Support. -
ipconfigis notifconfig. NextBSD ships Darwin'sipconfig, a different tool with a different CLI. Both it and FreeBSD'sifconfigare present.
- Discussions — questions, ideas, showing off what you built.
- Issues — bugs in the OS or its build.
- nextbsd.org — project overview and component status.
NextBSD is pre-production. Continuous builds are published on every merge and are boot-tested in CI, but there is no stable release yet. Run it in a VM before you run it on anything you care about.
NextBSD is pre-production — continuous builds only, no stable release yet. Questions are welcome in Discussions.