Applied Alex's grammatic-fixes patch.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2128 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Timothy Bauscher 2002-09-22 14:22:43 +00:00
parent 69f8606daf
commit bed61bb6ad
9 changed files with 62 additions and 57 deletions

View File

@ -72,8 +72,8 @@ string of text to the screen) from scratch every time he creates a
program.</para></sect4>
<sect4><title>libsupc++</title>
<para>libsup++ provides support for the c++ programming language. Among other
things, libsup++ contains routines for exception handling.</para></sect4>
<para>libsupc++ provides support for the c++ programming language. Among other
things, libsupc++ contains routines for exception handling.</para></sect4>
</sect3>

View File

@ -11,16 +11,17 @@
<para>The Linux kernel is at the core of every Linux system. It's what makes
Linux tick. When a computer is turned on and boots a Linux system, the
very first piece of Linux software that gets loaded is the kernel. The
kernel initializes the system's hardware components such as serial
ports, parallel ports, sound cards, network cards, IDE controllers, SCSI
controllers and a lot more. In a nutshell the kernel makes the hardware
available so that the software can run.</para></sect4>
kernel initializes the system's hardware components: serial ports, parallel
ports, sound cards, network cards, IDE controllers, SCSI controllers and a
lot more. In a nutshell the kernel makes the hardware available so that the
software can run.</para></sect4>
<sect4><title>linux kernel headers</title>
<para>These are the files we copy to /usr/include/{linux,asm} in chapter
5. They should match those which glibc was compiled against and so
should <emphasis>not</emphasis> be replaced when upgrading the kernel.
They are essential for compiling many programs.</para></sect4>
<para>These are the files we copy to
<filename>/usr/include/{linux,asm}</filename> in chapter 5. They should
match those which glibc was compiled against and therefore should
<emphasis>not</emphasis> be replaced when upgrading the kernel. They are
essential for compiling many programs.</para></sect4>
</sect3>

View File

@ -59,8 +59,11 @@
</itemizedlist>
</para></listitem>
<listitem><para>September 21st, 2002 [timothy]: Chapter 02:
Applied Bill Maltby's grammatic-fixes patch.</para></listitem>
<listitem><para>September 22nd, 2002 [timothy]: Chapter 06: Applied Alex's
grammatic-fixes patch.</para></listitem>
<listitem><para>September 21st, 2002 [timothy]: Chapter 02: Applied Bill
Maltby's grammatic-fixes patch.</para></listitem>
<listitem><para>September 21st, 2002 [timothy]: Chapter 06 - Zlib:
<userinput>mv</userinput> shared lib to /lib.</para></listitem>

View File

@ -2,11 +2,11 @@
<title>Command explanations</title>
<para><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch:</userinput>
This patch converts all occurances of <filename>$(PERL)</filename> to
This patch converts all occurrences of <filename>$(PERL)</filename> to
<filename>/usr/bin/perl</filename> in the
<filename>malloc/Makefile</filename> file. This is done because Glibc can't
autodetect the location of perl because perl has yet to be installed. The
patch also replaces all occurances of <emphasis>root</emphasis> with
patch also replaces all occurrences of <emphasis>root</emphasis> with
<emphasis>0</emphasis> in the <filename>login/Makefile</filename> file.
This is done because Glibc itself isn't installed yet and therefore
username to userid resolving isn't working yet, so a <userinput>chown root
@ -24,7 +24,7 @@ that it can't read the file, so we simply create an empty file (the empty
file will have Glibc default to using /lib and /usr/lib which is fine).</para>
<para><userinput>--disable-profile:</userinput> This disables the building
of libraries with profiling information. This command may be ommitted if
of libraries with profiling information. This command may be omitted if
you plan to do profiling.</para>
<para><userinput>--enable-add-ons:</userinput> This enables the add-on that

View File

@ -1,11 +1,11 @@
<sect2>
<title>Why we copy the kernel headers and don't symlink them</title>
<para>In the past it was common practice for people to symlink the
/usr/include/linux and asm directories to /usr/src/linux/include/linux
and asm respectively. This is a <emphasis>bad</emphasis> idea as
this extract from a post by Linus Torvalds to the Linux Kernel
Mailing List points out:</para>
<para>In the past it was common practice to symlink the
<filename class="directory">/usr/include/{linux,asm}</filename> directories
to <filename class="directory">/usr/src/linux/include/{linux,asm}</filename>.
This was a <emphasis>bad</emphasis> practice, as the following extract from a
post by Linus Torvalds to the Linux Kernel Mailing List points out:</para>
<screen>I would suggest that people who compile new kernels should:
@ -25,11 +25,16 @@ has that broken symlink, and people still remember that the linux
sources should go into "/usr/src/linux" even though that hasn't been
true in a _loong_ time.</screen>
<para>The relevant part here is where he states that the headers should
be the ones which <emphasis>glibc was compiled against</emphasis>. These are
the headers which should remain accessible and so by copying them, we ensure
that we follow these guidelines. Also note that as long as you don't have
those symlinks, it is perfectly fine to have the kernel sources
in <filename>/usr/src/linux</filename>.</para>
<para>The essential part is where Linus states that the header files should be
<emphasis>the ones which glibc was compiled against</emphasis>. These are
the headers that should be used when you later compile other packages, as they
are the ones that match the object-code library files. By copying the headers,
we ensure that they remain available if later you upgrade your kernel.</para>
<para>Note, by the way, that it is perfectly all right to have the kernel sources
in <filename class="directory">/usr/src/linux</filename>, as long as you don't
have the <filename class="directory">/usr/include/{linux,asm}</filename>
symlinks.</para>
</sect2>

View File

@ -1,38 +1,36 @@
<sect2>
<title>Command explanations</title>
<para><userinput>ln -s /static/bin/pwd /bin/pwd</userinput>: The kernel
source hard-wires the path to <filename>pwd</filename> to be
<filename>/bin/pwd</filename> so we create a temporary symlink to deal with
it.</para>
<para><userinput>ln -s /static/bin/pwd /bin/pwd</userinput>: In the kernel
source, the path to the <filename>pwd</filename> program is hard-wired as
<filename>/bin/pwd</filename>, so we create a temporary symlink to account
for that. At the end we remove it again.</para>
<para><userinput>make mrproper:</userinput> This will ensure that the kernel
tree is absolutely clean. We do this because the kernel team recommend
that this is done prior to <emphasis>each</emphasis> kernel compilation,
and that we shouldn't rely on the source tree being automatically clean
after untarring.</para>
<para><userinput>make mrproper</userinput>: This ensures that the kernel
tree is absolutely clean. The kernel team recommends that this command be
issued prior to <emphasis>each</emphasis> kernel compilation, and that you
shouldn't rely on the source tree being clean after untarring.</para>
<para><userinput>make include/linux/version.h</userinput> and
<userinput>make symlinks</userinput>: This creates the
<filename>include/linux/version.h</filename>, as well as the <filename
class="symlink">include/asm</filename> symlink.</para>
<filename>include/linux/version.h</filename> file and the platform-specific
<filename class="symlink">include/asm</filename> symlink.</para>
<para><userinput>mkdir /usr/include/asm</userinput>
, <userinput>cp include/asm/* /usr/include/asm</userinput> and
<userinput>cp include/asm-generic /usr/include</userinput>:
This copies the platform-specific assembler kernel header files to
<userinput>cp -R include/asm-generic /usr/include</userinput>:
These commands copy the platform-specific assembler kernel header files to
<filename class="directory">/usr/include/asm</filename> and <filename
class="directory">/usr/include/asm-generic</filename></para>
class="directory">/usr/include/asm-generic</filename>.</para>
<para><userinput>cp -R include/linux /usr/include</userinput>:
This command copies the cross-platform kernel header files to
<filename>/usr/include</filename></para>
<filename>/usr/include</filename>.</para>
<para><userinput>touch /usr/include/linux/autoconf.h</userinput>: Some
kernel header files include this <filename>autoconf.h</filename> file, but
outside the Linux source tree, that file has no meaning so we just create
an empty one so we don't get compile errors whenever it happens to be a
dependency of another kernel header file.</para>
<para><userinput>touch /usr/include/linux/autoconf.h</userinput>: This
creates an empty <filename>autoconf.h</filename> file. As we do not yet
configure the kernel, we have to create this file ourselves for those few
kernel header files that make use of it, to avoid compilation failures.</para>
</sect2>

View File

@ -1,14 +1,12 @@
<sect2>
<title>Installation of the Linux Kernel</title>
<title>Installation of the kernel headers</title>
<para>We won't be compiling a new kernel image yet. We'll do that after we
have finished the installation of the basic system software in this
chapter. But because certain software needs the kernel header files, we're
going to unpack the kernel archive now and set it up so that we can
compile the packages that need the kernel.</para>
<para>We won't be compiling a new kernel yet -- we'll do that when we have
finished the installation of all the packages. But as some packages need the
kernel header files, we're going to unpack the kernel archive now, set it up,
and copy the header files to where they will be found by these packages.</para>
<para>The kernel configuration file is created by running the following
command:</para>
<para>The kernel headers are copied by running the following commands:</para>
<para><screen><userinput>ln -s /static/bin/pwd /bin/pwd &amp;&amp;
make mrproper &amp;&amp;

View File

@ -2,7 +2,7 @@
<title>Command explanations</title>
<para><userinput>patch -Np1 -i ../sh-utils-&sh-utils-hostname-patch-version;.patch:</userinput> This patch
supresses the build of the hostname program which we will be installed
suppresses the build of the hostname program which we will be installed
later with the net-tools package. The hostname program from the net-tools
package is a much better version (and in some cases even required since it
supports options that are needed by some programs such as XFree86).</para>

View File

@ -4,8 +4,8 @@
<!ENTITY book SYSTEM "book/book.xml">
<!ENTITY version "20020921">
<!ENTITY releasedate "September 21st, 2002">
<!ENTITY version "20020922">
<!ENTITY releasedate "September 22nd, 2002">
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
<!ENTITY http-root "http://ftp.linuxfromscratch.org">