Changeset 5da8aa0 for BOOK


Ignore:
Timestamp:
Feb 21, 2006, 2:04:25 AM (19 years ago)
Author:
Jim Gifford <clfs@…>
Branches:
clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
f8f27bf9
Parents:
9860952
Message:

r1023@server (orig r1021): chris | 2006-01-08 00:36:31 -0800
Rewrote description of build process and test suite info, and added mention of test suites to some packages.

Location:
BOOK
Files:
1 added
12 edited

Legend:

Unmodified
Added
Removed
  • BOOK/final-preps/abouttestsuites.xml

    r9860952 r5da8aa0  
    1111  <title>About the Test Suites</title>
    1212
    13   <para>TO BE REWRITTEN (and maybe moved to final-system chapter)</para>
    14 
    1513  <para>Most packages provide a test suite. Running the test suite for a
    1614  newly built package is a good idea because it can provide a <quote>sanity
     
    2018  that the package is totally bug free.</para>
    2119
    22   <para>Some test suites are more important than others. For example,
    23   the test suites for the core toolchain packages&mdash;GCC, Binutils, and
    24   Glibc&mdash;are of the utmost importance due to their central role in a
    25   properly functioning system. The test suites for GCC and Glibc can
    26   take a very long time to complete, especially on slower hardware, but
    27   are strongly recommended.</para>
    28 
    29   <note>
    30     <para>It is not possible to run testsuites when cross-compiling, so there
    31     are no instructions given for running testsuites until
    32     <xref linkend="chapter-building-system"/>.</para>
    33   </note>
    34 
    35   <para>A common issue with running the test suites for Binutils and GCC
    36   is running out of pseudo terminals (PTYs). This can result in a high
    37   number of failing tests. This may happen for several reasons, but the
    38   most likely cause is that the host system does not have the
    39   <systemitem class="filesystem">devpts</systemitem> file system set up
    40   correctly. This issue is discussed in greater detail at
    41   <ulink url="http://www.linuxfromscratch.org/lfs/faq.html#no-ptys"/>.</para>
    42 
    43   <para>Sometimes package test suites will fail, but for reasons which the
    44   developers are aware of and have deemed non-critical. Consult the logs located
    45   at <ulink url="&test-results;"/> to verify whether or not these failures are
    46   expected. This site is valid for all tests throughout this book.</para>
     20  <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>
    4721
    4822</sect1>
  • BOOK/final-system/common/groff.xml

    r9860952 r5da8aa0  
    4848<screen os="e"><userinput>make</userinput></screen>
    4949
    50     <para os="f">Install the package:</para>
    51 
    52 <screen os="g"><userinput>make install</userinput></screen>
    53 
    54     <para os="h">Some documentation programs, such as <command>xman</command>,
     50    <para os="f">This package does not come with a test suite.</para>
     51
     52    <para os="g">Install the package:</para>
     53
     54<screen os="h"><userinput>make install</userinput></screen>
     55
     56    <para os="i">Some documentation programs, such as <command>xman</command>,
    5557    will not work properly without the following symlinks:</para>
    5658
    57 <screen os="i"><userinput>ln -s soelim /usr/bin/zsoelim
     59<screen os="j"><userinput>ln -s soelim /usr/bin/zsoelim
    5860ln -s eqn /usr/bin/geqn
    5961ln -s tbl /usr/bin/gtbl</userinput></screen>
  • BOOK/final-system/common/iana-etc.xml

    r9860952 r5da8aa0  
    4040<screen os="b"><userinput>make</userinput></screen>
    4141
    42     <para os="c">Install the package:</para>
     42    <para os="c">This package does not come with a test suite.</para>
    4343
    44 <screen os="d"><userinput>make install</userinput></screen>
     44    <para os="d">Install the package:</para>
     45
     46<screen os="e"><userinput>make install</userinput></screen>
    4547
    4648  </sect2>
  • BOOK/final-system/common/less.xml

    r9860952 r5da8aa0  
    5555<screen os="e"><userinput>make</userinput></screen>
    5656
    57     <para os="f">Install the package:</para>
     57    <para os="f">This package does not come with a test suite.</para>
    5858
    59 <screen os="g"><userinput>make install</userinput></screen>
     59    <para os="g">Install the package:</para>
    6060
    61     <para os="h">Move less to /bin:</para>
     61<screen os="h"><userinput>make install</userinput></screen>
    6262
    63 <screen os="i"><userinput>mv /usr/bin/less /bin</userinput></screen>
     63    <para os="i">Move less to /bin:</para>
     64
     65<screen os="j"><userinput>mv /usr/bin/less /bin</userinput></screen>
    6466
    6567  </sect2>
  • BOOK/final-system/common/readline.xml

    r9860952 r5da8aa0  
    6060    </variablelist>
    6161
    62     <para os="h">Install the package:</para>
     62    <para os="h">This package does not come with a test suite.</para>
    6363
    64 <screen os="i"><userinput>make install</userinput></screen>
     64    <para os="i">Install the package:</para>
    6565
    66     <para os="j">Give Readline's dynamic libraries more appropriate
     66<screen os="j"><userinput>make install</userinput></screen>
     67
     68    <para os="k">Give Readline's dynamic libraries more appropriate
    6769    permissions:</para>
    6870
    69 <screen os="k"><userinput>chmod 755 /lib/lib{readline,history}.so*</userinput></screen>
     71<screen os="l"><userinput>chmod 755 /lib/lib{readline,history}.so*</userinput></screen>
    7072
    71     <para os="l">Now move the static libraries to a more appropriate location:</para>
     73    <para os="m">Now move the static libraries to a more appropriate location:</para>
    7274
    73 <screen os="m"><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen>
     75<screen os="n"><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen>
    7476
    75     <para os="n">Next, remove the <filename class="extension">.so</filename>
     77    <para os="o">Next, remove the <filename class="extension">.so</filename>
    7678    files in <filename class="directory">/lib</filename> and relink them into
    7779    <filename class="directory">/usr/lib</filename>.</para>
    7880
    79 <screen os="o"><userinput>rm /lib/lib{readline,history}.so
     81<screen os="p"><userinput>rm /lib/lib{readline,history}.so
    8082ln -sf ../../lib/libreadline.so.5 /usr/lib/libreadline.so
    8183ln -sf ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen>
  • BOOK/final-system/multilib/groff.xml

    r9860952 r5da8aa0  
    5757    xpointer="xpointer(//*[@os='i'])"/>
    5858
     59    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     60    href="../common/groff.xml"
     61    xpointer="xpointer(//*[@os='j'])"/>
     62
    5963  </sect2>
    6064
  • BOOK/final-system/multilib/less.xml

    r9860952 r5da8aa0  
    5757    xpointer="xpointer(//*[@os='i'])"/>
    5858
     59    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     60    href="../common/less.xml"
     61    xpointer="xpointer(//*[@os='j'])"/>
     62
    5963  </sect2>
    6064
  • BOOK/final-system/multilib/readline-n32.xml

    r9860952 r5da8aa0  
    5858    xpointer="xpointer(//*[@os='j'])"/>
    5959
     60    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     61    href="readline.xml"
     62    xpointer="xpointer(//*[@os='k'])"/>
     63
     64
    6065<screen os="k"><userinput>chmod 755 /lib32/lib{readline,history}.so*</userinput></screen>
    6166
    6267    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
    6368    href="readline.xml"
    64     xpointer="xpointer(//*[@os='l'])"/>
     69    xpointer="xpointer(//*[@os='m'])"/>
    6570
    6671<screen os="m"><userinput>mv /lib32/lib{readline,history}.a /usr/lib32</userinput></screen>
  • BOOK/final-system/multilib/readline.xml

    r9860952 r5da8aa0  
    8282    xpointer="xpointer(//*[@os='o'])"/>
    8383
     84    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     85    href="../common/readline.xml"
     86    xpointer="xpointer(//*[@os='p'])"/>
    8487  </sect2>
    8588
  • BOOK/final-system/x86-chapter.xml

    r9860952 r5da8aa0  
    1313
    1414  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
     15  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/testsuitesagain.xml"/>
    1516  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/linux-libc-headers.xml"/>
    1617  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc.xml"/>
  • BOOK/introduction/common/changelog.xml

    r9860952 r5da8aa0  
    3838
    3939    <listitem>
     40      <para>January 8, 2006</para>
     41      <itemizedlist>
     42        <listitem>
     43          <para>[Chris] - Rewrote much of the description of the build
     44process and test suite information.</para>
     45        </listitem>
     46      </itemizedlist>
     47    </listitem>
     48
     49
     50    <listitem>
    4051      <para>January 3, 2006</para>
    4152      <itemizedlist>
  • BOOK/introduction/common/how.xml

    r9860952 r5da8aa0  
    4343  beyond.</para>
    4444
    45   <para><xref linkend="chapter-temp-system"/> explains the
    46   installation of a number of packages that will form the basic
    47   development suite (or toolchain) which is used to build the actual
    48   system in <xref linkend="chapter-building-system"/>. Some of these
    49   packages are needed to resolve circular dependencies&mdash;for example,
    50   to compile a compiler, you need a compiler.</para>
     45  <para><xref linkend="chapter-cross-tools"/> explains the installation of
     46  cross-compile tools which will be built on the host but be able to compile
     47  programs that run on the target machine. These cross-compile tools will
     48  be used to create a temporary, minimal system that will be the basis for
     49  building the final LFS system. Some of these packages are needed to resolve
     50  circular dependencies&mdash;for example, to compile a compiler, you need a
     51  compiler.</para>
    5152
    52   <para><xref linkend="chapter-temp-system"/> also shows the user
    53   how to build a first pass of the toolchain, including Binutils and GCC
    54   (first pass basically means these two core packages will be re-installed
    55   a second time). The next step is to build Glibc, the C library. Glibc
    56   will be compiled by the toolchain programs built in the first pass. Then,
    57   a second pass of the toolchain will be built. This time, the toolchain
    58   will be dynamically linked against the newly built Glibc. The remaining
    59   <xref linkend="chapter-temp-system"/> packages are built using this
    60   second pass toolchain. When this is done, the LFS installation process
    61   will no longer depend on the host distribution, with the exception of the
    62   running kernel. </para>
     53  <para>The process of building cross-compile tools first involves installing
     54  binutils into /cross-tools, so that the linker can be used with the building
     55  of everything else in the temp-system. GCC is then compiled statically and
     56  installed into /cross-tools, and this cross-compiler is used to build glibc
     57  into /tools for the temp-system. The GCC cross-compiler is then rebuilt
     58  dynamically - this final cross-compiler is what will be used to build the
     59  rest of the temporary system. When this is done, the CLFS installation
     60  process will no longer depend on the host distribution, with the exception
     61  of the running kernel.
     62  <!-- still needs some work - needs to provide a better technical
     63explanation, especially the reasoning for compiling gcc statically then dynamically... --></para>
     64
     65  <para>The packages in <xref linkend="chapter-temp-system"/> are then built
     66  using the cross-compiled tools in /cross-tools, and linked against the
     67  C library that was installed during the building of the cross-tools.</para>
    6368
    6469  <para>This effort to isolate the new system from the host distribution
     
    6772
    6873  <para>In <xref linkend="chapter-building-system"/>, the full LFS system is
    69   built. The <command>chroot</command> (change root) program is used to enter
     74  built. Depending on the system you are cross-compiling for, either you will
     75  boot the minimal temp-system on the target machine, or chroot into it.</para>
     76
     77  <para>The <command>chroot</command> (change root) program is used to enter
    7078  a virtual environment and start a new shell whose root directory will be set
    7179  to the LFS partition. This is very similar to rebooting and instructing the
    72   kernel to mount the LFS partition as the root partition. The system does not
    73   actually reboot, but instead <command>chroot</command>'s because creating a
    74   bootable system requires additional work which is not necessary just yet.
     80  kernel to mount the LFS partition as the root partition.
    7581  The major advantage is that <quote>chrooting</quote> allows the builder to
    7682  continue using the host while LFS is being built. While waiting for package
    7783  compilation to complete, a user can switch to a different virtual console
    7884  (VC) or X desktop and continue using the computer as normal.</para>
     85
     86  <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>
    7987
    8088  <para>To finish the installation, the LFS-Bootscripts are set up in <xref
Note: See TracChangeset for help on using the changeset viewer.