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.
FreeBSD arm support can be thought of as being related to an SoC 'family':
Marvell Kirkwood (no longer supported)
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.
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 boards
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
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 SoCs. You are likely 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.
A variety of information useful to people interested in development on or for ARM systems is available on the FreeBSD ARM Developer Resources page.
The following HOWTO guides have been contributed by the user community: