logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

linux — Linux ABI support

Bugs

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

Debian                                            July 5, 2020                                          LINUX(4)

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"

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)

History

       Linux ABI support first appeared in FreeBSD 2.1.

Name

       linux — Linux ABI support

See Also

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

Synopsis

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

             optionsCOMPAT_LINUX

       for an amd64 kernel use:

             optionsCOMPAT_LINUX32

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

             linux_load="YES"

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.

See Also