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 arm@openbsd.org. To join the OpenBSD/arm mailing list, send a message body of "subscribe arm" to majordomo@openbsd.org. Please be sure to check our mailing list policy before subscribing.

Current status

The current target platforms are Allwinner A64/H5, Amlogic G12A/B, AMD Opteron A1100, Ampere eMAG, Marvell ARMADA 7K/8K, Rockchip RK3328/RK3399, Broadcom BCM2837/BCM2711 (Raspberry Pi 3/4) and Socionext SCA11.

The install media includes firmware required to boot the Pine 64/64+ and Raspberry Pi 3.

The Raspberry Pi 3 requires closed but redistributable files on the system disk to load into the VC4 GPU which starts the ARM cores. By default the boot ROM 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

The Raspberry Pi 4 is only supported when using EDK2-based UEFI firmware. By default the boot ROM will only try to load the firmware off an SD card. There is no SD/MMC driver yet, but there are no manual steps needed to boot from a USB disk drive.

Ampere eMAG 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:

Allwinner A64/H5 Pine64 Pine 64/64+ Pine64 Pinebook NanoPi A64 Orange Pi PC2

AMD Opteron A1100 (Seattle) AMD Seattle Development Board SoftIron OverDrive 1000 SoftIron OverDrive 3000

Amlogic G12A/B Hardkernel ODROID-N2

Ampere eMAG Lenovo ThinkSystem HR330A Lenovo ThinkSystem HR350A

Broadcom BCM2837/BCM2711 Raspberry Pi 3 Raspberry Pi 4

Marvell ARMADA 7K/8K SolidRun/Marvell MACCHIATObin

Rockchip RK3328/RK3399 Pine64 ROCK64 Pine64 ROCKPro64 Pinebook Pro Firefly-RK3399 FriendlyElec NanoPC-T4 Theobroma Systems RK3399-Q7

Socionext SC2A11 Socionext SynQuacer-E Developerbox



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

bse(4) integrated Broadcom GENET 10/100/Gigabit Ethernet on Raspberry Pi 4

dwge(4) integrated Synopsys DesignWare GMAC 10/100/Gigabit Ethernet on Rockchip RK3399

dwxe(4) integrated Allwinner EMAC 10/100/Gigabit Ethernet on Allwinner A64/H5

msk(4) integrated Marvell Yukon-2 10/100/Gigabit Ethernet on OverDrive 1000

smsc(4) integrated SMSC LAN95xx 10/100 USB Ethernet on Raspberry Pi 3

802.11 wireless

bwfm(4) on Raspberry Pi 3 and Pinebook Pro

Storage

ahci(4) on AMD Opteron A1100, Ampere eMAG, Marvell 7K/8K and SynQuacer-E

bcmsdhost(4) on Raspberry Pi 3

dwmmc(4) on Rockchip RK3328/RK3399

sdhc(4) on Rockchip RK3399

sximmc(4) on Allwinner A64/H5

USB

dwctwo(4) on Raspberry Pi 3

ehci(4) on Allwinner A64/H5 and Rockchip RK3328/RK3399

xhci(4) on Amlogic G12A/B, Ampere eMAG, Overdrive 1000, Raspberry Pi 4, Rockchip RK3399 and SynQuacer-E

Getting and installing OpenBSD/arm64:

The latest supported OpenBSD/arm64 release is OpenBSD 6.7. 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.