aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
diff options
context:
space:
mode:
authorNik Clayton <nik@FreeBSD.org>1998-11-12 01:26:39 +0000
committerNik Clayton <nik@FreeBSD.org>1998-11-12 01:26:39 +0000
commit276c9344d5e936829b18cdc753dbe6cfe5ba9e00 (patch)
treea84688e694ce3766cfedb4797fedd3fa4f79343e /en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
parent80e2e9e012d88a55af39b9e3bc4983fe390f1173 (diff)
downloaddoc-276c9344d5e936829b18cdc753dbe6cfe5ba9e00.tar.gz
doc-276c9344d5e936829b18cdc753dbe6cfe5ba9e00.zip
Merged in the following changes. This was done by taking diffs between the
tags LINUXDOC_2_DOCBOOK_START and LINUXDOC_2_DOCBOOK from doc/handbook/. Note that the LINUXDOC_2_DOCBOOK tag is not necessarily at the HEAD of the file. So some files won't show changes because changes were applied after I laid down the LINUXDOC_2_DOCBOOK tag. Not everything was merged. In some cases, URLs had been shortened; http://www.freebsd.org/docproj/ becomes ../docproj/ This is a mistake, since users browsing the Handbook on their own machine can't be expected to have links like this work. Of course, for mirrors, they'll end up pointing back to the main site. For the mean time, do nothing -- this will need an entity defined to reference the base URL of the FreeBSD site, individual mirrors can set this as necessary. Notice how some files (on the left) are merged to the same file (on the right). This is because the new Handbook file structure is organised on DocBook chapter lines. Files with no revision number in the "From" column didn't exist when I started the conversion. File From -> To Merged to files... --------------------------------------------------------------- anoncvs.sgml -> 1.1 cutting-edge/chapter.sgml authors.sgml 1.93 -> 1.118 authors.ent backups.sgml -> 1.4 backups/chapter.sgml bibliography.sgml 1.33 -> 1.37 bibliography/chapter.sgml contrib.sgml 1.274 -> 1.312 staff/chapter.sgml ctm.sgml 1.22 -> 1.23 cutting-edge/chapter.sgml cvsup.sgml 1.36 -> 1.40 cutting-edge/chapter.sgml disks.sgml -> 1.3 disks/chapter.sgml eresources.sgml 1.39 -> 1.50 eresources/chapter.sgml firewalls.sgml 1.19 -> 1.20 security/chapter.sgml handbook.sgml 1.83 -> 1.91 handbook.sgml history.sgml 1.24 -> 1.25 introduction/chapter.sgml install.sgml 1.65 -> 1.67 install/chapter.sgml isdn.sgml 1.12 -> 1.15 advanced-networking/chapter.sgml kerberos.sgml 1.12 -> 1.13 security/chapter.sgml kernelconfig.sgml 1.31 -> 1.32 kernelconfig/chapter.sgml kerneldebug.sgml 1.17 -> 1.19 kerneldebug/chapter.sgml linuxemu.sgml 1.22 -> 1.24 linuxemu/chapter.sgml memoryuse.sgml 1.11 -> 1.12 internals/chapter.sgml mirrors.sgml 1.80 -> 1.92 mirrors/chapter.sgml nutshell.sgml 1.14 -> 1.15 introduction/chapter.sgml pgpkeys.sgml 1.25 -> 1.28 pgpkeys/chapter.sgml policies.sgml 1.16 -> 1.18 policies/chapter.sgml porting.sgml 1.93 -> 1.112 contrib/chapter.sgml ports.sgml 1.29 -> 1.31 ports/chapter.sgml printing.sgml 1.21 -> 1.22 printing/chapter.sgml relnotes.sgml 1.24 -> 1.28 introduction/chapter.sgml [1] submitters.sgml 1.161 -> 1.246 contrib/chapter.sgml synching.sgml 1.12 -> 1.13 cutting-edge/chapter.sgml userppp.sgml 1.28 -> 1.30 ppp-and-slip/chapter.sgml [1] A chunk of relnotes.sgml is in an IGNORED marked section. Why? Submitted by: A bunch (~ 50%) of merging done by Charles A. Wimmer (cawimm@FreeBSD.ORG), rest by Nik.
Notes
Notes: svn path=/head/; revision=3793
Diffstat (limited to 'en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml')
-rw-r--r--en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml56
1 files changed, 39 insertions, 17 deletions
diff --git a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index 426491a079..187301676e 100644
--- a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -11,7 +11,7 @@
possible to run a large fraction of Linux binaries in both a.out and
ELF format. The linux emulation in the 2.1-STABLE branch is capable
of running Linux DOOM and Mathematica; the version present in
- FreeBSD-2.2-RELEASE is vastly more capable and runs all these as
+ &rel.current;-RELEASE is vastly more capable and runs all these as
well as Quake, Abuse, IDL, netrek for Linux and a whole host of
other programs.</para>
@@ -22,11 +22,6 @@
filesystem) or i386-specific calls, such as enabling virtual 8086
mode.</para>
- <para>To tell whether your kernel is configured for Linux
- compatibility simply run any Linux binary. If it prints the error
- message <errorname>linux-executable: Exec format error. Wrong Architecture.</errorname> then you do not have linux compatibility support
- and you need to configure and install a new kernel.</para>
-
<para>Depending on which version of FreeBSD you are running, how you
get Linux-emulation up will vary slightly:</para>
@@ -180,7 +175,7 @@ options LINUX</programlisting>
just grab the linux_lib port:</para>
<informalexample>
- <screen>&prompt.root; <userinput>cd /usr/ports-current/emulators/linux_lib</userinput>
+ <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_lib</userinput>
&prompt.root; <userinput>make all install</userinput></screen>
</informalexample>
@@ -188,10 +183,9 @@ options LINUX</programlisting>
the mail archives <!-- smiley -->:-) seems to hold that Linux emulation works
best with linux binaries linked against the ZMAGIC libraries;
QMAGIC libraries (such as those used in Slackware V2.0) may tend
- to give the Linuxulator heartburn. As of this writing (March
- 1996) ELF emulation is still in the formulative stages but seems
- to work pretty well. Also, expect some programs to complain
- about incorrect minor versions. In general this does not seem
+ to give the Linuxulator heartburn. Also, expect some programs to complain
+ about incorrect minor versions of the system libraries. In
+ general, however, this does not seem
to be a problem.</para>
</sect3>
@@ -216,7 +210,7 @@ options LINUX</programlisting>
that the Linux <command>ld.so</command> reports.</para>
<para>FreeBSD-2.2-RELEASE and later works slightly differently
- with respect to <command>/compat/linux</command>. On -CURRENT, all files, not just
+ with respect to <filename>/compat/linux</filename>: all files, not just
libraries, are searched for from the &ldquo;shadow root&rdquo;
<filename>/compat/linux</filename>.</para>
@@ -240,7 +234,7 @@ options LINUX</programlisting>
do the necessary installation steps).</para>
<para>If you have access to a Linux system, see what shared
- libraries it needs, and copy them to your FreeBSD system.
+ libraries the application needs, and copy them to your FreeBSD system.
Example: you have just ftp'ed the Linux binary of Doom. Put it
on the Linux system you have access to, and check which shared
libraries it needs by running <command>ldd linuxxdoom</command>:</para>
@@ -313,7 +307,7 @@ libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
<sect3>
<title>Configuring the <filename>ld.so</filename> &mdash; for FreeBSD
- 2.2-RELEASE only</title>
+ 2.2-RELEASE and later</title>
<para>This section applies only to FreeBSD 2.2-RELEASE and later.
Those running 2.1-STABLE should skip this section.</para>
@@ -424,7 +418,35 @@ libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
</sect3>
</sect2>
-
+
+ <sect2>
+ <title>Installing Linux ELF binaries</title>
+
+ <para>ELF binaries sometimes require an extra step of
+ &ldquo;branding&rdquo;. If you attempt to run an unbranded ELF binary,
+ you will get an error message like the following;</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput>
+ELF binary type not known
+Abort</screen>
+ </informalexample>
+
+ <para>To help the FreeBSD kernel distinguish between a FreeBSD ELF
+ binary from a Linux one, use the <citerefentry>
+ <refentrytitle>brandelf</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry> utility.</para>
+
+ <informalexample>
+ <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen>
+ </informalexample>
+
+ <para>The GNU toolchain now places the appropriate branding information
+ into ELF binaries automatically, so you should be needing to do this
+ step increasingly rarely in future.</para>
+ </sect2>
+
<sect2>
<title>Configuring the host name resolver</title>
@@ -455,7 +477,7 @@ multi on</programlisting>
<para>Lastly, those who run 2.1-STABLE need to set an the
<envar>RESOLV_HOST_CONF</envar> environment variable so that applications will
know how to search the host tables. If you run FreeBSD
- 2.2-RELEASE, you can skip this. For the
+ 2.2-RELEASE or later, you can skip this. For the
<filename>/bin/csh</filename> shell use:</para>
<informalexample>
@@ -507,7 +529,7 @@ multi on</programlisting>
</listitem>
<listitem>
- <para>ftp.demon.co.uk:/pub/linux/distributions</para>
+ <para>ftp.demon.co.uk:/pub/unix/linux</para>
</listitem>
<listitem>