CheriBSD

CheriBSD adapts FreeBSD for CHERI-RISC-V and Morello, providing a complete environment for pure-capability software and compartment research.

CHERI support in a general-purpose operating system reaches far beyond the processor and compiler. Capability state passes through process management, virtual memory, executable loading, dynamic linking, system calls, signals, faults, debugging, and application libraries.

CheriBSD provides this full-system environment for CHERI-RISC-V and Arm Morello.

What the system contains

CheriBSD integrates CHERI across the kernel, hybrid and pure-capability ABIs, system libraries, the runtime linker, developer tools, QEMU, hardware targets, and a ports collection of adapted third-party software.

Its FreeBSD foundation provides familiar Unix interfaces, filesystems, networking, build infrastructure, and source organisation while enabling extensive changes to pointer representation and memory authority.

Development environments

CHERI-RISC-V and QEMU

The cheribuild project assembles a matching compiler, emulator, operating system, and disk image. This creates a reproducible application-class environment that does not depend on physical hardware.

Morello

CheriBSD supports Morello’s hybrid and pure-capability software models. The environment combines Morello-specific firmware, an Arm-targeted CHERI toolchain, operating-system images, and board support.

Other CHERI-RISC-V platforms

FPGA systems and processor implementations can support CheriBSD when their architecture and platform devices match the relevant operating-system port. Board support and architecture revisions remain platform-specific.

Pure-capability user space

CheriABI established a process environment in which language-visible pointers use capabilities. It has supported ports of system utilities, libraries, servers, databases, language runtimes, and other substantial C and C++ software.

The resulting ports history is a significant body of evidence about compatibility issues exposed by capability pointers and pure-capability ABIs.

Relationship to FreeBSD

CheriBSD tracks and adapts FreeBSD rather than defining an unrelated operating system. Generally useful changes can move into FreeBSD, while CHERI architecture and ABI work continues in CheriBSD until an appropriate upstream route exists.

A stock FreeBSD release does not currently provide the complete CheriBSD environment.

Current scope

CheriBSD is an important research and development platform rather than a Linux substitute or a single product configuration. Morello and CHERI-RISC-V binaries are architecture-specific, package coverage varies, and temporal-safety properties depend on the allocator and system configuration.

Where next

FreeBSD

FreeBSD is the upstream operating-system project from which CheriBSD is derived.

Continue