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> program.</para></sect4>
<sect4><title>libsupc++</title> <sect4><title>libsupc++</title>
<para>libsup++ provides support for the c++ programming language. Among other <para>libsupc++ provides support for the c++ programming language. Among other
things, libsup++ contains routines for exception handling.</para></sect4> things, libsupc++ contains routines for exception handling.</para></sect4>
</sect3> </sect3>

View File

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

View File

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

View File

@ -2,11 +2,11 @@
<title>Command explanations</title> <title>Command explanations</title>
<para><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch:</userinput> <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>/usr/bin/perl</filename> in the
<filename>malloc/Makefile</filename> file. This is done because Glibc can't <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 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. <emphasis>0</emphasis> in the <filename>login/Makefile</filename> file.
This is done because Glibc itself isn't installed yet and therefore 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 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> file will have Glibc default to using /lib and /usr/lib which is fine).</para>
<para><userinput>--disable-profile:</userinput> This disables the building <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> you plan to do profiling.</para>
<para><userinput>--enable-add-ons:</userinput> This enables the add-on that <para><userinput>--enable-add-ons:</userinput> This enables the add-on that

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
<title>Command explanations</title> <title>Command explanations</title>
<para><userinput>patch -Np1 -i ../sh-utils-&sh-utils-hostname-patch-version;.patch:</userinput> This patch <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 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 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> 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 book SYSTEM "book/book.xml">
<!ENTITY version "20020921"> <!ENTITY version "20020922">
<!ENTITY releasedate "September 21st, 2002"> <!ENTITY releasedate "September 22nd, 2002">
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org"> <!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
<!ENTITY http-root "http://ftp.linuxfromscratch.org"> <!ENTITY http-root "http://ftp.linuxfromscratch.org">