1: [[!template id=port
2: port="evbarm"
3: port_alt="arm"
4: port_var1="earmv6hf"
5: port_var2="earmv7hf"
6: port_var3="earmv7hfeb"
7: port_var4="aarch64"
8: port_var_install_notes="evbarm-earm"
9: pkg_rel="9.0"
10: cur_rel="9.2"
11: future_rel="10.0"
12: changes_cur="9.0"
13: changes_future="10.0"
14: thumbnail="//wiki.netbsd.org/ports/evbarm/images/beaglebone.jpg"
15: about="""
16: NetBSD/evbarm is the port of NetBSD to various systems based on chips
17: implementing the ARM architecture. The "evb" component is a reference
18: to evaluation boards, the original target of the port. However, the
19: single GENERIC/GENERIC64 kernel now supports a range of machines including
20: development boards, virtual machines, "ServerReady" (SBBR/SBSA) hardware,
21: and laptops through both device tree and ACPI based booting.
22:
23: [[!toc levels=3]]
24: """
25: supported_hardware="""
26:
27: ### CPU types
28:
29: Various CPU variants are supported, e.g:
30:
31: - earmv6hf - ARMv6-A with EABI and hardware floating point, e.g.
32: the original Raspberry Pi.
33: - earmv7hf - ARMv7-A with EABI and hardware floating point, e.g.
34: most recent and common 32-bit ARM boards. Supports up to 8 CPUs.
35: - earmv7hfeb - Same as the above, but with the CPU running in
36: big endian mode.
37: - aarch64 - 64-bit ARMv8-A boards, e.g. all 64-bit hardware.
38: Fully 64-bit kernel and userland. Running 32-bit binaries is supported
39: with `compat32`.
40: - aarch64eb - Same as the above, but with the CPU running in
41: big endian mode.
42:
43: evbarm variants are little endian unless otherwise stated. NetBSD provides
44: big endian images primarily for testing purposes and to ensure that the code
45: is endian-clean.
46:
47: ### Board specific information (often including installation information)
48:
49: Most ARM boards (unless they have UEFI or Raspberry Pi firmware) require a
50: board-specific U-Boot image alongside the generic NetBSD image to be
51: written to their storage. In most cases board-specific U-Boot images can
52: be built using [pkgsrc](https://pkgsrc.org).
53:
54: - [[Allwinner sunxi family SoCs|Allwinner]]
55: - [[Apple Silicon|Apple]]
56: - [[BeagleBone, BeagleBone Black, and PocketBeagle|BeagleBone]]
57: - [[NVIDIA Tegra|Tegra]]
58: - [[ODROID C1 and C1+|ODROID-C1]]
59: - [[Raspberry Pi 1, 2, 3|Raspberry Pi]]
60: - [[RockChip SoCs|RockChip]]
61: - [[Terasic DE0 Nano-SoC|Cyclone5]]
62:
63: **NOTE**: This list is incomplete. For a full list of supported device tree
64: based boards, please see the list of
65: [32-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC#L18) and
66: [64-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC64#L20) device trees.
67:
68: ### QEMU
69:
70: See the [[NetBSD/evbarm under QEMU|qemu_arm]] page for instructions on how to get started with QEMU.
71: """
72: additional="""
73:
74: ### SSH configuration
75:
76: The default configuration will connect to the local network via DHCP and
77: run an SSH server.
78: In order to use the SSH server, we must configure users.
79: This can be done by writing to the SD card's MS-DOS partition.
80:
81: Create a creds.txt file and use:
82:
83: useradd user password
84:
85: See [creds_msdos(8)](https://man.NetBSD.org/creds_msdos.8) for
86: additional configuration options.
87:
88: ### anita
89:
90: anita can be used to test builds. (In addition to anita, install qemu and dtb-arm-vexpress from pkgsrc.) The release subdirectory should follow the naming convention on the autobuild cluster, used below.
91:
92: - evbarm-earmv7hf uses 'qemu-system-arm -M vexpress-a15'
93: - evbarm-aarch64 uses 'qemu-system-aarch64 -M virt'
94: - Information on how to test emulated versions of other specific hardware is welcome.
95: """
96: ]]
97:
98: [[!tag tier1port]]
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb