[BACK]Return to arm64.html CVS log [TXT][DIR] Up to [local] / www

File: [local] / www / arm64.html (download) (as text)

Revision 1.38, Tue Dec 29 11:32:28 2020 UTC (3 years, 4 months ago) by kettenis
Branch: MAIN
Changes since 1.37: +8 -6 lines

We have SD card drivers for the rpi4 now.
Mention support for Amlogic SM1 SoCs.

<!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, Amlogic G12B/SM1,
AMD Opteron A1100, Ampere eMAG, Marvell ARMADA 7K/8K, Rockchip RK3328/RK3399,
Broadcom BCM2837/BCM2711 (Raspberry Pi 3/4) and Socionext SCA11.

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

<p>
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:

<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>
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.  No manual steps needed to boot from a USB disk drive
as the UEFI prefers booting from USB over booting from SD card.

<p>
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.

<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
	<ul>
		<li>Pine64 Pine 64/64+
		<li><a href="https://www.pine64.org/pinebook/">Pine64 Pinebook</a>
		<li><a href="https://wiki.friendlyarm.com/wiki/index.php/NanoPi_A64">NanoPi A64</a>
		<li><a href="http://www.orangepi.org/orangepipc2/">Orange Pi PC2</a>
		<li><a href="http://www.orangepi.org/OrangePiZeroPlus/">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://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>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-4-model-b/specifications/">Raspberry Pi 4</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>Rockchip RK3328/RK3399
	<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="http://wiki.friendlyarm.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>
	</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
	<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/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 and Pinebook Pro
</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
	<li><a href="https://man.openbsd.org/arm64/sdhc.4">sdhc(4)</a>
	  on Rockchip RK3399
	<li><a href="https://man.openbsd.org/arm64/sximmc.4">sximmc(4)</a>
	  on Allwinner A64/H5
</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 and Rockchip RK3328/RK3399
	<li><a href="https://man.openbsd.org/arm64/xhci.4">xhci(4)</a>
	  on Amlogic G12A/B, Ampere eMAG, Overdrive 1000, Raspberry Pi
	  4, Rockchip RK3399 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="68.html">OpenBSD 6.8</a>.
Here are the
<a href="https://ftp.openbsd.org/pub/OpenBSD/6.8/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.