Start editorial review. More commits to come.

Sponsored by: iXsystems
This commit is contained in:
Dru Lavigne 2014-03-19 23:47:11 +00:00
parent 7bdd124a7d
commit 316dfcd57d
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44292

View file

@ -51,19 +51,17 @@
<secondary>Linux</secondary>
</indexterm>
<para>&os; provides binary compatibility with &linux;, allowing
users to install and run &linux; binaries on a &os; system.
Many companies and developers develop only for &linux;, and
binary compatibility allows &os; users to run about 90% of all
&linux; applications without modification. This includes
productivity applications, games, and more. It has even been
reported that, in some situations, &linux; binaries perform
<para>&os; provides 32-bit binary compatibility with &linux;, allowing
users to install and run most 32-bit &linux; binaries on a &os; system
without having to first modify the binary. It has even been
reported that, in some situations, 32-bit &linux; binaries perform
better on &os; than they do on &linux;.</para>
<para>However, some &linux;-specific operating system features
are not supported under &os;. For example, &linux; binaries
will not work on &os; if they overly use &i386; specific
calls, such as enabling virtual 8086 mode.</para>
calls, such as enabling virtual 8086 mode. In addition, 64-bit
&linux; binaries are not supported at this time.</para>
<para>After reading this chapter, you will know:</para>
@ -101,51 +99,49 @@
</sect1>
<sect1 xml:id="linuxemu-lbc-install">
<title>Installation</title>
<title>Configuring &linux; Binary Compatibility</title>
<indexterm><primary>Ports Collection</primary></indexterm>
<para>&linux; libraries are not installed on &os; by default
and &linux; binary compatibility is not enabled by default.
&linux; libraries can be installed using the &os; Ports
Collection. Alternately, &linux; libraries can be installed
<link linkend="linuxemu-libs-manually">manually</link>.</para>
<para>By default, &linux; libraries are not installed and
&linux; binary compatibility is not enabled.
&linux; libraries can either be installed manually or from the &os; Ports
Collection.</para>
<para>Using the Ports Collection is by far the easiest way to
install &linux; libraries:</para>
<para>The <package>emulators/linux-base-f10</package> package or
port is the easiest way to
install a base set of &linux; libraries and binaries on
a &os; system. To install the port:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-f10</userinput>
&prompt.root; <userinput>make install distclean</userinput></screen>
<para>Once the port is installed, enable &linux; binary
compatibility by loading the <literal>linux</literal> module.
Type the following as
<systemitem class="username">root</systemitem>:</para>
<para>Once installed, enable &linux; binary
compatibility by loading the <literal>linux</literal> module:</para>
<screen>&prompt.root; <userinput>kldload linux</userinput></screen>
<para>In order for &linux; compatibility to always be enabled at
boot time, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>linux_enable="YES"</programlisting>
<para>To verify that the module is loaded, use
&man.kldstat.8;:</para>
<para>To verify that the module is loaded:</para>
<screen>&prompt.user; <userinput>kldstat</userinput>
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.ko</screen>
<para>In order for &linux; compatibility to be enabled at
boot time, add the following line to
<filename>/etc/rc.conf</filename>:</para>
<programlisting>linux_enable="YES"</programlisting>
<indexterm>
<primary>kernel options</primary>
<secondary>COMPAT_LINUX</secondary>
</indexterm>
<para>Users who prefer to statically link &linux; binary
compatibility into the kernel should add
<literal>options COMPAT_LINUX</literal> to the custom kernel
compatibility into a custom kernel should add
<literal>options COMPAT_LINUX</literal> to their custom kernel
configuration file. Compile and install the new kernel as
described in <xref linkend="kernelconfig"/>.</para>