CLOUDABI(4)

NAME
cloudabi, cloudabi32, cloudabi64 - CloudABI support

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

options COMPAT_CLOUDABI32

Similarly, support for 64-bit CloudABI executables can be enabled by adding this line:

options COMPAT_CLOUDABI64

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

    cloudabi_load="YES"
    cloudabi32_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 three separate kernel modules. The cloudabi kernel module implements all of the system calls that do not depend on data structures that differ between hardware architectures.

The cloudabi32 and cloudabi64 kernel modules provide implementations of all of the machine-dependent system calls, assuming that pointers stored in data structures are either 32 bits or 64 bits in size. These modules also provide the image activators that load and start ELF executables.

Though the cloudabi module can be loaded on any architecture supported by FreeBSD, the cloudabi32 module is only available on amd64, arm64, armv6, armv7 and i386. The same holds for the cloudabi64 module, which 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)

CloudABI for FreeBSD: https://nuxi.nl/cloudabi/freebsd/.

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/.