www/arm64.html

271 lines
10 KiB
HTML

<!doctype html>
<html lang=en id=platform>
<meta charset=utf-8>
<title>OpenBSD/arm64</title>
<meta name="description" content="the OpenBSD/arm64 page">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/arm64.html">
<h2 id=OpenBSD>
<a href="index.html">
<i>Open</i><b>BSD</b></a>
arm64
</h2>
<hr>
<table><tr><td>
<p>
OpenBSD/arm64 is a port of OpenBSD to various 64-bit ARM based systems.
<p>
A mailing list for ARM-based ports is available at
<a href="mailto:arm@openbsd.org">arm@openbsd.org</a>.
To join the OpenBSD/arm mailing list, send a message body of
<b>"subscribe arm"</b> to
<a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a>.
Please be sure to check our <a href="mail.html">mailing list policy</a> before
subscribing.
</table>
<hr>
<h3 id="status"><strong>Current status</strong></h3>
<p>
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.
<p>
The install media includes firmware required to boot the
Raspberry Pi 3 and Raspberry Pi 4.
<p>
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:
<pre class="cmdbox">
Hit any key to stop autoboot: 0
U-Boot&gt; setenv boot_targets usb0 mmc0 pxe dhcp
U-Boot&gt; saveenv
U-Boot&gt; boot
</pre>
<p>
Some Raspberry Pi models that do not work with the included U-Boot
(e.g. Raspberry Pi 400) can instead be booted using
<a href="https://github.com/pftf/RPi4">EDK2-based UEFI firmware</a>.
The simplest way to use this is to install the firmware on an SD
card and install the OS on USB.
<p>
Apple systems need to have a UEFI environment installed before
OpenBSD can be booted. This can be done by running the
<a href="https://asahilinux.org/2022/03/asahi-linux-alpha-release">
Asahi Linux installer</a>. Afterwards you can boot the installer from
a USB device connected to one of the type-C USB ports on the machine.
<p>
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.
<p>
Most other machines load their firmware from the boot media and
require additional steps to create bootable install media. See the
<a href="https://ftp.openbsd.org/pub/OpenBSD/snapshots/arm64/INSTALL.arm64">
OpenBSD/arm64 snapshot installation instructions</a> for further details.
<h3 id="hardware"><strong>Supported hardware</strong></h3>
<p>
OpenBSD/arm64 runs on the following hardware:
<ul>
<li>Allwinner A64/H5/H6
<ul>
<li>Pine64 Pine 64/64+
<li><a href="https://www.pine64.org/pine-h64-ver-b/">Pine64 H64</a>
<li><a href="https://www.pine64.org/pinebook/">Pine64 Pinebook</a>
<li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_A64">NanoPi A64</a>
<li><a href="http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-PC-2.html">Orange Pi PC2</a>
<li><a href="http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus.html">Orange Pi Zero Plus</a>
</ul>
<li>AMD Opteron A1100 (Seattle)
<ul>
<li>AMD Seattle Development Board
<li>SoftIron OverDrive 1000
<li>SoftIron OverDrive 3000
</ul>
<li>Amlogic G12B/SM1
<ul>
<li><a href="https://wiki.banana-pi.org/Banana_Pi_BPI-M5">Banana Pi BPI-M5</a>
<li><a href="https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram/">Hardkernel ODROID-N2</a>
<li><a href="https://www.hardkernel.com/shop/odroid-c4/">Hardkernel ODROID-C4</a>
<li><a href="https://www.hardkernel.com/shop/odroid-hc4/">Hardkernel ODROID-HC4</a>
</ul>
<li>Ampere eMAG
<ul>
<li>Lenovo ThinkSystem HR330A
<li>Lenovo ThinkSystem HR350A
</ul>
<li>Ampere Altra
<ul>
<li>GIGABYTE R152-P30/31/32
<li>GIGABYTE E252-P30/31
<li>GIGABYTE R272-P30/31/32/33
</ul>
<li>Apple M1/M2
<ul>
<li>Apple Mac mini (M1, 2020)
<li>Apple MacBook Air (M1, 2020)
<li>Apple MacBook Pro (13-inch, M1, 2020)
<li>Apple iMac (24-inch, M1, 2021)
<li>Apple MacBook Pro (14-inch, M1 Pro/Max, 2021)
<li>Apple MacBook Pro (16-inch, M1 Pro/Max, 2021)
<li>Apple Studio (M1 Max/Ultra, 2022)
<li>Apple MacBook Air (M2, 2022)
<li>Apple MacBook Pro (13-inch, M2, 2022)
</ul>
<li>Broadcom BCM2837/BCM2711
<ul>
<li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b/">Raspberry Pi 3</a>
<li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/">Raspberry Pi 3 Model B+</a>
<li><a href="https://www.raspberrypi.org/products/raspberry-pi-4-model-b/specifications/">Raspberry Pi 4</a>
<li><a href="https://www.raspberrypi.org/products/raspberry-pi-400-unit/">Raspberry Pi 400</a>
<li><a href="https://www.raspberrypi.com/products/compute-module-4/">Raspberry Pi Compute Module 4</a>
</ul>
<li>Marvell ARMADA 3K
<ul>
<li><a href="https://www.turris.com/en/mox/">Turris MOX</a>
<li><a href="https://espressobin.net/">Marvell ESPRESSObin</a>
<li><a href="https://www.gl-inet.com/products/gl-mv1000/">GL.iNet Brume</a>
</ul>
<li>Marvell ARMADA 7K/8K
<ul>
<li><a href="https://www.solid-run.com/marvell-armada-family/macchiatobin/">SolidRun/Marvell MACCHIATObin</a>
</ul>
<li>Qualcomm Snapdragon 7cx (SC7180/SC7180P)
<ul>
<li>Acer Aspire One</a>
</ul>
<li>Qualcomm Snapdragon 8cx Gen 3 (SC8280XP)
<ul>
<li>Lenovo ThinkPad X13s Gen 1</a>
</ul>
<li>Rockchip RK3328/RK3399(pro)
<ul>
<li><a href="https://www.pine64.org/devices/single-board-computers/rock64/">Pine64 ROCK64</a>
<li><a href="https://www.pine64.org/rockpro64/">Pine64 ROCKPro64</a>
<li><a href="https://www.pine64.org/pinebook-pro/">Pinebook Pro</a>
<li><a href="https://en.t-firefly.com/product/rk3399.html">Firefly-RK3399</a>
<li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T4">FriendlyElec NanoPC-T4</a>
<li><a href="https://www.theobroma-systems.com/som-product/rk3399-q7/">Theobroma Systems RK3399-Q7</a>
<li><a href="https://wiki.radxa.com/RockpiN10">Radxa Rock Pi N10</a>
</ul>
<li>Rockchip RK3566/RK3568
<ul>
<li><a href="https://www.pine64.org/quartz64a/">Pine64 Quartz64 Model A</a>
<li><a href="https://www.pine64.org/quartz64b/">Pine64 Quartz64 Model B</a>
<li><a href="https://en.t-firefly.com/product/industry/rocrk3566pc.html">ROC-RK3566-PC</a>
<li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5S">NanoPi R5S</a>
</ul>
<li>Socionext SC2A11
<ul>
<li><a href="https://www.socionext.com/en/products/assp/SynQuacer/Edge/">Socionext SynQuacer-E Developerbox</a>
</ul>
</ul>
<p>
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.
<h4>Ethernet</h4>
<ul>
<li><a href="https://man.openbsd.org/arm64/bse.4">bse(4)</a>
integrated Broadcom GENET 10/100/Gigabit Ethernet on Raspberry Pi 4
<li><a href="https://man.openbsd.org/arm64/dwge.4">dwge(4)</a>
integrated Synopsys DesignWare GMAC 10/100/Gigabit Ethernet on Rockchip RK3399
<li><a href="https://man.openbsd.org/arm64/dwxe.4">dwxe(4)</a>
integrated Allwinner EMAC 10/100/Gigabit Ethernet on Allwinner A64/H5/H6
<li><a href="https://man.openbsd.org/arm64/msk.4">msk(4)</a>
integrated Marvell Yukon-2 10/100/Gigabit Ethernet on OverDrive 1000
<li><a href="https://man.openbsd.org/arm64/mue.4">mue(4)</a>
integrated Microchip LAN75xx/LAN78xx 10/100/Gigabit USB Ethernet on Raspberry Pi 3 Model B+
<li><a href="https://man.openbsd.org/arm64/mvneta.4">mvneta(4)</a>
integrated Marvell ARMADA Ethernet on Marvell ARMADA 3K
<li><a href="https://man.openbsd.org/arm64/smsc.4">smsc(4)</a>
integrated SMSC LAN95xx 10/100 USB Ethernet on Raspberry Pi 3
</ul>
<h4>802.11 wireless</h4>
<ul>
<li><a href="https://man.openbsd.org/arm64/bwfm.4">bwfm(4)</a>
on Raspberry Pi 3/4/400, Pinebook Pro, and Apple M1/M2
</ul>
<h4>Storage</h4>
<ul>
<li><a href="https://man.openbsd.org/arm64/ahci.4">ahci(4)</a>
on AMD Opteron A1100, Ampere eMAG, Marvell 7K/8K and SynQuacer-E
<li><a href="https://man.openbsd.org/arm64/bcmsdhost.4">bcmsdhost(4)</a>
on Raspberry Pi 3
<li><a href="https://man.openbsd.org/arm64/dwmmc.4">dwmmc(4)</a>
on Rockchip RK3328/RK3399/RK356x
<li><a href="https://man.openbsd.org/arm64/rkpcie.4">rkpcie(4)</a>
on Rockchip RK3399
<li><a href="https://man.openbsd.org/arm64/sdhc.4">sdhc(4)</a>
on Marvell ARMADA 3K/7K/8K, Rockchip RK3399 and Raspberry Pi 4
<li><a href="https://man.openbsd.org/arm64/sximmc.4">sximmc(4)</a>
on Allwinner A64/H5/H6
</ul>
<h4>USB</h4>
<ul>
<li><a href="https://man.openbsd.org/arm64/dwctwo.4">dwctwo(4)</a>
on Raspberry Pi 3
<li><a href="https://man.openbsd.org/arm64/ehci.4">ehci(4)</a>
on Allwinner A64/H5/H6 and Rockchip RK3328/RK3399/RK356x
<li><a href="https://man.openbsd.org/arm64/xhci.4">xhci(4)</a>
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
</ul>
<strong>No real time clock:</strong> Many of the arm64 devices do not have a
battery-backed real time clock, but <a href="https://man.openbsd.org/ntpd">ntpd(8)</a>
should be able to compensate.
<h3 id="install">
<strong>Getting and installing OpenBSD/arm64:</strong>
</h3>
<p>
The latest supported OpenBSD/arm64 release is
<a href="73.html">OpenBSD 7.3</a>.
Here are the
<a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/arm64/INSTALL.arm64">
OpenBSD/arm64 installation instructions</a>.
<p>
Snapshots are made available from time to time, in
<a href="https://cdn.openbsd.org/pub/OpenBSD/snapshots/arm64">this location</a>
as well as on a few
<a href="ftp.html">mirrors</a>.
Here are the
<a href="https://ftp.openbsd.org/pub/OpenBSD/snapshots/arm64/INSTALL.arm64">
OpenBSD/arm64 snapshot installation instructions</a> as well.