FreeBSD ARM
Contents
FreeBSD supports both 32-bit and 64-bit ARM chips.
On 32-bit, FreeBSD supports ARMv6 and ARMv7, termed arm, armv6 and armv7, respectively.
- Support for ARMv5 was dropped because it was slowing down other development.
Our 64-bit port is called arm64 (alternatively, aarch64).
Almost all 32-bit implementations are single boards. Some 64-bit implementations are single boards, but a few are full servers.
The servers are better documented here.
The rest of this page applies to single boards.
SoC Families
FreeBSD arm support can be thought of as being related to an SoC 'family':
Marvell Kirkwood (no longer supported)
- zynq_7000
Prebuilt Targets
FreeBSD Release Engineering builds specific images for various boards and these can be found in the ISO-IMAGES directory on distribution sites. Due to size and workload concerns images for all supported platforms are not available.
Alternatively, images for many boards can be built by crochet (deprecated) or using FreeBSD's release build infrastructure.
For other boards, some development work may be necessary.
However, FreeBSD has preexisting support for U-Boot on many popular boards.
Also see notes about the prebuilt images.
Well supported SBCs
Rule of thumb is that if there's a u-boot port your SBC should work fine for generic use, you may however encounter bugs and some drivers might be missing.
Current list of u-boot ports: Freshports
For more detailed information please refer to SoC-family specific page(s).
Following SoCs have good support overall and are listed in no particular order:
- Allwinner A64/H2+/H3/H5/H6
- Broadcom BCM2837 (see note below about BCM2711)
- NXP i.MX6
- Rockchip RK3328/RK3399, RK3566 support in early development see SoC-family page for more information
Note: Due to lack of documentation and overall interest by using Broadcom SoCs your mileage may vary especially Raspberry Pi 4 series and variants compared to other listed platforms. You are likely to run into issues for "everyday" usage.
Not all boards support video output and in such cases serial console is used instead, please refer to USB/Peripherals/Serial for more information.
Developer Resources
A variety of information useful to people interested in development on or for ARM systems is available on the FreeBSD ARM Developer Resources page.
User Guides
The following HOWTO guides have been contributed by the user community:
Handbook for compiling/contributing FreeBSD for embedded devices
Old instructions for booting FreeBSD on the BeagleBone via SD Card