Provided by: freebsd-manpages_12.2-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, making it
       possible to run many unmodified Linux applications and libraries without the need for  virtualization  or
       emulation.  Some of the facilities provided are:

          An image activator for correctly branded elf(5) executable images

          Special signal handling for activated images

          Linux to native system call translation

          Linux-specific system calls

       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"

SYSCTL VARIABLES

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

       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.

FILES

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

SEE ALSO

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

HISTORY

       Linux ABI support first appeared in FreeBSD 2.1.

BUGS

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

Debian                                            July 5, 2020                                          LINUX(4)