About NetBSD/evbarm
NetBSD/evbarm is the port of NetBSD to various systems based on chips implementing the ARM architecture. The "evb" component is a reference to evaluation boards, the original target of the port. However, the single GENERIC/GENERIC64 kernel now supports a range of machines including development boards, virtual machines, "ServerReady" (SBBR/SBSA) hardware, and laptops through both device tree and ACPI based booting.
Release Info
- NetBSD/evbarm-earmv6hf 10.0 via download
- NetBSD/evbarm-earmv6hf 10.0 ISO
- NetBSD/evbarm-earmv7hf 10.0 via download
- NetBSD/evbarm-earmv7hf 10.0 ISO
- NetBSD/evbarm-earmv7hfeb 10.0 via download
- NetBSD/evbarm-earmv7hfeb 10.0 ISO
- NetBSD/evbarm-aarch64 10.0 via download
- NetBSD/evbarm-aarch64 10.0 ISO
- NetBSD/evbarm-aarch64eb 10.0 via download
- NetBSD/evbarm-aarch64eb 10.0 ISO
- NetBSD/evbarm 10.0 INSTALL notes
- NetBSD/evbarm-earmv6hf 10.0 pre-built binary packages from pkgsrc
- NetBSD/evbarm-earmv7hf 10.0 pre-built binary packages from pkgsrc
- NetBSD/evbarm-earmv7hfeb 10.0 pre-built binary packages from pkgsrc
- NetBSD/evbarm-aarch64 10.0 pre-built binary packages from pkgsrc
- NetBSD/evbarm-aarch64eb 10.0 pre-built binary packages from pkgsrc
- NetBSD/evbarm 10.0 changes
- NetBSD/evbarm 11.0 changes
Mailing List
The NetBSD/arm mailing list, covering NetBSD's port to arm machine: [ subscribe | archive ]
Mail the NetBSD/arm port maintainer
Supported Hardware
CPU types
Various CPU variants are supported, e.g:
- earmv6hf - ARMv6-A with EABI and hardware floating point, e.g. the original Raspberry Pi.
- earmv7hf - ARMv7-A with EABI and hardware floating point, e.g. most recent and common 32-bit ARM boards. Supports up to 8 CPUs.
- earmv7hfeb - Same as the above, but with the CPU running in big endian mode.
- aarch64 - 64-bit ARMv8-A boards, e.g. all 64-bit hardware.
Fully 64-bit kernel and userland. Running 32-bit binaries is supported
with
compat32
. - aarch64eb - Same as the above, but with the CPU running in big endian mode.
evbarm variants are little endian unless otherwise stated. NetBSD provides big endian images primarily for testing purposes and to ensure that the code is endian-clean.
Board specific information (often including installation information)
Most ARM boards (unless they have UEFI or Raspberry Pi firmware) require a board-specific U-Boot image alongside the generic NetBSD image to be written to their storage. In most cases board-specific U-Boot images can be built using pkgsrc.
- Allwinner sunxi family SoCs
- Apple Silicon
- BeagleBone, BeagleBone Black, and PocketBeagle
- NVIDIA Tegra
- ODROID C1 and C1+
- Raspberry Pi family
- RockChip SoCs
- Terasic DE0 Nano-SoC
NOTE: This list is incomplete. For a full list of supported device tree based boards, please see the list of 32-bit and 64-bit device trees.
Bootable Install Images
We provide ready-to-install / boot images for many of the supported boards.
QEMU
See the NetBSD/evbarm under QEMU page for instructions on how to get started with QEMU.
Additional Info
SSH configuration
The default configuration will connect to the local network via DHCP and run an SSH server. In order to use the SSH server, we must configure users. This can be done by writing to the SD card's MS-DOS partition.
Create a creds.txt file and use:
useradd user password
See creds_msdos(8) for additional configuration options.
anita
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.
- evbarm-earmv7hf uses 'qemu-system-arm -M vexpress-a15'
- evbarm-aarch64 uses 'qemu-system-aarch64 -M virt'
- Information on how to test emulated versions of other specific hardware is welcome.