[[!template id=port port="evbarm" port_alt="arm" port_var1="earmv6hf" port_var2="earmv7hf" port_var3="earmv7hfeb" port_var4="aarch64" port_var_install_notes="evbarm-earm" pkg_rel="9.0" cur_rel="9.1" future_rel="10.0" changes_cur="9.1" changes_future="10.0" thumbnail="//wiki.netbsd.org/ports/evbarm/images/beaglebone.jpg" about=""" 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. """ supported_hardware=""" ### CPU types Various CPU variants are supported, e.g: - evbarm-earmv6hf - ARMv6-A with EABI and hardware floating point, e.g. the original Raspberry Pi. - evbarm-earmv7hf - ARMv7-A with EABI and hardware floating point, e.g. most recent and common 32-bit ARM boards. - evbarm-earmv7hfeb - Same as the above, but with the CPU running in big endian mode. - evbarm-aarch64 - 64-bit ARMv8-A - evbarm-aarch64eb - Same as the above, but with the CPU running in big endian mode. Since NetBSD 9.0, 64-bit ARM processors are supported (referred to here as aarch64). These run with fully 64-bit kernels and userland. Running 32-bit ARM binaries is also supported with `compat32`. The 64-bit kernel supports up to 256 CPUs and the 32-bit kernel supports up to 8. Since NetBSD 9.0, there is support for symmetric and asymmetrical multiprocessing (aka big.LITTLE). 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) - [[Allwinner sunxi family SoCs|Allwinner]] - [[BeagleBone, BeagleBone Black, and PocketBeagle|BeagleBone]] - [[NVIDIA Tegra|Tegra]] - [[ODROID C1 and C1+|ODROID-C1]] - [[Raspberry Pi 1, 2 and 3|Raspberry Pi]] - [[RockChip SoCs|RockChip]] - [[Terasic DE0 Nano-SoC|Cyclone5]] **NOTE**: This list is incomplete. For a full list of supported device tree based boards, please see the list of [32-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC#L18) and [64-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC64#L20) device trees. ### QEMU See the [[NetBSD/evbarm under QEMU|qemu_arm]] page for instructions on how to get started with QEMU. """ additional=""" ### armbsd.org builds NetBSD developer Jared McNeill provides [builds of NetBSD 9 and -current for a vast variety of hardware.](https://www.armbsd.org/) In addition to the standard build, these images have board-specific U-Boot contents. See also /usr/pkgsrc/sysutils/u-boot*. ### 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)](https://man.NetBSD.org/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. """ ]] [[!tag tier1port]]