man.bsd.lv manual page server

Manual Page Search Parameters

LINUX(4) Device Drivers Manual LINUX(4)

linuxLinux ABI support

To compile support for this ABI into an i386 kernel place the following line in your kernel configuration file:

options COMPAT_LINUX

for an amd64 kernel use:

options COMPAT_LINUX32

Alternatively, to load the ABI as a module at boot time, place the following line in loader.conf(5):

linux_load="YES"

The linux module provides limited Linux ABI (application binary interface) compatibility, making it possible to run many unmodified Linux applications and libraries without the need for virtualization or emulation. Some of the facilities provided are:

Note that dynamically linked Linux executables will require a suitable environment in /compat/linux. This includes native Linux shared libraries, and Linux-specific virtual filesystems. To set it up, install the emulators/linux_base-c7 port or the linux_base-c7 package, and add the following line to the rc.conf(5) file:

linux_enable="YES"

To avoid mounting Linux-specific filesystems at startup, also add the following line:

linux_mounts_enable="NO"

The following variables are available as both sysctl(8) variables and loader(8) tunables:

compat.linux.debug
Enable debugging messages. Set to 0 to silence them. Defaults to 3. A setting of 1 prints debug messages, tells about unimplemented stuff (only once). Set to 2 is like 1, but also prints messages about implemented but not tested stuff (only once). Setting it to 3 or higher is like 2, but no rate limiting of messages.
compat.linux.default_openfiles
Default soft openfiles resource limit for Linux applications. Set to -1 to disable the limit. Defaults to 1024.
compat.linux.emul_path
Path to the Linux run-time environment. Defaults to /compat/linux.
compat.linux.osname
Linux kernel operating system name.
compat.linux.osrelease
Linux kernel operating system release. Changing this to something else is discouraged on non-development systems, because it may change the way Linux programs work. Recent versions of GNU libc are known to use different syscalls depending on the value of this sysctl.
compat.linux.oss_version
Linux Open Sound System version.
compat.linux.preserve_vstatus
When set to 1, it prevents Linux applications from resetting the termios(4) VSTATUS setting. From a user perspective, this makes SIGINFO work for Linux executables. Defaults to 0.

/compat/linux
minimal Linux run-time environment
/compat/linux/dev
device file system, see devfs(5)
/compat/linux/dev/fd
file descriptor file system mounted with the linrdlnk option, see fdescfs(5)
/compat/linux/dev/shm
in-memory file system, see tmpfs(5)
/compat/linux/proc
Linux process file system, see linprocfs(5)
/compat/linux/sys
Linux kernel objects file system, see linsysfs(5)

brandelf(1), pty(4), elf(5), fdescfs(5), linprocfs(5), linsysfs(5), tmpfs(5)

Linux ABI support first appeared in FreeBSD 2.1.

Support for some of the Linux-specific system calls and system call arguments is missing.

July 5, 2020 FreeBSD-13.0