r1021 - in trunk/BOOK: final-preps final-system final-system/common final-system/multilib introduction/common

chris at linuxfromscratch.org chris at linuxfromscratch.org
Sun Jan 8 00:36:37 PST 2006


Author: chris
Date: 2006-01-08 01:36:31 -0700 (Sun, 08 Jan 2006)
New Revision: 1021

Added:
   trunk/BOOK/final-system/common/testsuitesagain.xml
Modified:
   trunk/BOOK/final-preps/abouttestsuites.xml
   trunk/BOOK/final-system/common/groff.xml
   trunk/BOOK/final-system/common/iana-etc.xml
   trunk/BOOK/final-system/common/less.xml
   trunk/BOOK/final-system/common/readline.xml
   trunk/BOOK/final-system/multilib/groff.xml
   trunk/BOOK/final-system/multilib/less.xml
   trunk/BOOK/final-system/multilib/readline-n32.xml
   trunk/BOOK/final-system/multilib/readline.xml
   trunk/BOOK/final-system/x86-chapter.xml
   trunk/BOOK/introduction/common/changelog.xml
   trunk/BOOK/introduction/common/how.xml
Log:
Rewrote description of build process and test suite info, and added mention of test suites to some packages.

Modified: trunk/BOOK/final-preps/abouttestsuites.xml
===================================================================
--- trunk/BOOK/final-preps/abouttestsuites.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-preps/abouttestsuites.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -10,8 +10,6 @@
 
   <title>About the Test Suites</title>
 
-  <para>TO BE REWRITTEN (and maybe moved to final-system chapter)</para>
-
   <para>Most packages provide a test suite. Running the test suite for a
   newly built package is a good idea because it can provide a <quote>sanity
   check</quote> indicating that everything compiled correctly. A test suite
@@ -19,30 +17,6 @@
   functioning as the developer intended. It does not, however, guarantee
   that the package is totally bug free.</para>
 
-  <para>Some test suites are more important than others. For example,
-  the test suites for the core toolchain packages—GCC, Binutils, and
-  Glibc—are of the utmost importance due to their central role in a
-  properly functioning system. The test suites for GCC and Glibc can
-  take a very long time to complete, especially on slower hardware, but
-  are strongly recommended.</para>
+  <para>It is not possible to run testsuites when cross-compiling, so package installation instructions do not explain how to run testsuites until <xref linkend="chapter-building-system"/>.</para>
 
-  <note>
-    <para>It is not possible to run testsuites when cross-compiling, so there
-    are no instructions given for running testsuites until
-    <xref linkend="chapter-building-system"/>.</para>
-  </note>
-
-  <para>A common issue with running the test suites for Binutils and GCC
-  is running out of pseudo terminals (PTYs). This can result in a high
-  number of failing tests. This may happen for several reasons, but the
-  most likely cause is that the host system does not have the
-  <systemitem class="filesystem">devpts</systemitem> file system set up
-  correctly. This issue is discussed in greater detail at
-  <ulink url="http://www.linuxfromscratch.org/lfs/faq.html#no-ptys"/>.</para>
-
-  <para>Sometimes package test suites will fail, but for reasons which the
-  developers are aware of and have deemed non-critical. Consult the logs located
-  at <ulink url="&test-results;"/> to verify whether or not these failures are
-  expected. This site is valid for all tests throughout this book.</para>
-
 </sect1>

Modified: trunk/BOOK/final-system/common/groff.xml
===================================================================
--- trunk/BOOK/final-system/common/groff.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/common/groff.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -47,14 +47,16 @@
 
 <screen os="e"><userinput>make</userinput></screen>
 
-    <para os="f">Install the package:</para>
+    <para os="f">This package does not come with a test suite.</para>
 
-<screen os="g"><userinput>make install</userinput></screen>
+    <para os="g">Install the package:</para>
 
-    <para os="h">Some documentation programs, such as <command>xman</command>,
+<screen os="h"><userinput>make install</userinput></screen>
+
+    <para os="i">Some documentation programs, such as <command>xman</command>,
     will not work properly without the following symlinks:</para>
 
-<screen os="i"><userinput>ln -s soelim /usr/bin/zsoelim
+<screen os="j"><userinput>ln -s soelim /usr/bin/zsoelim
 ln -s eqn /usr/bin/geqn
 ln -s tbl /usr/bin/gtbl</userinput></screen>
 

Modified: trunk/BOOK/final-system/common/iana-etc.xml
===================================================================
--- trunk/BOOK/final-system/common/iana-etc.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/common/iana-etc.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -39,10 +39,12 @@
 
 <screen os="b"><userinput>make</userinput></screen>
 
-    <para os="c">Install the package:</para>
+    <para os="c">This package does not come with a test suite.</para>
 
-<screen os="d"><userinput>make install</userinput></screen>
+    <para os="d">Install the package:</para>
 
+<screen os="e"><userinput>make install</userinput></screen>
+
   </sect2>
 
   <sect2 id="contents-iana-etc" role="content">

Modified: trunk/BOOK/final-system/common/less.xml
===================================================================
--- trunk/BOOK/final-system/common/less.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/common/less.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -54,14 +54,16 @@
 
 <screen os="e"><userinput>make</userinput></screen>
 
-    <para os="f">Install the package:</para>
+    <para os="f">This package does not come with a test suite.</para>
 
-<screen os="g"><userinput>make install</userinput></screen>
+    <para os="g">Install the package:</para>
 
-    <para os="h">Move less to /bin:</para>
+<screen os="h"><userinput>make install</userinput></screen>
 
-<screen os="i"><userinput>mv /usr/bin/less /bin</userinput></screen>
+    <para os="i">Move less to /bin:</para>
 
+<screen os="j"><userinput>mv /usr/bin/less /bin</userinput></screen>
+
   </sect2>
 
   <sect2 id="contents-less" role="content">

Modified: trunk/BOOK/final-system/common/readline.xml
===================================================================
--- trunk/BOOK/final-system/common/readline.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/common/readline.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -59,24 +59,26 @@
       </varlistentry>
     </variablelist>
 
-    <para os="h">Install the package:</para>
+    <para os="h">This package does not come with a test suite.</para>
 
-<screen os="i"><userinput>make install</userinput></screen>
+    <para os="i">Install the package:</para>
 
-    <para os="j">Give Readline's dynamic libraries more appropriate
+<screen os="j"><userinput>make install</userinput></screen>
+
+    <para os="k">Give Readline's dynamic libraries more appropriate
     permissions:</para>
 
-<screen os="k"><userinput>chmod 755 /lib/lib{readline,history}.so*</userinput></screen>
+<screen os="l"><userinput>chmod 755 /lib/lib{readline,history}.so*</userinput></screen>
 
-    <para os="l">Now move the static libraries to a more appropriate location:</para>
+    <para os="m">Now move the static libraries to a more appropriate location:</para>
 
-<screen os="m"><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen>
+<screen os="n"><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen>
 
-    <para os="n">Next, remove the <filename class="extension">.so</filename>
+    <para os="o">Next, remove the <filename class="extension">.so</filename>
     files in <filename class="directory">/lib</filename> and relink them into
     <filename class="directory">/usr/lib</filename>.</para>
 
-<screen os="o"><userinput>rm /lib/lib{readline,history}.so
+<screen os="p"><userinput>rm /lib/lib{readline,history}.so
 ln -sf ../../lib/libreadline.so.5 /usr/lib/libreadline.so
 ln -sf ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen>
 

Added: trunk/BOOK/final-system/common/testsuitesagain.xml
===================================================================
--- trunk/BOOK/final-system/common/testsuitesagain.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/common/testsuitesagain.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-final-system-testsuitesagain">
+  <?dbhtml filename="testsuitesagain.html"?>
+
+  <title>About Test Suites, Again</title>
+
+  <para>In the final-system build, you are no longer cross-compiling so it
+  is possible to run package testsuites. Some test suites are more important
+  than others. For example,  the test suites for the core toolchain
+  packages—GCC, Binutils, and Glibc—are of the utmost
+  importance due to their central role in a properly functioning system.
+  The test suites for GCC and Glibc can take a very long time to complete,
+  especially on slower hardware, but are strongly recommended.</para>
+
+  <para>A common issue with running the test suites for Binutils and GCC
+  is running out of pseudo terminals (PTYs). This can result in a high
+  number of failing tests. This may happen for several reasons, but the
+  most likely cause is that the host system does not have the
+  <systemitem class="filesystem">devpts</systemitem> file system set up
+  correctly. This issue is discussed in greater detail at
+  <ulink url="http://www.linuxfromscratch.org/lfs/faq.html#no-ptys"/>.</para>
+
+  <para>Sometimes package test suites will fail, but for reasons which the
+  developers are aware of and have deemed non-critical. Consult the logs located
+  at <ulink url="&test-results;"/> to verify whether or not these failures are
+  expected. This site is valid for all tests throughout this book.</para>
+
+</sect1>

Modified: trunk/BOOK/final-system/multilib/groff.xml
===================================================================
--- trunk/BOOK/final-system/multilib/groff.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/multilib/groff.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -56,6 +56,10 @@
     href="../common/groff.xml"
     xpointer="xpointer(//*[@os='i'])"/>
 
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../common/groff.xml"
+    xpointer="xpointer(//*[@os='j'])"/>
+
   </sect2>
 
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"

Modified: trunk/BOOK/final-system/multilib/less.xml
===================================================================
--- trunk/BOOK/final-system/multilib/less.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/multilib/less.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -56,6 +56,10 @@
     href="../common/less.xml"
     xpointer="xpointer(//*[@os='i'])"/>
 
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../common/less.xml"
+    xpointer="xpointer(//*[@os='j'])"/>
+
   </sect2>
 
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"

Modified: trunk/BOOK/final-system/multilib/readline-n32.xml
===================================================================
--- trunk/BOOK/final-system/multilib/readline-n32.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/multilib/readline-n32.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -57,11 +57,16 @@
     href="readline.xml"
     xpointer="xpointer(//*[@os='j'])"/>
 
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="readline.xml"
+    xpointer="xpointer(//*[@os='k'])"/>
+
+
 <screen os="k"><userinput>chmod 755 /lib32/lib{readline,history}.so*</userinput></screen>
 
     <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     href="readline.xml"
-    xpointer="xpointer(//*[@os='l'])"/>
+    xpointer="xpointer(//*[@os='m'])"/>
 
 <screen os="m"><userinput>mv /lib32/lib{readline,history}.a /usr/lib32</userinput></screen>
 

Modified: trunk/BOOK/final-system/multilib/readline.xml
===================================================================
--- trunk/BOOK/final-system/multilib/readline.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/multilib/readline.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -81,6 +81,9 @@
     href="../common/readline.xml"
     xpointer="xpointer(//*[@os='o'])"/>
 
+    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
+    href="../common/readline.xml"
+    xpointer="xpointer(//*[@os='p'])"/>
   </sect2>
 
  <sect2 role="content">

Modified: trunk/BOOK/final-system/x86-chapter.xml
===================================================================
--- trunk/BOOK/final-system/x86-chapter.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/final-system/x86-chapter.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -12,6 +12,7 @@
   <title>Installing Basic System Software</title>
 
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/testsuitesagain.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/linux-libc-headers.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/adjusting.xml"/>

Modified: trunk/BOOK/introduction/common/changelog.xml
===================================================================
--- trunk/BOOK/introduction/common/changelog.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/introduction/common/changelog.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -37,6 +37,17 @@
 -->
 
     <listitem>
+      <para>January 8, 2006</para>
+      <itemizedlist>
+        <listitem>
+          <para>[Chris] - Rewrote much of the description of the build
+process and test suite information.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+
+    <listitem>
       <para>January 3, 2006</para>
       <itemizedlist>
         <listitem>

Modified: trunk/BOOK/introduction/common/how.xml
===================================================================
--- trunk/BOOK/introduction/common/how.xml	2006-01-08 08:31:51 UTC (rev 1020)
+++ trunk/BOOK/introduction/common/how.xml	2006-01-08 08:36:31 UTC (rev 1021)
@@ -42,41 +42,49 @@
   work through <xref linkend="chapter-cross-tools"/> and
   beyond.</para>
 
-  <para><xref linkend="chapter-temp-system"/> explains the
-  installation of a number of packages that will form the basic
-  development suite (or toolchain) which is used to build the actual
-  system in <xref linkend="chapter-building-system"/>. Some of these
-  packages are needed to resolve circular dependencies—for example,
-  to compile a compiler, you need a compiler.</para>
+  <para><xref linkend="chapter-cross-tools"/> explains the installation of
+  cross-compile tools which will be built on the host but be able to compile
+  programs that run on the target machine. These cross-compile tools will
+  be used to create a temporary, minimal system that will be the basis for
+  building the final LFS system. Some of these packages are needed to resolve
+  circular dependencies—for example, to compile a compiler, you need a
+  compiler.</para>
 
-  <para><xref linkend="chapter-temp-system"/> also shows the user
-  how to build a first pass of the toolchain, including Binutils and GCC
-  (first pass basically means these two core packages will be re-installed
-  a second time). The next step is to build Glibc, the C library. Glibc
-  will be compiled by the toolchain programs built in the first pass. Then,
-  a second pass of the toolchain will be built. This time, the toolchain
-  will be dynamically linked against the newly built Glibc. The remaining
-  <xref linkend="chapter-temp-system"/> packages are built using this
-  second pass toolchain. When this is done, the LFS installation process
-  will no longer depend on the host distribution, with the exception of the
-  running kernel. </para>
+  <para>The process of building cross-compile tools first involves installing
+  binutils into /cross-tools, so that the linker can be used with the building
+  of everything else in the temp-system. GCC is then compiled statically and
+  installed into /cross-tools, and this cross-compiler is used to build glibc
+  into /tools for the temp-system. The GCC cross-compiler is then rebuilt
+  dynamically - this final cross-compiler is what will be used to build the
+  rest of the temporary system. When this is done, the CLFS installation
+  process will no longer depend on the host distribution, with the exception
+  of the running kernel.
+  <!-- still needs some work - needs to provide a better technical
+explanation, especially the reasoning for compiling gcc statically then dynamically... --></para>
 
+  <para>The packages in <xref linkend="chapter-temp-system"/> are then built
+  using the cross-compiled tools in /cross-tools, and linked against the
+  C library that was installed during the building of the cross-tools.</para>
+
   <para>This effort to isolate the new system from the host distribution
   may seem excessive, but a full technical explanation is provided at the
   beginning of <xref linkend="chapter-temp-system"/>.</para>
 
   <para>In <xref linkend="chapter-building-system"/>, the full LFS system is
-  built. The <command>chroot</command> (change root) program is used to enter
+  built. Depending on the system you are cross-compiling for, either you will
+  boot the minimal temp-system on the target machine, or chroot into it.</para>
+
+  <para>The <command>chroot</command> (change root) program is used to enter
   a virtual environment and start a new shell whose root directory will be set
   to the LFS partition. This is very similar to rebooting and instructing the
-  kernel to mount the LFS partition as the root partition. The system does not
-  actually reboot, but instead <command>chroot</command>'s because creating a
-  bootable system requires additional work which is not necessary just yet.
+  kernel to mount the LFS partition as the root partition.
   The major advantage is that <quote>chrooting</quote> allows the builder to
   continue using the host while LFS is being built. While waiting for package
   compilation to complete, a user can switch to a different virtual console
   (VC) or X desktop and continue using the computer as normal.</para>
 
+  <para>Some systems cannot be built by chrooting so they must be booted instead. Generally, if you building for a different arch than the host system, you must reboot because the kernel will likely not support the target machine. Booting involves installing a few additional packages that are needed for bootup, installing bootscripts, and building a miminal kernel.</para>
+
   <para>To finish the installation, the LFS-Bootscripts are set up in <xref
   linkend="chapter-bootscripts"/>, and the kernel and boot loader are set
   up in <xref linkend="chapter-bootable"/>. <xref




More information about the cross-lfs mailing list