OpenBSD Handbook

    Theme
    • Part I. Install & Configure
      • Introduction to OpenBSD
      • Installing OpenBSD
      • The X Window System
      • Networking on OpenBSD
      • System Configuration
      • OpenBSD Basics
      • Managing Software: Packages and Ports
    • Part II. Daily Operations
      • OpenBSD Desktop Environments
      • Multimedia
      • Printing
      • Linux Compatibility
      • Windows Compatibility
      • Games
    • Part III. System Administration
      • Virtualization
      • Storage and File Systems
      • Updating and Upgrading
      • Localization
      • The OpenBSD Boot Process
      • Security
    • Part IV. Networking & Daemons
      • Services
        • Database
          • MariaDB
          • PostgreSQL
          • Redis
          • memcached
        • Directory
          • YP (NIS)
          • LDAP
        • File
          • NFS
          • Samba
        • FTP Services
          • ftpd
          • ProFTPD
          • vsftpd
          • Pure-FTPd
          • TFTP
        • Mail
          • OpenSMTPD Mail Server
          • Dovecot IMAP and POP3 Server
          • Postfix
          • Exim
          • Rspamd
        • Name
          • Unbound DNS Resolver
          • NSD Authoritative DNS Server
          • BIND DNS Server
        • Networking
          • OpenBGPD
          • rad
          • DHCP on OpenBSD
          • slaacd
        • Web
          • Apache HTTP Server
          • nginx Web Server
          • OpenBSD httpd Web Server
          • relayd Reverse Proxy
        • Logging
          • syslogd
        • Monitoring
          • SNMP
        • Remote Access
          • Audit OpenSSH
          • OpenSSH Server
        • File Synchronization
          • rsync
        • Messaging
          • RabbitMQ Message Broker
        • Time
          • NTP Time Synchronization
        • Load Balancing
          • Build Redundant Load-Balanced Gateways
          • Load Balance Services with NAT or DSR
          • Build an HA HTTPS Load Balancer
      • PF
        • pfctl cheat sheet
        • PF Anchors
        • PF Filter Rules
        • PF Forwarding
        • PF Lists and Macros
        • PF Load Balancing
        • PF Logging
        • PF NAT
        • PF Options
        • PF Policies
        • PF Shortcuts
        • PF Tables
      • Advanced Networking
        • High Availability and State Replication
        • Multi-WAN and Policy-Based Routing
        • VPN and Cryptographic Tunneling
        • Classic and Lightweight Tunnels
        • IPv6 at Scale
        • QoS and Traffic Shaping
        • MPLS and Label Distribution
        • Network Services at Scale
        • Virtualization and Host Networking
        • Large-Scale L2 and L3 Design
        • Telemetry, Logging, and Flow Export
        • Hardening and Operational Safety
        • Reference Architectures
        • Troubleshooting Playbooks
      • Serial Communication
    • Part V. Miscellaneous
      • Virtualization Cheat Sheet
      • OpenBSD Cheatsheet
      • How-to Guides
        • Installation and First Boot
          • Complete the First 30 Minutes After Installation
          • Check Hardware Compatibility Before Installing
          • Bootstrap Wi-Fi Firmware Without Ethernet
          • Run OpenBSD as a Virtual Machine Guest
          • Install OpenBSD on a VPS or Cloud Server
          • Install OpenBSD with Full-Disk Encryption
          • Dual-Boot OpenBSD on a UEFI System
          • Automate OpenBSD Installation with Autoinstall and PXE
        • Desktops and Laptops
          • Set Up OpenBSD as a Laptop or Workstation
          • Configure Laptop Power Management
          • Troubleshoot Web Browsers on OpenBSD
          • Use Plan 9 Tools on OpenBSD
          • Build a Minimal Desktop with suckless Tools
          • Install Z shell (zsh)
        • Networking and Remote Access
          • Create an Administrator Account with doas and SSH Keys
          • Configure Secure Remote Access with OpenSSH
          • Use FIDO Security Keys with OpenSSH
          • Configure Wi-Fi Roaming and Wired Failover
          • Troubleshoot PF, NAT, and Routing
          • Route Multiple VLANs with PF
          • Configure a Road-Warrior WireGuard VPN
          • Route IPv6 Networks without NAT
          • Test OpenBGPD with Two Providers
          • Unlock an Internal Service with an SSH Key
          • Build a Simple Router and Firewall
        • Servers and Services
          • Set Up WordPress on OpenBSD
          • Build a Mail Server with OpenSMTPD, Dovecot, and Rspamd
        • Security, Maintenance and Recovery
          • Establish a Conservative Security Baseline
          • Recover Access and Reset the Root Password
          • Collect OpenBSD Diagnostic Evidence
          • Troubleshoot Package Installation and Update Failures
          • Schedule Recurring Maintenance
          • Monitor an OpenBSD System
          • Back Up and Restore an OpenBSD System
          • Configure softraid RAID1
          • Recover an OpenBSD System That Does Not Boot
        • Building, Automation and Virtual Machines
          • Manage OpenBSD with Ansible
          • Build Third-Party Software from Ports
          • Build OpenBSD from Source
          • Plan a Docker Workload Migration to OpenBSD
      • OpenBSD for Linux Users
      • OpenBSD for FreeBSD Users
      • OpenBSD for macOS Users
    • OpenBSD FAQ
    • OpenBSD Architectures
      • OpenBSD Package Search
        • Synopsis
        • Identify the Required Architecture
        • Match Devices to OpenBSD Drivers
        • Compare Complete Kernel Messages
        • Boot Current Installation Media
        • Evaluate Network and Firmware Requirements
        • Decide Whether the System Is Suitable

        Check Hardware Compatibility Before Installing

        Synopsis #

        OpenBSD hardware support is determined by the exact processor architecture and device interfaces, not by a computer’s marketing name. A useful compatibility check therefore identifies the architecture and device controllers, confirms the relevant OpenBSD drivers, boots current installation media, and preserves the resulting kernel messages.

        No compatibility list can guarantee that every function of a system will work. Graphics acceleration, wireless networking, audio, suspend and resume, brightness controls, and external displays must be evaluated separately.

        Identify the Required Architecture #

        Start with the OpenBSD platform list . Confirm that the processor architecture is supported and read the matching installation notes. A machine advertised as ARM, for example, is not automatically supported merely because OpenBSD supports the arm64 architecture. Board firmware, interrupt controllers, storage, and other platform components must also be supported.

        OpenBSD 8.0 retires the loongson platform. An existing installation on that platform cannot follow the normal upgrade path to 8.0; plan continued operation or migration separately from supported-platform upgrades.

        For an existing Unix-like system, record the processor and attached PCI and USB devices with the host system’s native inventory tools. Record numeric vendor and product IDs where possible. Marketing names are often reused for different chipsets.

        Match Devices to OpenBSD Drivers #

        OpenBSD manual pages in section 4 document supported hardware interfaces. Search the Handbook manual-page service for the controller or chipset, then inspect the driver’s HARDWARE section when present.

        The most important device classes are:

        • storage controllers and the boot disk;
        • wired and wireless network interfaces;
        • graphics hardware and display outputs;
        • keyboard, touchpad, and other input devices;
        • audio controllers;
        • suspend, resume, battery, and backlight interfaces;
        • USB controllers and required peripherals.

        A device that requires downloadable firmware still needs a kernel driver. Firmware can complete support for an attached driver, but it cannot add a missing driver.

        Compare Complete Kernel Messages #

        The kernel records detected hardware in the boot-time message buffer. On OpenBSD, dmesg(8) displays this information.

        Installer root shell:

        dmesg > dmesg.txt
        

        Search current, complete dmesg reports from the same or closely related hardware in the NYC*BUG dmesgd archive . Treat an archived report as evidence for the listed OpenBSD release and exact devices, not as a permanent certification of the product family.

        The following distinctions are important:

        • A device attached to a named driver has at least kernel-level recognition.
        • A device reported as not configured has no attached driver in that kernel.
        • The absence of an error line does not prove that higher-level functions such as suspend or accelerated graphics work.
        • A report from an older release may not describe the current release.

        Boot Current Installation Media #

        The most reliable pre-installation test is to boot current, verified installation media without modifying the internal disk. The installer runs from the bsd.rd ramdisk kernel and provides a shell.

        At the installer prompt, enter S for a shell. Record the complete kernel messages and inspect the detected interfaces.

        dmesg
        doas ifconfig
        doas sysctl hw.sensors
        

        The installation chapter describes verified media creation. Do not start disk partitioning merely to test hardware recognition.

        Evaluate Network and Firmware Requirements #

        Use ifconfig(8) to identify attached network interfaces. If the wireless driver requires firmware that is not present on the install media, plan one of these bootstrap paths:

        • temporary wired Ethernet;
        • a supported USB Ethernet adapter;
        • firmware copied to removable media from another computer;
        • a prepared install image containing the required firmware for the installed system.

        The detailed offline procedure is described in Bootstrap Wi-Fi Firmware Without Ethernet .

        Decide Whether the System Is Suitable #

        Classify each required function as confirmed, unconfirmed, or unsupported. Installation should proceed only when unsupported items are either nonessential or have a tested replacement.

        For a server, storage, console, and networking may be sufficient. A laptop normally also requires usable graphics, input, wireless networking, audio, battery reporting, and acceptable suspend and resume behavior. A workstation may require particular display outputs or acceleration that a simple installer boot cannot validate.

        Preserve the hardware inventory, installation-media version, and dmesg with the installation notes. These records make later regressions and support requests reproducible.

        Report a bug
        • Synopsis
        • Identify the Required Architecture
        • Match Devices to OpenBSD Drivers
        • Compare Complete Kernel Messages
        • Boot Current Installation Media
        • Evaluate Network and Firmware Requirements
        • Decide Whether the System Is Suitable