OpenBSD arm64


OpenBSD/arm64 is a port of OpenBSD to various 64-bit ARM based systems.

A mailing list for ARM-based ports is available at [email protected]. To join the OpenBSD/arm mailing list, send a message body of "subscribe arm" to [email protected]. Please be sure to check our mailing list policy before subscribing.


Current status

The current target platforms are Allwinner A64/H5/H6, Amlogic G12B/SM1, AMD Opteron A1100, Ampere eMAG/Altra, Apple M1/M2, Marvell ARMADA 3K/7K/8K, Rockchip RK3328/RK3399/RK356x, Broadcom BCM2837/BCM2711 (Raspberry Pi 3/4) Qualcomm Snapdragon 7x/8x and Socionext SCA11.

The install media includes firmware required to boot the Raspberry Pi 3 and Raspberry Pi 4.

The Raspberry Pi boards require closed but redistributable files on the system disk to load into the VC4 GPU which starts the ARM cores. By default the boot ROM on Raspberry Pi 3 and older versions on Raspberry Pi 4 will only try to load these files off an SD card. To load the firmware off the SD card and have the root disk on USB after installing OpenBSD, reboot and interrupt U-Boot before the timeout expires and instruct U-Boot to prefer USB over the SD card:

Hit any key to stop autoboot:  0
U-Boot> setenv boot_targets usb0 mmc0 pxe dhcp
U-Boot> saveenv
U-Boot> boot

Some Raspberry Pi models that do not work with the included U-Boot (e.g. Raspberry Pi 400) can instead be booted using EDK2-based UEFI firmware. The simplest way to use this is to install the firmware on an SD card and install the OS on USB.

Apple systems need to have a UEFI environment installed before OpenBSD can be booted. This can be done by running the Asahi Linux installer. Afterwards you can boot the installer from a USB device connected to one of the type-C USB ports on the machine.

Ampere eMAG, Ampere Altra and AMD Opteron systems come with a UEFI firmware in ROM and can boot off SATA or USB devices without board specific boot files on the system disk.

Most other machines load their firmware from the boot media and require additional steps to create bootable install media. See the OpenBSD/arm64 snapshot installation instructions for further details.

Supported hardware

OpenBSD/arm64 runs on the following hardware:

In general, other boards/machines that use one of the SoCs listed above will work as well, as long as UEFI firmware (e.g. U-Boot or EDK II firmware) is available. Both device trees and ACPI are supported. An updated device tree may have to be supplied to make OpenBSD usable.

Ethernet

802.11 wireless

Storage

USB

No real time clock: Many of the arm64 devices do not have a battery-backed real time clock, but ntpd(8) should be able to compensate.

Getting and installing OpenBSD/arm64:

The latest supported OpenBSD/arm64 release is OpenBSD 7.5. Here are the OpenBSD/arm64 installation instructions.

Snapshots are made available from time to time, in this location as well as on a few mirrors. Here are the OpenBSD/arm64 snapshot installation instructions as well.