Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Architectures and Processors blog Enabling FreeBSD on AArch64
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
  • AArch64
  • networking
  • infrastructure
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Enabling FreeBSD on AArch64

Andrew Wafaa
Andrew Wafaa
July 7, 2015
3 minute read time.

FreeBSD is an advanced UNIX-based operating system used to power modern servers, desktops and embedded platforms; it has a long history in the Networking and Storage worlds used by companies like Juniper Networks and NetApp as well as many many others. Linux has been more popular in recent years and has seen a broad adoption in not only servers and the datacentre but also with mobile and embedded platforms. However, BSD is built on solid foundations and offers a good alternative and have an active developer community.

FreeBSD on ARM

The FreeBSD community has had support for 32-bit ARM for some time (specifically ARMv6 and ARMv7) and supported various platforms as documented on their wiki, thanks to a valiant few within the community. ARM and Cavium started working with the The FreeBSD Foundation in October 2014 to enable a port of the FreeBSD operating system to ARMv8, specifically AArch64, to help bootstrap this effort

Andrew Turner, has been a long time FreeBSD developer and committer. He started working on porting to AArch64 in his spare time in the summer of 2014 and was an ideal choice for the FreeBSD Foundation to work full time on the ARM port. In addition to Andrew, the Foundation worked with SemiHalf who have a wealth of experience both with ARM and our partners, both in Linux and FreeBSD. AArch64 upstream contributions to the main FreeBSD repository (HEAD) started in April 2014. The porting effort has been carried out on a variety of platforms - ARM Foundation Model, ARM Development Boards, QEMU emulator, Cavium Thunder Simulator and Cavium ThunderX Reference Board. As of April 2015, the University of Cambridge to port Dtrace and Hardware Perfomance Counters, enablling these on AArch64.

BSDCan 2015

The FreeBSD community held their annual North American conference, BSDCan, in Ottawa in June 2015. This is the largest gathering of not only FreeBSD developers and users, but also members of the wider BSD community including NetBSD and OpenBSD. With over 280 attendees, it was the perfect place for all involved to show the toils of their labour. There was a working group round-table discussion around the porting effort and where SemiHalf demonstrated FreeBSD running on a 48core Cavium ThunderX platform, Andrew Turner presented the status and efforts of porting FreeBSD to AArch64 and Citrix's Julien Grail presented on Running FreeBSD under the Xen Hypervisor.

There were several platforms available to see at the conference, Cavium brought out an example of their single socket 48core ThunderX platform and a dual socket 96core platform, and Andrew Turner showed off his diminutive by comparison HiKey board from 96Boards. With platforms like those from 96Boards becoming more broadly accessible, the developer community will be able to more easily use and test FreeBSD and contribute to the upstream developments.

Cavium ThunderX FreeBSD

The FreeBSD community is looking at including AArch64 support as a Tier1 architecture in the FreeBSD 11 release. More information on FreeBSD on ARMv8 can be found on the FreeBSD wiki, alternatively if you have questions or you wish to participate in the efforts please reach out to the developers either on IRC #freebsd-arm64 on Efnet or on the mailinglist, where developers will be more than happy to respond.

Learn more about FreeBSD

Anonymous
Architectures and Processors blog
  • Introducing GICv5: Scalable and secure interrupt management for Arm

    Christoffer Dall
    Christoffer Dall
    Introducing Arm GICv5: a scalable, hypervisor-free interrupt controller for modern multi-core systems with improved virtualization and real-time support.
    • April 28, 2025
  • Getting started with AARCHMRS Features.json using Python

    Joh
    Joh
    A high-level introduction to the Arm Architecture Machine Readable Specification (AARCHMRS) Features.json with some examples to interpret and start to work with the available data using Python.
    • April 8, 2025
  • Advancing server manageability on Arm Neoverse Compute Subsystem (CSS) with OpenBMC

    Samer El-Haj-Mahmoud
    Samer El-Haj-Mahmoud
    Arm and 9elements Cyber Security have brought a prototype of OpenBMC to the Arm Neoverse Compute Subsystem (CSS) to advancing server manageability.
    • January 28, 2025