-
Notifications
You must be signed in to change notification settings - Fork 42
/
arm64.html
297 lines (270 loc) · 11.6 KB
/
arm64.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
<!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/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.
<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> setenv boot_targets usb0 mmc0 pxe dhcp
U-Boot> saveenv
U-Boot> 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 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/H616
<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>
<li><a href="http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-2.html">Orange Pi Zero2</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 Mac Studio (M1 Max/Ultra, 2022)
<li>Apple Mac mini (M2, 2023)
<li>Apple MacBook Air (13-inch, M2, 2022)
<li>Apple MacBook Pro (13-inch, M2, 2022)
<li>Apple MacBook Air (15-inch, M2, 2023)
<li>Apple Mac mini (M2 Pro, 2023)
<li>Apple MacBook Pro (14-inch, M2 Pro/Max, 2023)
<li>Apple MacBook Pro (16-inch, M2 Pro/Max, 2023)
<li>Apple Mac Studio (M2 Max/Ultra, 2023)
</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>NXP i.MX 8M Quad/Mini/Plus
<ul>
<li><a href="https://mntre.com/reform.html">MNT Reform</a>
<li><a href="https://www.solid-run.com/industrial-computers/cubox/">SolidRun CuBox-M</a>
<li><a href="https://www.solid-run.com/embedded-industrial-iot/nxp-i-mx8-family/hummingboard-m/">SolidRun HummingBoard</a>
</ul>
<li>Qualcomm Snapdragon 7cx (SC7180/SC7180P)
<ul>
<li>Acer Aspire One
</ul>
<li>Qualcomm Snapdragon 8cx Gen 3 (SC8280XP)
<ul>
<li>Lenovo ThinkPad X13s Gen 1
<li>Microsoft Windows Dev Kit 2023
</ul>
<li>Qualcomm Snapdragon X Elite (X1E80100)
<ul>
<li>HP OmniBook X14
</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>
<li><a href="https://wiki.radxa.com/Rock3/3a">Radxa ROCK 3A</a>
</ul>
<li>Rockchip RK3588
<ul>
<li><a href="https://wiki.radxa.com/Rock5/5b">Radxa ROCK 5B</a>
<li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6C">NanoPi R6C</a>
<li><a href="https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6S">NanoPi R6S</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/H616
<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
<li><a href="https://man.openbsd.org/arm64/qwx.4">qwx(4)</a>
on Lenovo ThinkPad X13s
</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/H616
</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/H616 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="76.html">OpenBSD 7.6</a>.
Here are the
<a href="https://ftp.openbsd.org/pub/OpenBSD/7.6/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.