CLOUDABI(4)

NAME
cloudabi, cloudabi64 - CloudABI support

SYNOPSIS
Support for 64-bit CloudABI executables can be compiled into the kernel by adding this line to the kernel configuration file:

options COMPAT_CLOUDABI64

CloudABI support can also be loaded at boot time from loader.conf(5):

    cloudabi_load="YES"
    cloudabi64_load="YES"

DESCRIPTION
CloudABI is a POSIX-like pure capability-based runtime environment, similar to capsicum(4). It can be used to develop applications that are cross-platform, easier to test, and hardened against security exploits.

Support for CloudABI on FreeBSD consists of two separate kernel modules. The cloudabi kernel module implements all of the system calls that do not depend on data structures that differ between architectures.

The cloudabi64 kernel module provides implementations of all of the machine-dependent system calls. It assumes that pointers stored in data structures provided as system call arguments are 64 bits in size. It also provides the image activator that loads and starts 64-bit ELF executables.

Though the cloudabi module can be loaded on any architecture supported by FreeBSD, the cloudabi64 module is only available for amd64 and arm64.

A full cross compilation toolchain for CloudABI is available in the devel/cloudabi-toolchain port.

The sysutils/cloudabi-utils port provides the cloudabi-run(1) utility. cloudabi-run(1) can be used to safely execute CloudABI processes with access to a restricted set of resources.

SEE ALSO
cloudabi-run(1), capsicum(4), linux(4), elf(5)

cloudlibc on GitHub: https://github.com/NuxiNL/cloudlibc.

The CloudABI Ports Collection on GitHub: https://github.com/NuxiNL/cloudabi-ports.

HISTORY
CloudABI support first appeared in FreeBSD 11.0.

AUTHORS
Nuxi: https://nuxi.nl/.