Building a Custom FreeBSD Kernel from Source
How to match FreeBSD source to the running system, derive a custom kernel from GENERIC, build it safely, and preserve rollback paths.
The ports tree, ZFS, jails, pf, and the internals of a Unix built for correctness.
How to match FreeBSD source to the running system, derive a custom kernel from GENERIC, build it safely, and preserve rollback paths.
How FreeBSD exposes interfaces, addresses, routes, FIBs, bridges, VLANs, link aggregation, sockets, and packet-level evidence.
FreeBSD 12.0 arrived with UEFI+GELI installation, bectl boot environments, LLVM 6.0.1, VIMAGE by default, netdump, and newer bhyve.
FreeBSD 13.0 put Auto ZFS first in bsdinstall, integrated OpenZFS, promoted arm64 to Tier 1, and completed the base LLVM migration.
FreeBSD 14.0 shipped OpenZFS 2.2, OpenSSL 3, CUBIC TCP, larger SMP systems, new bhyve features, safer UFS checks, and cloud images.
pkg 1.0 arrived August 30, 2012 after two years and 2,000 commits; FreeBSD 10 removed pkg_install and used pkg(7) to bootstrap the new manager.
FreeBSD 5.0 shipped January 19, 2003 with SMPng's core locking architecture, while Giant remained widespread and release engineers advised caution.
How FreeBSD PF evaluates rules, creates state, uses tables and anchors, performs NAT, logs decisions, and supports safe remote changes.
How FreeBSD Ports recipes, official pkg repositories, custom options, branches, locks, audits, and poudriere fit into one package workflow.
How FreeBSD moves changes through CURRENT, STABLE, releng branches, freezes, release candidates, and supported production releases.