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"
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.
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.
|November 30, 2017
|Modern Unix impedes progress in computer science, wastes billions of dollars, and destroys the common sense of many who seriously use it.
|— The Unix Haters' handbook