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

FreeBSD Manual Pages


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

     linux -- Linux ABI	support

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


     The linux module provides limited Linux ABI (application binary inter-
     face) compatibility for userland applications.  The module	provides the
     following significant facilities:

     +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

     It	is important to	note that the Linux ABI	support	it not provided
     through an	emulator.  Rather, a true (albeit limited) ABI implementation
     is	provided.

     The following sysctl(8) tunable variables are available:

     compat.linux.osname       Linux kernel operating system name.

     compat.linux.osrelease    Linux kernel operating system release.  Chang-
			       ing 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.

     The linux module can be linked into the kernel statically with the
     COMPAT_LINUX kernel configuration option or loaded	as required.  The fol-
     lowing command will load the module if it is neither linked into the ker-
     nel nor already loaded as a module:

	   if !	kldstat	-v | grep -E 'linux(aout|elf)' > /dev/null; then
		   kldload linux > /dev/null 2>&1

     Note that dynamically linked Linux	executables will require a suitable
     environment in /compat/linux.  Specifically, the Linux run-time linker's
     hints files should	be correctly initialized.  For this reason, it is com-
     mon to execute the	following commands to prepare the system to correctly
     run Linux executables:

	   if [	-x /compat/linux/sbin/ldconfig ]; then
		   /compat/linux/sbin/ldconfig -r /compat/linux

     For information on	loading	the linux kernel loadable module automatically
     on	system startup,	see rc.conf(5).	 This information applies regardless
     of	whether	the linux module is statically linked into the kernel or
     loaded as a module.

     /compat/linux	 minimal Linux run-time	environment
     /compat/linux/proc	 limited Linux process file system
     /compat/linux/sys	 limited Linux system file system

     brandelf(1), elf(5), linprocfs(5),	linsysfs(5)

     Linux ABI support first appeared in FreeBSD 2.1.

BSD			       February	8, 2010				   BSD


Want to link to this manual page? Use this URL:

home | help