Date: Thu, 20 Mar 2014 14:51:31 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r44295 - head/en_US.ISO8859-1/books/handbook/linuxemu Message-ID: <201403201451.s2KEpVnD071861@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Thu Mar 20 14:51:31 2014 New Revision: 44295 URL: http://svnweb.freebsd.org/changeset/doc/44295 Log: White space fix only. Translators can ignore. Sponsored by: iXsystems Modified: head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml Modified: head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml Thu Mar 20 14:40:52 2014 (r44294) +++ head/en_US.ISO8859-1/books/handbook/linuxemu/chapter.xml Thu Mar 20 14:51:31 2014 (r44295) @@ -51,17 +51,17 @@ <secondary>Linux</secondary> </indexterm> - <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>&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. In addition, 64-bit - &linux; binaries are not supported at this time.</para> + will not work on &os; if they overly use &i386; specific 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> @@ -103,21 +103,21 @@ <indexterm><primary>Ports Collection</primary></indexterm> - <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 + <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>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> + 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 installed, enable &linux; binary - compatibility by loading the <literal>linux</literal> module:</para> + <para>Once installed, enable &linux; binary compatibility by + loading the <literal>linux</literal> module:</para> <screen>&prompt.root; <userinput>kldload linux</userinput></screen> @@ -128,8 +128,8 @@ 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 + <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> @@ -148,90 +148,92 @@ Id Refs Address Size Name <sect2 xml:id="linuxemu-libs-manually"> <title>Installing Additional Libraries Manually</title> - <indexterm> - <primary>shared libraries</primary> - </indexterm> + <indexterm> + <primary>shared libraries</primary> + </indexterm> - <para>If a &linux; - application complains about missing shared - libraries after configuring &linux; binary compatibility, - determine which shared libraries the &linux; binary - needs and install them manually.</para> - - <para>From a &linux; system, - <command>ldd</command> can be used to determine which shared - libraries the application needs. For example, to - check which shared libraries <command>linuxdoom</command> needs, run - this command from a &linux; system that has - <application>Doom</application> installed:</para> + <para>If a &linux; application complains about missing shared + libraries after configuring &linux; binary compatibility, + determine which shared libraries the &linux; binary needs and + install them manually.</para> + + <para>From a &linux; system, <command>ldd</command> can be used + to determine which shared libraries the application needs. + For example, to check which shared libraries + <command>linuxdoom</command> needs, run this command from a + &linux; system that has <application>Doom</application> + installed:</para> - <screen>&prompt.user; <userinput>ldd linuxdoom</userinput> + <screen>&prompt.user; <userinput>ldd linuxdoom</userinput> libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> - <indexterm> - <primary>symbolic links</primary> - </indexterm> - <para>Then, copy all the files in the last column of the output from the &linux; system into - <filename>/compat/linux</filename> on - the &os; system. Once copied, create symbolic links to the names in the first column. - This example will result - in the following files on the &os; system:</para> + <indexterm> + <primary>symbolic links</primary> + </indexterm> - <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0 + <para>Then, copy all the files in the last column of the output + from the &linux; system into + <filename>/compat/linux</filename> on the &os; system. Once + copied, create symbolic links to the names in the first + column. This example will result in the following files on + the &os; system:</para> + + <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0 /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen> - <para>If a &linux; shared library already exists with a - matching major revision number to the first column of - the <command>ldd</command> output, it does not need to - be copied to the file named in the last column, as the - existing library should work. It is advisable to copy - the shared library if it is a newer version, though. - The old one can be removed, as long as the symbolic - link points to the new one.</para> + <para>If a &linux; shared library already exists with a + matching major revision number to the first column of the + <command>ldd</command> output, it does not need to be copied + to the file named in the last column, as the existing library + should work. It is advisable to copy the shared library if it + is a newer version, though. The old one can be removed, as + long as the symbolic link points to the new one.</para> - <para>For example, these - libraries already exist on the &os; system:</para> + <para>For example, these libraries already exist on the &os; + system:</para> - <screen>/compat/linux/lib/libc.so.4.6.27 + <screen>/compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27</screen> - <para>and <command>ldd</command> indicates that a binary requires a later version:</para> + <para>and <command>ldd</command> indicates that a binary + requires a later version:</para> - <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen> + <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen> - <para>Since the existing library is only one or two versions out of date - in the last digit, - the program should still work with the slightly older - version. However, it is safe to replace the - existing <filename>libc.so</filename> with the newer version:</para> + <para>Since the existing library is only one or two versions out + of date in the last digit, the program should still work with + the slightly older version. However, it is safe to replace + the existing <filename>libc.so</filename> with the newer + version:</para> - <screen>/compat/linux/lib/libc.so.4.6.29 + <screen>/compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen> - <para>Generally, one will need to look for the shared - libraries that &linux; binaries depend on only the first few - times that a &linux; program is installed on &os;. After a - while, there will be a sufficient set of &linux; shared - libraries on the system to be able to run newly installed - &linux; binaries without any extra work.</para> + <para>Generally, one will need to look for the shared libraries + that &linux; binaries depend on only the first few times that + a &linux; program is installed on &os;. After a while, there + will be a sufficient set of &linux; shared libraries on the + system to be able to run newly installed &linux; binaries + without any extra work.</para> </sect2> <sect2> - <title>Installing &linux; <acronym>ELF</acronym> Binaries</title> + <title>Installing &linux; <acronym>ELF</acronym> + Binaries</title> <indexterm> <primary>Linux</primary> <secondary>ELF binaries</secondary> </indexterm> - <para><acronym>ELF</acronym> binaries sometimes require an extra step. - When an unbranded <acronym>ELF</acronym> binary is + <para><acronym>ELF</acronym> binaries sometimes require an extra + step. When an unbranded <acronym>ELF</acronym> binary is executed, it will generate an error message:</para> <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput> @@ -239,53 +241,57 @@ ELF binary type not known Abort</screen> <para>To help the &os; kernel distinguish between a &os; - <acronym>ELF</acronym> binary and a &linux; binary, use &man.brandelf.1;:</para> + <acronym>ELF</acronym> binary and a &linux; binary, use + &man.brandelf.1;:</para> <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen> <indexterm> <primary>GNU toolchain</primary> </indexterm> + <para>Since the GNU toolchain places the appropriate branding - information into <acronym>ELF</acronym> binaries automatically, this step is - usually not necessary.</para> + information into <acronym>ELF</acronym> binaries + automatically, this step is usually not necessary.</para> </sect2> <sect2> - <title>Installing a &linux; <acronym>RPM</acronym> Based Application</title> + <title>Installing a &linux; <acronym>RPM</acronym> Based + Application</title> - <para>In order to install a &linux; <acronym>RPM</acronym>-based application, first - install the <package>archivers/rpm2cpio</package> package or - port. Once installed, - <systemitem class="username">root</systemitem> can use this - command to install a <filename>.rpm</filename>:</para> + <para>In order to install a &linux; <acronym>RPM</acronym>-based + application, first install the + <package>archivers/rpm2cpio</package> package or port. Once + installed, <systemitem class="username">root</systemitem> can + use this command to install a + <filename>.rpm</filename>:</para> <screen>&prompt.root; <userinput>cd /compat/linux</userinput> &prompt.root; <userinput>rpm2cpio -q < /path/to/linux.archive.rpm | cpio -id</userinput></screen> <para>If necessary, <command>brandelf</command> the installed - <acronym>ELF</acronym> binaries. - Note that this will prevent a clean uninstall.</para> + <acronym>ELF</acronym> binaries. Note that this will prevent + a clean uninstall.</para> </sect2> <sect2> <title>Configuring the Hostname Resolver</title> - <para>If <acronym>DNS</acronym> does not work or this error appears:</para> + <para>If <acronym>DNS</acronym> does not work or this error + appears:</para> <screen>resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword</screen> - <para>configure - <filename>/compat/linux/etc/host.conf</filename> as - follows:</para> + <para>configure <filename>/compat/linux/etc/host.conf</filename> + as follows:</para> <programlisting>order hosts, bind multi on</programlisting> - <para>This specifies that <filename>/etc/hosts</filename> - is searched first and <acronym>DNS</acronym> is searched second. When - <filename>/compat/linux/etc/host.conf</filename> does not + <para>This specifies that <filename>/etc/hosts</filename> is + searched first and <acronym>DNS</acronym> is searched second. + When <filename>/compat/linux/etc/host.conf</filename> does not exist, &linux; applications use <filename>/etc/host.conf</filename> and complain about the incompatible &os; syntax. Remove <literal>bind</literal> if a
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403201451.s2KEpVnD071861>