This is an old revision of the document!
FreeBSD ARM
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 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
- 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 milage may vary especially Raspberry Pi 4 series and variants compared to other SoCs. You are likely run into issues for “everyday” usage.
Boards with unknown support
These are boards that are supported at an unknown level or currently in the works. For more information on the current state of support for any of these, please send an email to FreeBSD ARM Mailing List
- ArndaleBoard (Samsung Exynos5250)
- BeagleBoard and BeagleBoard-xM (TI OMAP3) - GSoC 2012, stable - aleek@
- Asus Tinker Edge T Asus Tinker Edge T
- Genesi Efika MX Smarttop
- Genesi Efika MX Smartbook
- Globalscale Technologies DreamPlug (but see the EOL announcement 20190709)
- Globalscale Technologies OpenRD platform
Marvell DB-88F5182, DB-88F5281, DB-88F6281, RD-88F6281, DB-78100 (ARMv5)(no longer supported)- Marvell DB-88F6781 (ARMv6)
- Marvell DB-78460 (ARMv7)
- Marvell Sheeva Plug (but see the EOL announcement 20190709)
- Marvell Dream Plug (but see the EOL announcement 20190709)
- BananaPI R2 (Mediatek Quad-core ARM Cortex-A7)
- BananaPI R64 (MediaTek, dual-core ARM Cortex-A53)
- NanoPi Fire 3 (Samsung, S5P6818, 1.4GHz)
- Odroid-C1 (Amlogic aml8726-m8b) (work in progress)
- Pandaboard (OMAP4)
- Phytec Cosmic Board (Freescale Vybrid Family)
- Radxa Rock (was work in progress; now abandoned)
- Technologic Systems TS-7800
- Visson ATV-102 (Amlogic aml8726-m6) (work in progress)
- Zedboard (Xilinx Zynq)
SoCs with unknown support
CPUs that are supported at an unknown level or currently in the works:
- Amlogic aml8726-m6 (used in Visson ATV-102) and aml8726-m8b (Hardkernel Odroid-C1)
- Freescale Vybrid Family
- Marvell Orion, Kirkwood and Discovery Innovation families of systems-on-chip
- Marvell Armada 500 (ARMv6)
- Marvell Armada XP (ARMv7)
- MediaTek MT7623N
- MediaTek MT7622
- NXP LPC32x0 arm/lpc
- Qualcomm Snapdragon
- Rockchip RK3188
- Rockchip RK3288
- Samsung Exynos5
- Samsung S5P6818
- Texas Instruments DaVinci Digital Media system-on-chip
- Xilinx Zynq7 family
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: