Start editorial review. More commits to come.
Sponsored by: iXsystems
This commit is contained in:
parent
7bdd124a7d
commit
316dfcd57d
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44292
1 changed files with 26 additions and 30 deletions
|
|
@ -51,19 +51,17 @@
|
||||||
<secondary>Linux</secondary>
|
<secondary>Linux</secondary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>&os; provides binary compatibility with &linux;, allowing
|
<para>&os; provides 32-bit binary compatibility with &linux;, allowing
|
||||||
users to install and run &linux; binaries on a &os; system.
|
users to install and run most 32-bit &linux; binaries on a &os; system
|
||||||
Many companies and developers develop only for &linux;, and
|
without having to first modify the binary. It has even been
|
||||||
binary compatibility allows &os; users to run about 90% of all
|
reported that, in some situations, 32-bit &linux; binaries perform
|
||||||
&linux; applications without modification. This includes
|
|
||||||
productivity applications, games, and more. It has even been
|
|
||||||
reported that, in some situations, &linux; binaries perform
|
|
||||||
better on &os; than they do on &linux;.</para>
|
better on &os; than they do on &linux;.</para>
|
||||||
|
|
||||||
<para>However, some &linux;-specific operating system features
|
<para>However, some &linux;-specific operating system features
|
||||||
are not supported under &os;. For example, &linux; binaries
|
are not supported under &os;. For example, &linux; binaries
|
||||||
will not work on &os; if they overly use &i386; specific
|
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>
|
<para>After reading this chapter, you will know:</para>
|
||||||
|
|
||||||
|
|
@ -101,51 +99,49 @@
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 xml:id="linuxemu-lbc-install">
|
<sect1 xml:id="linuxemu-lbc-install">
|
||||||
<title>Installation</title>
|
<title>Configuring &linux; Binary Compatibility</title>
|
||||||
|
|
||||||
<indexterm><primary>Ports Collection</primary></indexterm>
|
<indexterm><primary>Ports Collection</primary></indexterm>
|
||||||
|
|
||||||
<para>&linux; libraries are not installed on &os; by default
|
<para>By default, &linux; libraries are not installed and
|
||||||
and &linux; binary compatibility is not enabled by default.
|
&linux; binary compatibility is not enabled.
|
||||||
&linux; libraries can be installed using the &os; Ports
|
&linux; libraries can either be installed manually or from the &os; Ports
|
||||||
Collection. Alternately, &linux; libraries can be installed
|
Collection.</para>
|
||||||
<link linkend="linuxemu-libs-manually">manually</link>.</para>
|
|
||||||
|
|
||||||
<para>Using the Ports Collection is by far the easiest way to
|
<para>The <package>emulators/linux-base-f10</package> package or
|
||||||
install &linux; libraries:</para>
|
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>
|
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-f10</userinput>
|
||||||
&prompt.root; <userinput>make install distclean</userinput></screen>
|
&prompt.root; <userinput>make install distclean</userinput></screen>
|
||||||
|
|
||||||
<para>Once the port is installed, enable &linux; binary
|
<para>Once installed, enable &linux; binary
|
||||||
compatibility by loading the <literal>linux</literal> module.
|
compatibility by loading the <literal>linux</literal> module:</para>
|
||||||
Type the following as
|
|
||||||
<systemitem class="username">root</systemitem>:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>kldload linux</userinput></screen>
|
<screen>&prompt.root; <userinput>kldload linux</userinput></screen>
|
||||||
|
|
||||||
<para>In order for &linux; compatibility to always be enabled at
|
<para>To verify that the module is loaded:</para>
|
||||||
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>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <userinput>kldstat</userinput>
|
<screen>&prompt.user; <userinput>kldstat</userinput>
|
||||||
Id Refs Address Size Name
|
Id Refs Address Size Name
|
||||||
1 2 0xc0100000 16bdb8 kernel
|
1 2 0xc0100000 16bdb8 kernel
|
||||||
7 1 0xc24db000 d000 linux.ko</screen>
|
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>
|
<indexterm>
|
||||||
<primary>kernel options</primary>
|
<primary>kernel options</primary>
|
||||||
<secondary>COMPAT_LINUX</secondary>
|
<secondary>COMPAT_LINUX</secondary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>Users who prefer to statically link &linux; binary
|
<para>Users who prefer to statically link &linux; binary
|
||||||
compatibility into the kernel should add
|
compatibility into a custom kernel should add
|
||||||
<literal>options COMPAT_LINUX</literal> to the custom kernel
|
<literal>options COMPAT_LINUX</literal> to their custom kernel
|
||||||
configuration file. Compile and install the new kernel as
|
configuration file. Compile and install the new kernel as
|
||||||
described in <xref linkend="kernelconfig"/>.</para>
|
described in <xref linkend="kernelconfig"/>.</para>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue