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

FreeBSD Manual Pages

  
 
  

home | help
LINUX(4)	       FreeBSD 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 ap-
     plications	and libraries without the need for virtualization or emula-
     tion.  Some of the	facilities provided are:

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

     +o	 Special signal	handling for activated images

     +o	 Linux to native system	call translation

     +o	 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 argu-
     ments is missing.

FreeBSD	13.0			 July 5, 2020			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | SYSCTL VARIABLES | FILES | SEE ALSO | HISTORY | BUGS

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

home | help