summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/linux.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/linux.4 3.html')
-rw-r--r--static/freebsd/man4/linux.4 3.html152
1 files changed, 152 insertions, 0 deletions
diff --git a/static/freebsd/man4/linux.4 3.html b/static/freebsd/man4/linux.4 3.html
new file mode 100644
index 00000000..d10dae0d
--- /dev/null
+++ b/static/freebsd/man4/linux.4 3.html
@@ -0,0 +1,152 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">LINUX(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">LINUX(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">linux</code> &#x2014; <span class="Nd">Linux ABI
+ support</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp">To enable the Linux ABI at boot time, place the following line in
+ <a class="Xr">rc.conf(5)</a>:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>linux_enable=&quot;YES&quot;</pre>
+</div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">linux</code> kernel module provides limited
+ Linux ABI (application binary interface) compatibility, making it possible
+ to run many unmodified Linux applications without the need for
+ virtualization or emulation. Some of the facilities provided are:</p>
+<ul class="Bl-bullet">
+ <li>Linux to native system call translation</li>
+ <li>Linux-specific system calls</li>
+ <li>Special signal handling for Linux processes</li>
+ <li>Path translation mechanism</li>
+ <li>Linux-specific virtual file systems</li>
+</ul>
+<p class="Pp">The path translation mechanism makes Linux processes look up file
+ paths under <var class="Va">emul_path</var> (defaulting to
+ <span class="Pa">/compat/linux</span>) before <span class="Pa">/</span>. For
+ example, when a Linux process attempts to open
+ <span class="Pa">/etc/passwd</span>, it will first access
+ <span class="Pa">/compat/linux/etc/passwd</span>, falling back to
+ <span class="Pa">/etc/passwd</span> if the compat path does not exist. This
+ is used to make sure Linux processes load Linux shared libraries instead of
+ their similarly-named FreeBSD counterparts, and also to provide alternative
+ versions of certain other files and virtual file systems.</p>
+<p class="Pp">To install Linux shared libraries and system files into
+ <span class="Pa">/compat/linux</span>, either use the
+ <span class="Pa">emulators/linux_base-c7</span> port or package, or
+ <a class="Xr">debootstrap(8)</a> installed from
+ <span class="Pa">sysutils/debootstrap</span>.</p>
+<p class="Pp">To avoid mounting Linux-specific filesystems at startup, add the
+ following line to the <a class="Xr">rc.conf(5)</a> file:</p>
+<p class="Pp"></p>
+<div class="Bd
+ Bd-indent"><code class="Li">linux_mounts_enable=&quot;NO&quot;</code></div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYSCTL_VARIABLES"><a class="permalink" href="#SYSCTL_VARIABLES">SYSCTL
+ VARIABLES</a></h1>
+<p class="Pp">The following variables are available as both
+ <a class="Xr">sysctl(8)</a> variables and <a class="Xr">loader(8)</a>
+ tunables:</p>
+<dl class="Bl-tag">
+ <dt id="compat.linux.debug"><var class="Va">compat.linux.debug</var></dt>
+ <dd>Enable debugging messages. Set to 0 to silence them. Defaults to 3. A
+ setting of 1 prints debug messages, tells about unimplemented stuff (only
+ once). Set to 2 is like 1, but also prints messages about implemented but
+ not tested stuff (only once). Setting it to 3 or higher is like 2, but no
+ rate limiting of messages.</dd>
+ <dt id="compat.linux.default_openfiles"><var class="Va">compat.linux.default_openfiles</var></dt>
+ <dd>Default soft openfiles resource limit for Linux applications. Set to -1 to
+ disable the limit. Defaults to 1024.</dd>
+ <dt id="compat.linux.emul_path"><var class="Va">compat.linux.emul_path</var></dt>
+ <dd>Path to the Linux run-time environment. Defaults to
+ <span class="Pa">/compat/linux</span>.</dd>
+ <dt id="compat.linux.osname"><var class="Va">compat.linux.osname</var></dt>
+ <dd>Linux kernel operating system name. Defaults to &quot;Linux&quot;.</dd>
+ <dt id="compat.linux.osrelease"><var class="Va">compat.linux.osrelease</var></dt>
+ <dd>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. Some versions of GNU libc are known to use different
+ syscalls depending on the value of this sysctl.</dd>
+ <dt id="compat.linux.oss_version"><var class="Va">compat.linux.oss_version</var></dt>
+ <dd>Linux Open Sound System version. Defaults to 198144.</dd>
+ <dt id="compat.linux.preserve_vstatus"><var class="Va">compat.linux.preserve_vstatus</var></dt>
+ <dd>When set to 1, it prevents Linux applications from resetting the
+ <a class="Xr">termios(4)</a> VSTATUS setting. From a user perspective,
+ this makes <var class="Va">SIGINFO</var> work for Linux executables.
+ Defaults to 1.</dd>
+ <dt id="compat.linux.setid_allowed"><var class="Va">compat.linux.setid_allowed</var></dt>
+ <dd>Enable handling of set-user-ID and set-group-ID mode bits for the new
+ process image file when image is to be executed under Linux ABI. When set
+ to 0, new Linux images always use credentials of the program that issued
+ the <a class="Xr">execve(2)</a> call, regardless of the image file mode.
+ This might be reasonable or even required, because
+ <span class="Ux">FreeBSD</span> does not emulate the Linux environment
+ completely, and missed features may result in security vulnerabilities.
+ Defaults to 1.</dd>
+ <dt id="compat.linux32.emulate_i386"><var class="Va">compat.linux32.emulate_i386</var></dt>
+ <dd>In the x86_64 (amd64) world enable the real i386 Linuxulator behavior. For
+ example, when set to 0, Linux uname -m will return &quot;x86_64&quot; even
+ if uname itself is a i386 Linux executable. When set to 1, Linux i386
+ uname -m will return &quot;i686&quot;. Defaults to 0.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag Bl-compact">
+ <dt><span class="Pa">/compat/linux</span></dt>
+ <dd>Linux run-time environment</dd>
+ <dt><span class="Pa">/compat/linux/dev</span></dt>
+ <dd>device file system, see <a class="Xr">devfs(4)</a></dd>
+ <dt><span class="Pa">/compat/linux/dev/fd</span></dt>
+ <dd>file descriptor file system mounted with the
+ <code class="Cm">linrdlnk</code> option, see
+ <a class="Xr">fdescfs(4)</a></dd>
+ <dt><span class="Pa">/compat/linux/dev/mqueue</span></dt>
+ <dd>symbolic link to a mqueuefs mount, see <a class="Xr">mqueuefs(4)</a></dd>
+ <dt><span class="Pa">/compat/linux/dev/shm</span></dt>
+ <dd>in-memory file system, see <a class="Xr">tmpfs(4)</a></dd>
+ <dt><span class="Pa">/compat/linux/proc</span></dt>
+ <dd>Linux process file system, see <a class="Xr">linprocfs(4)</a></dd>
+ <dt><span class="Pa">/compat/linux/sys</span></dt>
+ <dd>Linux kernel objects file system, see <a class="Xr">linsysfs(4)</a></dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">brandelf(1)</a>, <a class="Xr">fdescfs(4)</a>,
+ <a class="Xr">linprocfs(4)</a>, <a class="Xr">linsysfs(4)</a>,
+ <a class="Xr">mqueuefs(4)</a>, <a class="Xr">pty(4)</a>,
+ <a class="Xr">tmpfs(4)</a>, <a class="Xr">elf(5)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">Linux ABI support first appeared for i386 in
+ <span class="Ux">FreeBSD 2.1</span>. Support for amd64 binaries first
+ appeared in <span class="Ux">FreeBSD 10.3</span>. Support for arm64 binaries
+ first appeared in <span class="Ux">FreeBSD 12.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
+<p class="Pp">Support for some of the Linux-specific system calls and system
+ call arguments is missing.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">May 19, 2024</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>