File:  [NetBSD Developer Wiki] / wikisrc / ports / evbarm.mdwn
Revision 1.89: download - view: text, annotated - select for diffs
Tue Sep 15 07:33:25 2020 UTC (5 weeks, 4 days ago) by nia
Branches: MAIN
CVS tags: HEAD
more user relevant information

[[!template id=port
port="evbarm"
port_alt="arm"
port_var1="earm"
port_var2="earmeb"
port_var3="earmv6hf"
port_var4="earmv7hf"
port_var5="earmv7hfeb"
port_var6="aarch64"
port_var_install_notes="evbarm-earm"
cur_rel="9.0"
future_rel="10.0"
changes_cur="9.0"
changes_future="10.0"
thumbnail="//www.netbsd.org/images/ports/evbarm/adi_brh.gif"
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, but this
is no longer relevant - NetBSD/evbarm now runs on a range of
hardware based on APCI or devicetrees, including a range of development
boards, powerful servers, virtual machines, and even some laptops.
"""

### CPU types

Various CPU variants are supported, e.g:

- evbarm-earmv6hf - ARMv6 with EABI and hardware floating point, e.g.
  the original Raspberry Pi.
- evbarm-earmv7hf - ARMv7 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
- evbarm-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.

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`.

### 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*.

### 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 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.

### 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]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb