Skip to content

Installing NextBSD

pkgdemon edited this page Aug 21, 2026 · 2 revisions

Booting the image gives you a live, working system. When you want it on a disk, nextbsd-installer does that.

On an Apple Silicon Mac, the Apple Silicon Mac (UTM) Guide walks through this in a VM with screenshots.

Before you start

  • Boot from the .img or .iso and log in as root (no password).
  • Know which disk you are installing to. In a VM this is usually vtbd0; on real hardware, ada0 (SATA) or nvd0 (NVMe).
  • The target disk is erased. Nothing on it survives.

Running the installer

nextbsd-installer

It is keyboard-driven — arrow keys to move, Enter to confirm — and steps through five screens:

Screen What it asks
Mode How to install. Press Enter for the default.
Disk Which disk to install to. Pick it, press Enter.
Account Root password and hostname.
Install Progress. Partitioning, newfs, the file copy, boot code.
Finish Reboot or shut down.

On the Finish screen, use the arrow keys to choose Shut Down, then eject the install media before powering back on — otherwise you boot the installer again.

How it works

Worth knowing, because it explains why the install is unusually forgiving:

The installer clones the running system onto the target with cpdup, then labels the target UFS filesystem ROOTFS. Both the shipped /etc/fstab (which refers to ufs/ROOTFS) and the kernel's built-in root path (ufs:/dev/ufs/ROOTFS) resolve through that label rather than a device node.

So the install is disk-path agnosticada0, nvd0 and vtbd0 all work with no edits, and moving the disk to a different controller does not break booting.

The dangerous work — partitioning, newfs, the clone, boot code and ESP setup — lives in auditable /bin/sh scripts that the UI runs and monitors, not in the binary itself.

After installing

Log in as root at the console, or over SSH if you set a password and your network reaches the box:

ssh root@<hostname>

Substitute the hostname you set during install. If you have forgotten it, run hostname at the console.

Then:

Testing the installer without a disk

If you want to see the UI without touching hardware, it runs on any host:

cmake -S src/nextbsd-installer -B build -G Ninja
cmake --build build -j
./build/nextbsd-installer --demo

--demo presents synthetic disks and simulates the install, and is implied automatically on any non-FreeBSD host. --dry-run makes the engine print each command instead of running it. Source lives in nextbsd-userland/src/nextbsd-installer.

Clone this wiki locally