The Handbook

    Theme
    • Guides
        • Check a system before installing FreeBSD
        • Orient a Linux administrator on FreeBSD
        • Supported FreeBSD releases
        • Choose a FreeBSD documentation and support channel
        • Move files safely without GNU mv -t
        • Update, upgrade, or update packages?
        • Upgrade 14.4 or 15.0 to FreeBSD 15.1
        • Choose packages, ports, or poudriere
        • Choose the quarterly or latest package branch
        • Choose a FreeBSD download or package mirror
        • Make a system setting persistent
        • Configure locale, keyboard, and time zone
        • Configure a serial console for recovery
        • Choose a custom kernel, module, or loader setting
        • Run a Linux binary with the compatibility layer
        • Check desktop and laptop hardware before installation
        • Choose and check a graphics driver
        • Choose Xorg or Wayland
        • Build a maintainable desktop baseline
        • Install and check a desktop browser
        • Check laptop Wi-Fi, power, and suspend
        • Check multimedia readiness
        • Choose and configure a printing stack
        • Run Windows applications with Wine
        • Snapshot and replicate a ZFS dataset
        • Choose a filesystem and storage layout
        • Operate ZFS without losing the recovery path
        • Restore files from a ZFS snapshot
        • Read ZFS pool health and run a scrub
        • Replace a failed device in a ZFS mirror
        • Replicate a ZFS dataset over SSH
        • Change PF safely on a remote host
        • Configure a narrow WireGuard tunnel
        • Plan a FreeBSD home server
        • Choose a mail server or an outgoing relay
        • Publish a network service safely
        • Choose a jail network model
        • Choose native jails or a jail manager
        • Choose a jail or a bhyve virtual machine
        • Establish a FreeBSD security baseline
        • Choose a MAC policy
        • Audit security-relevant activity
        • Start a DTrace performance investigation
    • Integrations
        • Create a first jail with Bastille
        • Compare jail managers and OCI tooling
        • Publish a Bastille service through PF
        • Mount a ZFS dataset in a Bastille jail
        • Update and upgrade Bastille jails
        • Back up and restore a Bastille jail
        • Prepare bhyve and vm-bhyve
        • Choose NFS or Samba for file sharing
        • Choose ZFS backup automation
        • Operate a signed poudriere repository
        • Manage FreeBSD configuration with Ansible or Salt
        • Run Motion with webcamd on FreeBSD
        • Design a reverse proxy, certificates, and monitoring
    • FAQ
    • Troubleshooting
        • Recover an interrupted freebsd-update run
        • Resolve a package repository or ABI mismatch
        • Diagnose the FreeBSD boot path
        • Recover with a ZFS boot environment
        • Diagnose DNS, routing, and firewall paths
        • Diagnose network mbuf exhaustion
        • Bind a service to a low port without running it as root
        • Diagnose audio output or input
        • Diagnose webcamd, cuse, and a webcam
        • Fix USB device permissions without opening every device
    • About this handbook
    • Synopsis
    • Select a supported release
    • Inventory the hardware
    • Test the workload, not only boot
    • Identify every disk by more than position
    • Decide the storage boundary
    • Prepare recovery access
    • Primary references

    Check a system before installing FreeBSD

    Last reviewed
    13 August 2026
    Applies to
    15.1-RELEASE, 15.0-RELEASE, 14.4-RELEASE

    Synopsis #

    The installer can partition disks and install a working base system, but it cannot decide whether the hardware, applications, recovery access, and storage plan fit the intended workload. A useful preflight check resolves those questions before any disk is modified.

    This guide does not repeat the installer screens. It establishes the evidence needed to choose an image, recognize unsupported hardware, preserve existing data, and recover if networking or boot fails after installation.

    Select a supported release #

    Begin with Supported FreeBSD releases , whose dates are maintained from the official support table . A supported release receives applicable security advisories and errata. Development snapshots and release candidates serve different purposes and should not be selected as a shortcut to newer hardware support on a system that needs predictable maintenance.

    Read all three documents for the intended release:

    • release notes describe important changes;
    • hardware notes identify supported architectures and devices;
    • errata records late-breaking problems and workarounds.

    For 15.1-RELEASE, these are the release notes , hardware notes , and errata .

    Inventory the hardware #

    Record the exact controller and device identities rather than the product model alone. A laptop name such as “ThinkPad” does not identify its Wi-Fi, graphics, audio, or storage controller.

    From an existing BSD or Linux installation, save equivalent information for:

    • CPU architecture and firmware mode;
    • storage controllers and target disks;
    • Ethernet and Wi-Fi chipsets;
    • graphics adapter and display outputs;
    • audio, webcam, Bluetooth, and other required peripherals.

    When FreeBSD can be booted without installing, inspect its view of the system:

    $ uname -m
    $ pciconf -lv
    $ usbconfig list
    $ ifconfig -l
    $ sysctl hw.model hw.physmem
    

    Search the installed manual pages for driver names reported by pciconf. The absence of a device from ifconfig -l or mixer tools is evidence to investigate, not proof that a configuration file is missing.

    For a desktop or laptop, continue with the hardware preflight , which separates live-environment evidence from the package-based graphics, browser, and desktop checks that require an installed test system.

    Test the workload, not only boot #

    A successful installer boot proves little about a daily workload. Test the facilities that would make the installation unusable if absent:

    1. Bring up the required network path.
    2. Confirm that the storage controller and every intended disk appear.
    3. Check graphics modes and console access.
    4. Exercise required USB, audio, and input devices where the live environment permits it.
    5. Verify that critical applications exist as FreeBSD packages or have a documented alternative.

    Containers that require Linux cgroups or namespaces do not become native FreeBSD workloads through the Linux binary compatibility layer. Decide whether a jail, bhyve virtual machine, remote service, or different host is required before replacing an existing development environment.

    Identify every disk by more than position #

    Record device size, model, serial number, and existing partition table:

    # camcontrol devlist
    # geom disk list
    # gpart show
    

    Device names can change when controllers or USB devices are added. Match the intended installation target by several attributes. Disconnecting unrelated removable or backup disks during installation reduces ambiguity.

    Back up important data to another system or removable device and perform a restore check. A backup that has not been read does not justify repartitioning its source.

    Decide the storage boundary #

    Before starting bsdinstall, decide:

    • whether the host will use ZFS or UFS;
    • which data needs separate datasets or file systems;
    • whether full-disk encryption is required;
    • where swap belongs;
    • where independent backups will be stored;
    • whether dual boot or existing partitions must be preserved.

    The storage-layout guide provides a decision framework. Automatic ZFS partitioning is suitable for many dedicated systems, but it should not replace an explicit decision when other operating systems or existing data share the disks.

    Prepare recovery access #

    Keep the installer media until the new system has booted, updated, and passed its workload checks. A remote server also needs an out-of-band console, a tested provider console, or a proven serial-console recovery path before firewall, network, loader, or upgrade changes are made. When ZFS boot environments are available, record the boot-environment recovery path before the first risky system change.

    Record the following outside the machine being installed:

    • firmware and boot-menu access;
    • network addressing, VLAN, DNS, and gateway information;
    • encryption recovery material;
    • pool and dataset names;
    • the location of backups and the first restore step.

    The boot-path diagnostic guide records the evidence that distinguishes firmware, loader, kernel, root-filesystem, and service failures.

    Primary references #

    • FreeBSD Handbook: Installing FreeBSD
    • FreeBSD release information
    • FreeBSD supported releases
    • pciconf(8)
    • usbconfig(8)
    • geom(8)
    • gpart(8)

    Independent documentation. Not affiliated with or endorsed by the FreeBSD Project or the FreeBSD Foundation.

    Report a bug
    • Synopsis
    • Select a supported release
    • Inventory the hardware
    • Test the workload, not only boot
    • Identify every disk by more than position
    • Decide the storage boundary
    • Prepare recovery access
    • Primary references