Provided by: freebsd-manpages_7.2-1_all
linux - Linux ABI support
To compile support for this ABI into the kernel, place the following line
in your kernel configuration file:
Alternatively, to load the ABI as a module at boot time, place the
following line in loader.conf(5):
The linux module provides limited Linux ABI (application binary
interface) compatibility for userland applications. The module provides
the following significant facilities:
· An image activator for correctly branded elf(5) executable images
· Special signal handling for activated images
· Linux to native system call translation
It is important to note that the Linux ABI support it not provided
through an emulator. Rather, a true (albeit limited) ABI implementation
The following sysctl(8) tunable variables are available:
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.
The linux module can be linked into the kernel statically with the
COMPAT_LINUX kernel configuration option or loaded as required. The
following command will load the module if it is neither linked into the
kernel nor already loaded as a module:
if ! kldstat -v | grep -E ’linux(aout|elf)’ > /dev/null; then
kldload linux > /dev/null 2>&1
Note that dynamically linked Linux executables will require a suitable
environment in /compat/linux. Specifically, the Linux run-time linker’s
hints files should be correctly initialized. For this reason, it is
common to execute the following commands to prepare the system to
correctly run Linux executables:
if [ -x /compat/linux/sbin/ldconfig ]; then
/compat/linux/sbin/ldconfig -r /compat/linux
For information on loading the linux kernel loadable module automatically
on system startup, see rc.conf(5). This information applies regardless
of whether the linux module is statically linked into the kernel or
loaded as a module.
/compat/linux minimal Linux run-time environment
/compat/linux/proc limited Linux process file system
/compat/linux/sys limited Linux system file system
brandelf(1), elf(5), linprocfs(5), linsysfs(5)
Linux ABI support first appeared in FreeBSD 2.1.