--- wikisrc/ports/evbarm.mdwn 2020/09/15 07:21:58 1.88 +++ wikisrc/ports/evbarm.mdwn 2020/09/15 07:55:44 1.94 @@ -1,58 +1,48 @@ [[!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_var1="earmv6hf" +port_var2="earmv7hf" +port_var3="earmv7hfeb" +port_var4="aarch64" +no_install_notes=YES port_var_install_notes="evbarm-earm" +pkg_rel="9.0" 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" +thumbnail="//wiki.netbsd.org/ports/evbarm/images/beaglebone.jpg" about=""" -NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping -boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also -supports some specific embedded system products based on prototype board -designs. - +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. +""" +supported_hardware=""" ### CPU types -The evbarm port can be built with a variety of CPU options, corresponding to the -[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 +Various CPU variants are supported, e.g: -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) @@ -69,13 +59,20 @@ NetBSD developer Jared McNeill provides ### 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 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" + - 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]]