Build and Run

Building requires a POSIX environment with bmake, Clang, LLD (ld.lld), LLVM (llvm-ar), gdisk (sgdisk), mtools, ovmf, Bash, and coreutils. QEMU is required to run the result. On Windows, use a configured WSL/Linux environment or CI runner instead of PowerShell directly.

# Build all targets and run automated smoke tests
bmake ci

# Launch QEMU under BIOS with hybrid GPT image
bmake qemu

# Launch QEMU under modern UEFI firmware (via OVMF)
./run-uefi.sh

The build produces a self-contained hybrid GPT obj/PRONINX.img with ESP (FAT32), fnu-boot, and fnu-root partitions — no separate host disk formatting is required. A normal bmake strictly enforces -Werror with dependency generation.

Optional UFS2 volumes

# Attach a prepared FNU Data volume at /data
bmake qemu UFS2_DATA_IMG=/absolute/path/to/fnu-data.ufs

# Use a UFS2 system image as the root volume
bmake qemu UFS2_SYSTEM_IMG=/absolute/path/to/fnu-system.ufs

On the audited release-builder, bmake system-image uses an external BSD-compatible makefs. Ordinary development and runtime do not require FreeBSD tooling when a release image is supplied.