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.