CheriBSD: FreeBSD for CHERI-enabled platforms

CheriBSD is a Capability Enabled, Unix-like Operating System that extends FreeBSD to take advantage of Capability Hardware on Arm’s Morello and CHERI-RISC-V platforms. CheriBSD implements memory protection and software compartmentalization features, and is developed by SRI International and the University of Cambridge.

↫ CheriBSD website

This obviously raises the question – what exactly is CHERI? The FreeBSD Foundation has an article about this from 2023 providing more details.

CHERI extends existing architectures (Armv8-A, MIPS64 (retired), RISC-V, and x86_64 (in development)) with a new hardware type, the CHERI capability. In CHERI systems, all access to memory is via CHERI capabilities either explicitly via new instructions or implicitly via a Default Data Capability (DDC) and Program Counter Capability (PCC) used by instructions with integer arguments. Capabilities grant access to specific ranges of (virtual, or occasionally, physical) memory via a base and length, and can further restrict access with permissions, which are compressed into a 128-bit representation (64-bits for the address and 64-bits for the metadata). In memory and in registers, capabilities are protected by tags that are cleared when the capability data is modified by a non-capability instruction or if a capability instruction would increase the access the capability grants. Tags are stored separately from data and cannot be manipulated directly.

↫ Brooks Davis

CheriBSD brings this capability to anyone with compatible hardware, providing access to about 10000 pre-built memory-safe packages alongside more than 260000 pre-built memory-unsafe packages, as well as fully memory-safe versions of the KDE desktop, bhyve, and a ton of others. You can use both types of packages alongside one another, there’s a nice installer, and it basically seems like you’re using regular FreeBSD, just with additional complications, the biggest of which is, of course, the limited hardware support.

I have a feeling that if you’re the kind of person to own CHERI-enabled hardware, you’re most likely already aware of CheriBSD. Still, if this is something you’re looking for, be aware that you’re going ot need special hardware. It’s also important to note that DTrace won’t work on CheriBSD, and most optional modules, like firewall systems, don’t work either.

13 Comments

  1. 2026-01-06 2:12 am
    • 2026-01-06 3:16 am
      • 2026-01-06 12:51 pm
        • 2026-01-06 2:51 pm
          • 2026-01-06 3:45 pm
          • 2026-01-06 5:01 pm
          • 2026-01-06 11:21 pm
          • 2026-01-06 11:35 pm
          • 2026-01-07 4:13 pm
          • 2026-01-07 4:26 pm
          • 2026-01-07 5:09 pm
  2. 2026-01-07 6:15 pm
    • 2026-01-07 7:21 pm

Leave a Reply