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/H6/H616, 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 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:
- Allwinner A64/H5/H6/H616
- AMD Opteron A1100 (Seattle)
- AMD Seattle Development Board
- SoftIron OverDrive 1000
- SoftIron OverDrive 3000
- Amlogic G12B/SM1
- Ampere eMAG
- Lenovo ThinkSystem HR330A
- Lenovo ThinkSystem HR350A
- Ampere Altra
- GIGABYTE R152-P30/31/32
- GIGABYTE E252-P30/31
- GIGABYTE R272-P30/31/32/33
- Apple M1/M2
- Apple Mac mini (M1, 2020)
- Apple MacBook Air (M1, 2020)
- Apple MacBook Pro (13-inch, M1, 2020)
- Apple iMac (24-inch, M1, 2021)
- Apple MacBook Pro (14-inch, M1 Pro/Max, 2021)
- Apple MacBook Pro (16-inch, M1 Pro/Max, 2021)
- Apple Mac Studio (M1 Max/Ultra, 2022)
- Apple Mac mini (M2, 2023)
- Apple MacBook Air (13-inch, M2, 2022)
- Apple MacBook Pro (13-inch, M2, 2022)
- Apple MacBook Air (15-inch, M2, 2023)
- Apple Mac mini (M2 Pro, 2023)
- Apple MacBook Pro (14-inch, M2 Pro/Max, 2023)
- Apple MacBook Pro (16-inch, M2 Pro/Max, 2023)
- Apple Mac Studio (M2 Max/Ultra, 2023)
- Broadcom BCM2837/BCM2711
- Cix CD8180
- Marvell ARMADA 3K
- Marvell ARMADA 7K/8K
- NXP i.MX 8M Quad/Mini/Plus
- Qualcomm Snapdragon 7cx (SC7180/SC7180P)
- Qualcomm Snapdragon 8cx Gen 3 (SC8280XP)
- Lenovo ThinkPad X13s Gen 1
- Microsoft Windows Dev Kit 2023
- Qualcomm Snapdragon X Elite (X1E80100)
- ASUS Vivobook S 15 (*)
- HONOR MagicBook Art 14 Snapdragon (*)
- HP OmniBook X 14 (*)
- Lenovo Yoga Slim 7x (*)
- Lenovo Thinkpad T14s Gen 6 (*)
- Samsung Galaxy Book4 Edge (*)
- Rockchip RK3328/RK3399(pro)
- Rockchip RK3566/RK3568
- Rockchip RK3588
- Socionext SC2A11
(*) Support added after OpenBSD 7.6 was released
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/H6/H616
- msk(4)
integrated Marvell Yukon-2 10/100/Gigabit Ethernet on OverDrive 1000
- mue(4)
integrated Microchip LAN75xx/LAN78xx 10/100/Gigabit USB Ethernet on Raspberry Pi 3 Model B+
- mvneta(4)
integrated Marvell ARMADA Ethernet on Marvell ARMADA 3K
- smsc(4)
integrated SMSC LAN95xx 10/100 USB Ethernet on Raspberry Pi 3
802.11 wireless
- bwfm(4)
on Raspberry Pi 3/4/400, Pinebook Pro, and Apple M1/M2
- qwx(4)
on Lenovo ThinkPad X13s
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/RK356x
- rkpcie(4)
on Rockchip RK3399
- sdhc(4)
on Marvell ARMADA 3K/7K/8K, Rockchip RK3399 and Raspberry Pi 4
- sximmc(4)
on Allwinner A64/H5/H6/H616
USB
- dwctwo(4)
on Raspberry Pi 3
- ehci(4)
on Allwinner A64/H5/H6/H616 and Rockchip RK3328/RK3399/RK356x
- xhci(4)
on Amlogic G12A/B, Ampere eMAG, Apple M1/M2, Marvell ARMADA
3K/7K/8K, Overdrive 1000, Raspberry Pi 4, Qualcomm
SC7180/SC7180P/SC8280XP, Rockchip RK3399/RK356x and
SynQuacer-E
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.6.
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.