November 24, 2014

In this month’s project update we will take a look at the ongoing FreeBSD 64-bit ARM port. AArch64 is the official name for the 64-bit ARM architecture, but it is also known as ARMv8 and arm64. The 64-bit ARM architecture is expected to find use in traditional server markets, in contrast to the embedded and mobile markets where 32-bit ARM is widely adopted.

The FreeBSD Foundation is collaborating with ARM, Cavium, Semihalf and Andrew Turner to port FreeBSD to arm64. Cavium is contributing directly to the Foundation, supplying engineering expertise and hardware for the development community. Cavium’s ThunderX platform provides a great match for FreeBSD’s strength as a server operating system, and it supports up to 48 cores in a single package. ThunderX will be the initial reference target for this project, but ports to other arm64 platforms are expected later on.

The kernel bring-up portion of the project is nearing completion; FreeBSD/arm64 boots to single-user mode on ARM’s reference simulator. Work is underway on the remaining kernel drivers, and on userland support.

This project’s overall goal is to bring FreeBSD/arm64 to a Tier-1 status, including release media and prebuilt package sets. More information about the arm64 port can be found on the FreeBSD wiki at https://wiki.freebsd.org/arm64, and the in-progress source tree is available through the FreeBSD Foundation’s GitHub account at https://github.com/FreeBSDFoundation/freebsd.

freebsd_arm64_boot