Provided by: freebsd-manpages_12.2-2_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.