Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LINUX(4)		    Kernel Interfaces Manual		      LINUX(4)

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 fol-
       lowing line in loader.conf(5):

	     linux_load="YES"

DESCRIPTION
       The  linux module provides limited Linux	ABI (application binary	inter-
       face) compatibility, making it possible to run  many  unmodified	 Linux
       applications  and libraries without the need for	virtualization or emu-
       lation.	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 li-
       braries,	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 some-
	       thing 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 ar-
       guments is missing.

FreeBSD	12.2			 July 5, 2020			      LINUX(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=linux&sektion=4&manpath=FreeBSD+12.2-RELEASE>

home | help