Annotation of www/arm64.html, Revision 1.72
1.23 bentley 1: <!doctype html>
2: <html lang=en id=platform>
3: <meta charset=utf-8>
4:
1.1 patrick 5: <title>OpenBSD/arm64</title>
6: <meta name="description" content="the OpenBSD/arm64 page">
7: <meta name="viewport" content="width=device-width, initial-scale=1">
8: <link rel="stylesheet" type="text/css" href="openbsd.css">
9: <link rel="canonical" href="https://www.openbsd.org/arm64.html">
10:
11:
1.23 bentley 12: <h2 id=OpenBSD>
1.1 patrick 13: <a href="index.html">
1.23 bentley 14: <i>Open</i><b>BSD</b></a>
15: arm64
1.1 patrick 16: </h2>
17: <hr>
18:
1.23 bentley 19: <table><tr><td>
1.1 patrick 20: <p>
21: OpenBSD/arm64 is a port of OpenBSD to various 64-bit ARM based systems.
22:
1.3 tb 23: <p>
1.1 patrick 24: A mailing list for ARM-based ports is available at
1.23 bentley 25: <a href="mailto:arm@openbsd.org">arm@openbsd.org</a>.
1.1 patrick 26: To join the OpenBSD/arm mailing list, send a message body of
27: <b>"subscribe arm"</b> to
28: <a href="mailto:majordomo@openbsd.org">majordomo@openbsd.org</a>.
29: Please be sure to check our <a href="mail.html">mailing list policy</a> before
30: subscribing.
1.23 bentley 31: </table>
1.1 patrick 32:
33: <hr>
34:
1.23 bentley 35: <h3 id="status"><strong>Current status</strong></h3>
1.1 patrick 36:
37: <p>
1.57 kettenis 38: The current target platforms are Allwinner A64/H5/H6, Amlogic
1.62 kettenis 39: G12B/SM1, AMD Opteron A1100, Ampere eMAG/Altra, Apple M1/M2, Marvell
40: ARMADA 3K/7K/8K, Rockchip RK3328/RK3399/RK356x, Broadcom
41: BCM2837/BCM2711 (Raspberry Pi 3/4) Qualcomm Snapdragon 7x/8x and
42: Socionext SCA11.
1.1 patrick 43:
1.6 jsg 44: <p>
1.66 kn 45: The install media includes firmware required to boot the
1.40 sthen 46: Raspberry Pi 3 and Raspberry Pi 4.
1.6 jsg 47:
48: <p>
1.40 sthen 49: The Raspberry Pi boards require closed but redistributable files on the
50: system disk to load into the VC4 GPU which starts the ARM cores.
51: By default the boot ROM on Raspberry Pi 3 and older versions on
52: Raspberry Pi 4 will only try to load these files off an SD card.
1.33 jsg 53: To load the firmware off the SD card and have the root disk on USB after
1.40 sthen 54: installing OpenBSD, reboot and interrupt U-Boot before the timeout
1.7 jsg 55: expires and instruct U-Boot to prefer USB over the SD card:
56:
1.20 tj 57: <pre class="cmdbox">
1.7 jsg 58: Hit any key to stop autoboot: 0
59: U-Boot> setenv boot_targets usb0 mmc0 pxe dhcp
60: U-Boot> saveenv
61: U-Boot> boot
1.20 tj 62: </pre>
1.6 jsg 63:
64: <p>
1.40 sthen 65: Some Raspberry Pi models that do not work with the included U-Boot
66: (e.g. Raspberry Pi 400) can instead be booted using
67: <a href="https://github.com/pftf/RPi4">EDK2-based UEFI firmware</a>.
68: The simplest way to use this is to install the firmware on an SD
69: card and install the OS on USB.
1.30 kettenis 70:
71: <p>
1.50 tj 72: Apple systems need to have a UEFI environment installed before
73: OpenBSD can be booted. This can be done by running the
1.49 kettenis 74: <a href="https://asahilinux.org/2022/03/asahi-linux-alpha-release">
1.50 tj 75: Asahi Linux installer</a>. Afterwards you can boot the installer from
1.49 kettenis 76: a USB device connected to one of the type-C USB ports on the machine.
77:
78: <p>
1.62 kettenis 79: Ampere eMAG, Ampere Altra and AMD Opteron systems come with a UEFI
80: firmware in ROM and can boot off SATA or USB devices without board
81: specific boot files on the system disk.
1.12 kettenis 82:
1.6 jsg 83: <p>
1.25 kettenis 84: Most other machines load their firmware from the boot media and
85: require additional steps to create bootable install media. See the
1.21 tj 86: <a href="https://ftp.openbsd.org/pub/OpenBSD/snapshots/arm64/INSTALL.arm64">
1.12 kettenis 87: OpenBSD/arm64 snapshot installation instructions</a> for further details.
1.6 jsg 88:
1.23 bentley 89: <h3 id="hardware"><strong>Supported hardware</strong></h3>
1.1 patrick 90:
91: <p>
1.18 kettenis 92: OpenBSD/arm64 runs on the following hardware:
1.1 patrick 93:
94: <ul>
1.52 kevlo 95: <li>Allwinner A64/H5/H6
1.4 jsg 96: <ul>
1.18 kettenis 97: <li>Pine64 Pine 64/64+
1.52 kevlo 98: <li><a href="https://www.pine64.org/pine-h64-ver-b/">Pine64 H64</a>
1.36 sthen 99: <li><a href="https://www.pine64.org/pinebook/">Pine64 Pinebook</a>
1.60 millert 100: <li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_A64">NanoPi A64</a>
101: <li><a href="http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-PC-2.html">Orange Pi PC2</a>
102: <li><a href="http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus.html">Orange Pi Zero Plus</a>
1.4 jsg 103: </ul>
104: <li>AMD Opteron A1100 (Seattle)
105: <ul>
106: <li>AMD Seattle Development Board
1.5 jsg 107: <li>SoftIron OverDrive 1000
1.19 kettenis 108: <li>SoftIron OverDrive 3000
1.4 jsg 109: </ul>
1.38 kettenis 110: <li>Amlogic G12B/SM1
1.25 kettenis 111: <ul>
1.64 kettenis 112: <li><a href="https://wiki.banana-pi.org/Banana_Pi_BPI-M5">Banana Pi BPI-M5</a>
1.36 sthen 113: <li><a href="https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram/">Hardkernel ODROID-N2</a>
1.38 kettenis 114: <li><a href="https://www.hardkernel.com/shop/odroid-c4/">Hardkernel ODROID-C4</a>
115: <li><a href="https://www.hardkernel.com/shop/odroid-hc4/">Hardkernel ODROID-HC4</a>
1.25 kettenis 116: </ul>
117: <li>Ampere eMAG
118: <ul>
119: <li>Lenovo ThinkSystem HR330A
120: <li>Lenovo ThinkSystem HR350A
121: </ul>
1.55 kettenis 122: <li>Ampere Altra
123: <ul>
124: <li>GIGABYTE R152-P30/31/32
125: <li>GIGABYTE E252-P30/31
126: <li>GIGABYTE R272-P30/31/32/33
127: </ul>
1.57 kettenis 128: <li>Apple M1/M2
1.48 kettenis 129: <ul>
130: <li>Apple Mac mini (M1, 2020)
1.57 kettenis 131: <li>Apple MacBook Air (M1, 2020)
1.48 kettenis 132: <li>Apple MacBook Pro (13-inch, M1, 2020)
133: <li>Apple iMac (24-inch, M1, 2021)
134: <li>Apple MacBook Pro (14-inch, M1 Pro/Max, 2021)
135: <li>Apple MacBook Pro (16-inch, M1 Pro/Max, 2021)
1.56 kettenis 136: <li>Apple Studio (M1 Max/Ultra, 2022)
1.71 kettenis 137: <li>Apple Mac mini (M2, 2023)
1.69 kettenis 138: <li>Apple MacBook Air (13-inch, M2, 2022)
1.57 kettenis 139: <li>Apple MacBook Pro (13-inch, M2, 2022)
1.71 kettenis 140: <li>Apple MacBook Air (15-inch, M2, 2023)
141: <li>Apple Mac mini (M2 Pro, 2023)
1.69 kettenis 142: <li>Apple MacBook Pro (14-inch, M2 Pro/Max, 2023)
143: <li>Apple MacBook Pro (16-inch, M2 Pro/Max, 2023)
1.71 kettenis 144: <li>Apple Studio (M2 Max/Ultra, 2023)
1.48 kettenis 145: </ul>
1.30 kettenis 146: <li>Broadcom BCM2837/BCM2711
1.4 jsg 147: <ul>
1.36 sthen 148: <li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b/">Raspberry Pi 3</a>
1.40 sthen 149: <li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/">Raspberry Pi 3 Model B+</a>
1.36 sthen 150: <li><a href="https://www.raspberrypi.org/products/raspberry-pi-4-model-b/specifications/">Raspberry Pi 4</a>
1.40 sthen 151: <li><a href="https://www.raspberrypi.org/products/raspberry-pi-400-unit/">Raspberry Pi 400</a>
1.46 kettenis 152: <li><a href="https://www.raspberrypi.com/products/compute-module-4/">Raspberry Pi Compute Module 4</a>
1.4 jsg 153: </ul>
1.43 kettenis 154: <li>Marvell ARMADA 3K
155: <ul>
156: <li><a href="https://www.turris.com/en/mox/">Turris MOX</a>
1.54 kettenis 157: <li><a href="https://espressobin.net/">Marvell ESPRESSObin</a>
158: <li><a href="https://www.gl-inet.com/products/gl-mv1000/">GL.iNet Brume</a>
1.43 kettenis 159: </ul>
1.19 kettenis 160: <li>Marvell ARMADA 7K/8K
161: <ul>
1.36 sthen 162: <li><a href="https://www.solid-run.com/marvell-armada-family/macchiatobin/">SolidRun/Marvell MACCHIATObin</a>
1.19 kettenis 163: </ul>
1.70 patrick 164: <li>NXP i.MX 8M Quad/Mini/Plus
165: <ul>
166: <li><a href="https://mntre.com/reform.html">MNT Reform</a>
167: <li><a href="https://www.solid-run.com/industrial-computers/cubox/">SolidRun CuBox-M</a>
168: <li><a href="https://www.solid-run.com/embedded-industrial-iot/nxp-i-mx8-family/hummingboard-m/">SolidRun HummingBoard</a>
169: </ul>
1.62 kettenis 170: <li>Qualcomm Snapdragon 7cx (SC7180/SC7180P)
171: <ul>
1.69 kettenis 172: <li>Acer Aspire One
1.62 kettenis 173: </ul>
1.59 jsg 174: <li>Qualcomm Snapdragon 8cx Gen 3 (SC8280XP)
1.58 kettenis 175: <ul>
1.69 kettenis 176: <li>Lenovo ThinkPad X13s Gen 1
177: <li>Microsoft Windows Dev Kit 2023
1.58 kettenis 178: </ul>
1.42 kurt 179: <li>Rockchip RK3328/RK3399(pro)
1.9 kettenis 180: <ul>
1.36 sthen 181: <li><a href="https://www.pine64.org/devices/single-board-computers/rock64/">Pine64 ROCK64</a>
182: <li><a href="https://www.pine64.org/rockpro64/">Pine64 ROCKPro64</a>
183: <li><a href="https://www.pine64.org/pinebook-pro/">Pinebook Pro</a>
184: <li><a href="https://en.t-firefly.com/product/rk3399.html">Firefly-RK3399</a>
1.60 millert 185: <li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T4">FriendlyElec NanoPC-T4</a>
1.36 sthen 186: <li><a href="https://www.theobroma-systems.com/som-product/rk3399-q7/">Theobroma Systems RK3399-Q7</a>
1.69 kettenis 187: <li><a href="https://wiki.radxa.com/RockpiN10">Radxa ROCK Pi N10</a>
1.19 kettenis 188: </ul>
1.62 kettenis 189: <li>Rockchip RK3566/RK3568
190: <ul>
191: <li><a href="https://www.pine64.org/quartz64a/">Pine64 Quartz64 Model A</a>
192: <li><a href="https://www.pine64.org/quartz64b/">Pine64 Quartz64 Model B</a>
193: <li><a href="https://en.t-firefly.com/product/industry/rocrk3566pc.html">ROC-RK3566-PC</a>
1.65 kettenis 194: <li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5S">NanoPi R5S</a>
1.69 kettenis 195: <li><a href="https://wiki.radxa.com/Rock3/3a">Radxa ROCK 3A</a>
1.71 kettenis 196: </ul>
197: <li>Rockchip RK3588
198: <ul>
199: <li><a href="https://wiki.radxa.com/Rock5/5b">Radxa ROCK 5B</a>
200: <li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6C">NanoPi R6C</a>
201: <li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6S">NanoPi R6S</a>
1.62 kettenis 202: </ul>
1.19 kettenis 203: <li>Socionext SC2A11
204: <ul>
1.36 sthen 205: <li><a href="https://www.socionext.com/en/products/assp/SynQuacer/Edge/">Socionext SynQuacer-E Developerbox</a>
1.9 kettenis 206: </ul>
1.1 patrick 207: </ul>
1.48 kettenis 208:
209: <p>
1.26 tj 210: In general, other boards/machines that use one of the SoCs listed above
211: will work as well, as long as UEFI firmware (e.g. U-Boot or EDK II
212: firmware) is available. Both device trees and ACPI are supported.
213: An updated device tree may have to be supplied to make OpenBSD usable.
1.55 kettenis 214:
1.1 patrick 215: <h4>Ethernet</h4>
216: <ul>
1.30 kettenis 217: <li><a href="https://man.openbsd.org/arm64/bse.4">bse(4)</a>
218: integrated Broadcom GENET 10/100/Gigabit Ethernet on Raspberry Pi 4
1.23 bentley 219: <li><a href="https://man.openbsd.org/arm64/dwge.4">dwge(4)</a>
1.24 deraadt 220: integrated Synopsys DesignWare GMAC 10/100/Gigabit Ethernet on Rockchip RK3399
1.23 bentley 221: <li><a href="https://man.openbsd.org/arm64/dwxe.4">dwxe(4)</a>
1.52 kevlo 222: integrated Allwinner EMAC 10/100/Gigabit Ethernet on Allwinner A64/H5/H6
1.23 bentley 223: <li><a href="https://man.openbsd.org/arm64/msk.4">msk(4)</a>
1.24 deraadt 224: integrated Marvell Yukon-2 10/100/Gigabit Ethernet on OverDrive 1000
1.44 mglocker 225: <li><a href="https://man.openbsd.org/arm64/mue.4">mue(4)</a>
226: integrated Microchip LAN75xx/LAN78xx 10/100/Gigabit USB Ethernet on Raspberry Pi 3 Model B+
1.43 kettenis 227: <li><a href="https://man.openbsd.org/arm64/mvneta.4">mvneta(4)</a>
228: integrated Marvell ARMADA Ethernet on Marvell ARMADA 3K
1.23 bentley 229: <li><a href="https://man.openbsd.org/arm64/smsc.4">smsc(4)</a>
1.24 deraadt 230: integrated SMSC LAN95xx 10/100 USB Ethernet on Raspberry Pi 3
1.1 patrick 231: </ul>
232:
1.34 stsp 233: <h4>802.11 wireless</h4>
234: <ul>
235: <li><a href="https://man.openbsd.org/arm64/bwfm.4">bwfm(4)</a>
1.57 kettenis 236: on Raspberry Pi 3/4/400, Pinebook Pro, and Apple M1/M2
1.34 stsp 237: </ul>
238:
1.1 patrick 239: <h4>Storage</h4>
1.4 jsg 240: <ul>
1.23 bentley 241: <li><a href="https://man.openbsd.org/arm64/ahci.4">ahci(4)</a>
1.25 kettenis 242: on AMD Opteron A1100, Ampere eMAG, Marvell 7K/8K and SynQuacer-E
1.33 jsg 243: <li><a href="https://man.openbsd.org/arm64/bcmsdhost.4">bcmsdhost(4)</a>
244: on Raspberry Pi 3
1.23 bentley 245: <li><a href="https://man.openbsd.org/arm64/dwmmc.4">dwmmc(4)</a>
1.62 kettenis 246: on Rockchip RK3328/RK3399/RK356x
1.42 kurt 247: <li><a href="https://man.openbsd.org/arm64/rkpcie.4">rkpcie(4)</a>
248: on Rockchip RK3399
1.25 kettenis 249: <li><a href="https://man.openbsd.org/arm64/sdhc.4">sdhc(4)</a>
1.43 kettenis 250: on Marvell ARMADA 3K/7K/8K, Rockchip RK3399 and Raspberry Pi 4
1.25 kettenis 251: <li><a href="https://man.openbsd.org/arm64/sximmc.4">sximmc(4)</a>
1.52 kevlo 252: on Allwinner A64/H5/H6
1.4 jsg 253: </ul>
1.1 patrick 254:
255: <h4>USB</h4>
256: <ul>
1.23 bentley 257: <li><a href="https://man.openbsd.org/arm64/dwctwo.4">dwctwo(4)</a>
1.24 deraadt 258: on Raspberry Pi 3
1.23 bentley 259: <li><a href="https://man.openbsd.org/arm64/ehci.4">ehci(4)</a>
1.62 kettenis 260: on Allwinner A64/H5/H6 and Rockchip RK3328/RK3399/RK356x
1.23 bentley 261: <li><a href="https://man.openbsd.org/arm64/xhci.4">xhci(4)</a>
1.58 kettenis 262: on Amlogic G12A/B, Ampere eMAG, Apple M1/M2, Marvell ARMADA
1.62 kettenis 263: 3K/7K/8K, Overdrive 1000, Raspberry Pi 4, Qualcomm
264: SC7180/SC7180P/SC8280XP, Rockchip RK3399/RK356x and
265: SynQuacer-E
1.1 patrick 266: </ul>
267:
1.23 bentley 268: <strong>No real time clock:</strong> Many of the arm64 devices do not have a
1.27 deraadt 269: battery-backed real time clock, but <a href="https://man.openbsd.org/ntpd">ntpd(8)</a>
270: should be able to compensate.
1.1 patrick 271:
1.23 bentley 272: <h3 id="install">
1.17 tj 273: <strong>Getting and installing OpenBSD/arm64:</strong>
1.23 bentley 274: </h3>
1.17 tj 275:
276: <p>
277: The latest supported OpenBSD/arm64 release is
1.72 ! tj 278: <a href="75.html">OpenBSD 7.5</a>.
1.17 tj 279: Here are the
1.72 ! tj 280: <a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/arm64/INSTALL.arm64">
1.17 tj 281: OpenBSD/arm64 installation instructions</a>.
1.1 patrick 282:
283: <p>
284: Snapshots are made available from time to time, in
1.21 tj 285: <a href="https://cdn.openbsd.org/pub/OpenBSD/snapshots/arm64">this location</a>
286: as well as on a few
1.1 patrick 287: <a href="ftp.html">mirrors</a>.
288: Here are the
1.21 tj 289: <a href="https://ftp.openbsd.org/pub/OpenBSD/snapshots/arm64/INSTALL.arm64">
1.2 tb 290: OpenBSD/arm64 snapshot installation instructions</a> as well.