version 1.88, 2020/09/15 07:21:58
|
version 1.93, 2020/09/15 07:50:45
|
Line 8 port_var4="earmv7hf"
|
Line 8 port_var4="earmv7hf"
|
port_var5="earmv7hfeb" |
port_var5="earmv7hfeb" |
port_var6="aarch64" |
port_var6="aarch64" |
port_var_install_notes="evbarm-earm" |
port_var_install_notes="evbarm-earm" |
|
pkg_rel="9.0" |
cur_rel="9.0" |
cur_rel="9.0" |
future_rel="10.0" |
future_rel="10.0" |
changes_cur="9.0" |
changes_cur="9.0" |
changes_future="10.0" |
changes_future="10.0" |
thumbnail="//www.netbsd.org/images/ports/evbarm/adi_brh.gif" |
thumbnail="//wiki.netbsd.org/ports/evbarm/images/beaglebone.jpg" |
about=""" |
about=""" |
NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping |
NetBSD/evbarm is the port of NetBSD to various systems based on chips |
boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also |
implementing the ARM architecture. The "evb" component is a reference |
supports some specific embedded system products based on prototype board |
to evaluation boards, the original target of the port, but this |
designs. |
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. |
|
""" |
|
supported_hardware=""" |
### CPU types |
### CPU types |
|
|
The evbarm port can be built with a variety of CPU options, corresponding to the |
Various CPU variants are supported, e.g: |
[large array of ARM CPU architectures](https://en.wikipedia.org/wiki/ARM_architecture#Cores). |
|
There are |
|
four main variables: the word size, the instruction set, the |
|
endianness, and whether there is hardware floating point. By default |
|
the CPU type is "earm", and this implies aarch32 (32-bit), earmv5 cpu |
|
architecture, little endian (el when explicitly stated), and soft |
|
(Emulated) floating point. Another example, suitable for Raspberry PI |
|
2, is earmv7hf, which is aarch32, the v7 instruction set, little |
|
endian, and hardware floating point. |
|
|
|
Typically, various boards are best compiled with a CPU type that |
|
matches the board's CPU and floating point support, but generally a |
|
lower CPU instruction set version is workable on a newer board. See |
|
build.sh and look for aliases for the evbarm port. |
|
|
|
Through NetBSD 8, the evbarm port has supported exclusively the |
|
aarch32 (32-bit CPU) sub-family of the ARM architecture. Some |
|
processors, such as many supporting the armv8 CPU architecture, also |
|
support a 64-bit instruction set, referred to as aarch64. This is |
|
sometimes referred to as a distinct port, [[NetBSD/aarch64|aarch64]], |
|
with code in src/sys/arch/aarch64, but it is built as the evbarm port |
|
with aarch64 cpu type, and available as the alias evbarm64. |
|
|
|
Note that MACHINE_ARCH=aarch64 currently refers to the A64 instruction |
|
set and the aarch64 architecture, built for the armv8 architecture. |
|
(Note also that armv8 is the first architecture to support aarch64, so |
|
this will not be an issue until at least armv9.) |
|
|
|
### 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*. |
- 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. |
|
|
|
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`. |
|
|
|
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) |
### Board specific information (often including installation information) |
|
|
Line 69 NetBSD developer Jared McNeill provides
|
Line 60 NetBSD developer Jared McNeill provides
|
### QEMU |
### QEMU |
|
|
See the [[NetBSD/evbarm under QEMU|qemu_arm]] page for instructions on how to get started with 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*. |
|
|
### anita |
### 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. |
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-earmv7hf uses 'qemu-system-arm -M vexpress-a15' |
- evbarm-aarch64 uses "qemu-system-aarch64 -M virt" |
- evbarm-aarch64 uses 'qemu-system-aarch64 -M virt' |
- Information on how to test emulated versions of other specific hardware is welcome. |
- Information on how to test emulated versions of other specific hardware is welcome. |
|
""" |
|
]] |
|
|
[[!tag tier1port]] |
[[!tag tier1port]] |