aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>1999-09-15 19:29:38 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>1999-09-15 19:29:38 +0000
commit44173f163e60161fdd2ebda0adfd27ffeaf8442e (patch)
tree84e8f51d96deb6bf498d057161d42d59c000b2e1 /en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
parent19d4d8cc1a79141afcfd6a3202e1573a322d68a5 (diff)
downloaddoc-44173f163e60161fdd2ebda0adfd27ffeaf8442e.tar.gz
doc-44173f163e60161fdd2ebda0adfd27ffeaf8442e.zip
White space only changes to fix long lines.
Notes
Notes: svn path=/head/; revision=5634
Diffstat (limited to 'en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml')
-rw-r--r--en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml161
1 files changed, 86 insertions, 75 deletions
diff --git a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index 61a3ed1159..6078b29aa4 100644
--- a/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -12,19 +12,19 @@
<sect1>
<title>How to Install the Linux Mode</title>
- <para>Linux binary compatibility in FreeBSD has reached a point where it is possible
- to run a large fraction of Linux binaries in both a.out and ELF format.
- The Linux compatibility in the 2.1-STABLE branch is capable of running Linux
- DOOM and Mathematica; the version present in &rel.current;-RELEASE is
- vastly more capable and runs all these as well as Oracle8,
- WordPerfect, StarOffice, Acrobat, Quake, Abuse, IDL, and
+ <para>Linux binary compatibility in FreeBSD has reached a point where it
+ is possible to run a large fraction of Linux binaries in both a.out and
+ ELF format. The Linux compatibility in the 2.1-STABLE branch is capable
+ of running Linux DOOM and Mathematica; the version present in
+ &rel.current;-RELEASE is vastly more capable and runs all these as well
+ as Oracle8, WordPerfect, StarOffice, Acrobat, Quake, Abuse, IDL, and
netrek for Linux and a whole host of other programs.</para>
<para>There are some Linux-specific operating system features that are not
supported on FreeBSD. Linux binaries will not work on FreeBSD if they
- overly use the Linux <filename>/proc</filename> filesystem (which is different
- from the optional FreeBSD <filename>/proc</filename> filesystem) or
- i386-specific calls, such as enabling virtual 8086 mode.</para>
+ overly use the Linux <filename>/proc</filename> filesystem (which is
+ different from the optional FreeBSD <filename>/proc</filename> filesystem)
+ or i386-specific calls, such as enabling virtual 8086 mode.</para>
<para>Depending on which version of FreeBSD you are running, how you get
Linux mode up will vary somewhat:</para>
@@ -33,10 +33,11 @@
<title>Installing Linux Mode in 3.0-RELEASE and later</title>
<para>It is no longer necessary to specify <literal>options
- LINUX</literal> or <literal>options COMPAT_LINUX</literal>. Linux
- binary compatibility is done with an KLD object (&ldquo;Kernel LoaDable object&rdquo;)
- so it can be installed on the fly without having to reboot. You will
- need the following things in your startup files, however:</para>
+ LINUX</literal> or <literal>options COMPAT_LINUX</literal>. Linux
+ binary compatibility is done with an KLD object (&ldquo;Kernel LoaDable
+ object&rdquo;) so it can be installed on the fly without having to
+ reboot. You will need the following things in your startup files,
+ however:</para>
<orderedlist>
<listitem>
@@ -59,7 +60,8 @@ fi</programlisting>
</listitem>
</orderedlist>
- <para>If you want to verify that the KLD is loaded, <command>kldstat</command> will do that:</para>
+ <para>If you want to verify that the KLD is loaded,
+ <command>kldstat</command> will do that:</para>
<screen>&prompt.user; kldstat
Id Refs Address Size Name
@@ -67,25 +69,26 @@ Id Refs Address Size Name
7 1 0xc24db000 d000 linux.ko</screen>
<para>If for some reason you do not want to or cannot load the
- Linux KLD, then statically link the binary compatibility in the kernel by
- adding
+ Linux KLD, then statically link the binary compatibility in the kernel
+ by adding
<programlisting>
options LINUX</programlisting>
- to your kernel config file. Then run <command>config</command> and install the new
- kernel as described in the <link linkend="kernelconfig">kernel
- configuration</link> section.</para>
+ to your kernel config file. Then run <command>config</command> and install
+ the new kernel as described in the <link linkend="kernelconfig">kernel
+ configuration</link> section.</para>
</sect2>
<sect2>
<title>Installing Linux Mode in 2.2.2-RELEASE and later 2.2.x versions</title>
<para>It is no longer necessary to specify <literal>options
- LINUX</literal> or <literal>options COMPAT_LINUX</literal>. Linux
- binary compatibility is done with an LKM (&ldquo;Loadable Kernel Module&rdquo;)
- so it can be installed on the fly without having to reboot. You will
- need the following things in your startup files, however:</para>
+ LINUX</literal> or <literal>options COMPAT_LINUX</literal>. Linux
+ binary compatibility is done with an LKM (&ldquo;Loadable Kernel
+ Module&rdquo;) so it can be installed on the fly without having to
+ reboot. You will need the following things in your startup files,
+ however:</para>
<orderedlist>
<listitem>
@@ -122,9 +125,9 @@ EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod</screen>
<programlisting>
options LINUX</programlisting>
- to your kernel config file. Then run <command>config</command> and install the new
- kernel as described in the <link linkend="kernelconfig">kernel
- configuration</link> section.</para>
+ to your kernel config file. Then run <command>config</command> and
+ install the new kernel as described in the
+ <link linkend="kernelconfig">kernel configuration</link> section.</para>
</sect2>
<sect2>
@@ -132,12 +135,12 @@ options LINUX</programlisting>
<para>The <filename>GENERIC</filename> kernel in 2.1-STABLE is not
configured for Linux compatibility so you must reconfigure your kernel
- for it. There are two ways to do this: 1. linking the binary compatibility
- statically in the kernel itself and 2. configuring your kernel to
- dynamically load the Linux loadable kernel module (LKM).</para>
+ for it. There are two ways to do this: 1. linking the binary
+ compatibility statically in the kernel itself and 2. configuring your
+ kernel to dynamically load the Linux loadable kernel module (LKM).</para>
- <para>To enable Linux binary compatibility, add the following to your configuration
- file (c.f. <filename>/sys/i386/conf/LINT</filename>):</para>
+ <para>To enable Linux binary compatibility, add the following to your
+ configuration file (c.f. <filename>/sys/i386/conf/LINT</filename>):</para>
<programlisting>
options COMPAT_LINUX</programlisting>
@@ -154,15 +157,15 @@ options SYSVSHM</programlisting>
<programlisting>
options "COMPAT_43"</programlisting>
- <para>If you prefer to statically link the binary compatibility in the kernel rather
- than use the loadable kernel module (LKM), then add</para>
+ <para>If you prefer to statically link the binary compatibility in the
+ kernel rather than use the loadable kernel module (LKM), then add</para>
<programlisting>
options LINUX</programlisting>
- <para>Then run <command>config</command> and install the new kernel as described in the
- <link linkend="kernelconfig">kernel configuration</link>
- section.</para>
+ <para>Then run <command>config</command> and install the new kernel as
+ described in the <link linkend="kernelconfig">kernel
+ configuration</link> section.</para>
<para>If you decide to use the LKM you must also install the loadable
module. A mismatch of versions between the kernel and loadable module
@@ -193,9 +196,10 @@ Module Name EXEC 0 3 f0baf000 0018 f0bb4000 1 linux_emulator</screen>
<programlisting>
linux=YES</programlisting>
- by changing it from <literal>NO</literal> to <literal>YES</literal>. FreeBSD 2.1 RELEASE and earlier do not
- have such a line and on those you will need to edit
- <filename>/etc/rc.local</filename> to add the following line.</para>
+ by changing it from <literal>NO</literal> to <literal>YES</literal>.
+ FreeBSD 2.1 RELEASE and earlier do not have such a line and on those you
+ will need to edit <filename>/etc/rc.local</filename> to add the following
+ line.</para>
<programlisting>
linux</programlisting>
@@ -215,13 +219,14 @@ linux</programlisting>
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput>
&prompt.root; <userinput>make all install</userinput></screen>
- <para>and you should have working Linux binary compatibility. Legend (and the
- mail archives <!-- smiley -->:-) seems to hold that Linux mode
- 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 Linux mode 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>
+ <para>and you should have working Linux binary compatibility. Legend
+ (and the mail archives <!-- smiley -->:-) seems to hold that Linux
+ mode 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 Linux mode 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>
<sect3>
@@ -368,9 +373,10 @@ libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
<para>Create the file
<filename>/compat/linux/etc/ld.so.conf</filename>, containing the
directories in which the Linux runtime linker should look for shared
- libraries. It is a plain text file, containing a directory name on each
- line. <filename>/lib</filename> and <filename>/usr/lib</filename>
- are standard, you could add the following:</para>
+ libraries. It is a plain text file, containing a directory name on
+ each line. <filename>/lib</filename> and
+ <filename>/usr/lib</filename> are standard, you could add the
+ following:</para>
<programlisting>
/usr/X11/lib
@@ -384,8 +390,8 @@ libc.so.4 (DLL Jump 4.5pl26) =&gt; /lib/libc.so.4.6.29</screen>
<filename>/compat/linux/usr/X11/lib/libX11.so</filename>, etc.) in
order for the Linux ABI loader to find them.</para>
- <para>Those running FreeBSD 2.2-RELEASE should run the Linux <command>ldconfig</command>
- program.</para>
+ <para>Those running FreeBSD 2.2-RELEASE should run the Linux
+ <command>ldconfig</command> program.</para>
<screen>&prompt.root <userinput>cd /compat/linux/lib</userinput>
&prompt.root; <userinput>/compat/linux/sbin/ldconfig</userinput></screen>
@@ -547,10 +553,11 @@ multi on</programlisting>
separate packages. Normally, they are controlled by an install
program, but you can retrieve files &ldquo;by hand&rdquo; too. First
of all, you will need to look in the <filename>contents</filename>
- subdirectory of the distribution. You will find a lot of small text files
- here describing the contents of the separate packages. The fastest
- way to look something up is to retrieve all the files in the contents
- subdirectory, and <command>grep</command> through them for the file you need. Here is an
+ subdirectory of the distribution. You will find a lot of small text
+ files here describing the contents of the separate packages. The
+ fastest way to look something up is to retrieve all the files in the
+ contents subdirectory, and <command>grep</command> through them for
+ the file you need. Here is an
example of a list of files that you might need, and in which
contents-file you will find it by grepping through them:</para>
@@ -750,15 +757,16 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
<para>It will ask you to enter your license number and the Wolfram
supplied password. If you get them mixed up or for some reason the
- <command>math.install</command> fails, that is OK; you can simply edit the file
- <filename>mathpass</filename> in this same directory to correct the
- info manually.</para>
+ <command>math.install</command> fails, that is OK; you can simply edit
+ the file <filename>mathpass</filename> in this same directory to
+ correct the info manually.</para>
- <para>After getting past the password, <command>math.install</command> will ask you if you
- accept the install defaults provided, or if you want to use your own.
- If you are like us and distrust all install programs, you probably
- want to specify the actual directories. Beware. Although the
- <command>math.install</command> program asks you to specify directories, it will not
+ <para>After getting past the password, <command>math.install</command>
+ will ask you if you accept the install defaults provided, or if you
+ want to use your own. If you are like us and distrust all install
+ programs, you probably want to specify the actual directories.
+ Beware. Although the <command>math.install</command> program asks
+ you to specify directories, it will not
create them for you, so you should perhaps have a second window open
with another shell so that you can create them before you give them to
the install program. Or, if it fails, you can create the directories
@@ -799,8 +807,9 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
execute the <command>xfe.install</command> shell script. You will
have to tell it where to put things, but you do not have to create any
directories because it will use the same directories that had been
- created for <command>math.install</command>. When it finishes, there should be a new
- shell script in <filename>/usr/local/Mathematica/bin</filename> called
+ created for <command>math.install</command>. When it finishes, there
+ should be a new shell script in
+ <filename>/usr/local/Mathematica/bin</filename> called
<filename>mathematica</filename>.</para>
<para>Lastly, you need to modify each of the shell scripts that
@@ -819,8 +828,9 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
<screen>&prompt.user; <userinput>RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF</userinput></screen>
- <para>This tells Mathematica to use the Linux version of <filename>host.conf</filename>.
- This file has a different syntax from FreeBSD's <filename>host.conf</filename>, so you will
+ <para>This tells Mathematica to use the Linux version of
+ <filename>host.conf</filename>. This file has a different syntax
+ from FreeBSD's <filename>host.conf</filename>, so you will
get an error message about <filename>/etc/host.conf</filename> if you
leave this out.</para>
@@ -847,8 +857,8 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
<para>We have not found the cause for this, but it only affects the
Notebook's X Window front end, not the mathematica engine itself. So
- the command line interface invoked by <command>math</command> is unaffected by this
- bug.</para>
+ the command line interface invoked by <command>math</command> is
+ unaffected by this bug.</para>
</sect2>
<sect2>
@@ -918,8 +928,9 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
<para>When the ELF loader sees the <literal>Linux</literal> brand, the
loader replaces a pointer in the <literal>proc</literal>
structure. All system calls are indexed through this pointer (in a
- traditional UNIX system, this would be the <literal>sysent[]</literal> structure array, containing the system
- calls). In addition, the process is flagged for special handling of the
+ traditional UNIX system, this would be the <literal>sysent[]</literal>
+ structure array, containing the system calls). In addition, the
+ process flagged for special handling of the
trap vector for the signal trampoline code, and sever other (minor)
fix-ups that are handled by the Linux kernel module.</para>
@@ -941,8 +952,8 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
done in the
<filename>/<replaceable>original-path</replaceable></filename>
directory. This makes sure that binaries that require other binaries
- can run (e.g., the Linux toolchain can all run under Linux ABI support). It
- also means that the Linux binaries can load and exec FreeBSD binaries,
+ can run (e.g., the Linux toolchain can all run under Linux ABI support).
+ It also means that the Linux binaries can load and exec FreeBSD binaries,
if there are no corresponding Linux binaries present, and that you could
place a &man.uname.1; command in the <filename>/compat/linux</filename>
directory tree to ensure that the Linux binaries could not tell they
@@ -973,8 +984,8 @@ richc.isdn.bcm.tmc.edu 9845-03452-90255</screen>
implementation, not an emulation. There is no emulator (or simulator,
to cut off the next question) involved.</para>
- <para>So why is it sometimes called &ldquo;Linux emulation&rdquo;? To make it hard
- to sell FreeBSD! <!-- smiley -->8-). Really, it is because the
+ <para>So why is it sometimes called &ldquo;Linux emulation&rdquo;? To make
+ it hard to sell FreeBSD! <!-- smiley -->8-). Really, it is because the
historical implementation was done at a time when there was really no
word other than that to describe what was going on; saying that FreeBSD
ran Linux binaries was not true, if you did not compile the code in or