Provided by: freebsd-manpages_12.0-1_all bug

NAME

       linux — Linux ABI support

SYNOPSIS

       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"

DESCRIPTION

       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 is provided.

       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
             fi

       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
             fi

       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.

FILES

       /compat/linux         minimal Linux run-time environment
       /compat/linux/dev/fd  limited Linux file-descriptor file system
       /compat/linux/proc    limited Linux process file system
       /compat/linux/sys     limited Linux system file system

SEE ALSO

       brandelf(1), elf(5), fdescfs(5), linprocfs(5), linsysfs(5)

HISTORY

       Linux ABI support first appeared in FreeBSD 2.1.

Debian                                           August 1, 2017                                         LINUX(4)