- Timestamp:
- Feb 21, 2006, 2:04:25 AM (19 years ago)
- Branches:
- clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- f8f27bf9
- Parents:
- 9860952
- Location:
- BOOK
- Files:
-
- 1 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/final-preps/abouttestsuites.xml
r9860952 r5da8aa0 11 11 <title>About the Test Suites</title> 12 12 13 <para>TO BE REWRITTEN (and maybe moved to final-system chapter)</para>14 15 13 <para>Most packages provide a test suite. Running the test suite for a 16 14 newly built package is a good idea because it can provide a <quote>sanity … … 20 18 that the package is totally bug free.</para> 21 19 22 <para>Some test suites are more important than others. For example, 23 the test suites for the core toolchain packages—GCC, Binutils, and 24 Glibc—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> 47 21 48 22 </sect1> -
BOOK/final-system/common/groff.xml
r9860952 r5da8aa0 48 48 <screen os="e"><userinput>make</userinput></screen> 49 49 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>, 55 57 will not work properly without the following symlinks:</para> 56 58 57 <screen os=" i"><userinput>ln -s soelim /usr/bin/zsoelim59 <screen os="j"><userinput>ln -s soelim /usr/bin/zsoelim 58 60 ln -s eqn /usr/bin/geqn 59 61 ln -s tbl /usr/bin/gtbl</userinput></screen> -
BOOK/final-system/common/iana-etc.xml
r9860952 r5da8aa0 40 40 <screen os="b"><userinput>make</userinput></screen> 41 41 42 <para os="c"> Install the package:</para>42 <para os="c">This package does not come with a test suite.</para> 43 43 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> 45 47 46 48 </sect2> -
BOOK/final-system/common/less.xml
r9860952 r5da8aa0 55 55 <screen os="e"><userinput>make</userinput></screen> 56 56 57 <para os="f"> Install the package:</para>57 <para os="f">This package does not come with a test suite.</para> 58 58 59 <screen os="g"><userinput>make install</userinput></screen>59 <para os="g">Install the package:</para> 60 60 61 <para os="h">Move less to /bin:</para>61 <screen os="h"><userinput>make install</userinput></screen> 62 62 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> 64 66 65 67 </sect2> -
BOOK/final-system/common/readline.xml
r9860952 r5da8aa0 60 60 </variablelist> 61 61 62 <para os="h"> Install the package:</para>62 <para os="h">This package does not come with a test suite.</para> 63 63 64 <screen os="i"><userinput>make install</userinput></screen>64 <para os="i">Install the package:</para> 65 65 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 67 69 permissions:</para> 68 70 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> 70 72 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> 72 74 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> 74 76 75 <para os=" n">Next, remove the <filename class="extension">.so</filename>77 <para os="o">Next, remove the <filename class="extension">.so</filename> 76 78 files in <filename class="directory">/lib</filename> and relink them into 77 79 <filename class="directory">/usr/lib</filename>.</para> 78 80 79 <screen os=" o"><userinput>rm /lib/lib{readline,history}.so81 <screen os="p"><userinput>rm /lib/lib{readline,history}.so 80 82 ln -sf ../../lib/libreadline.so.5 /usr/lib/libreadline.so 81 83 ln -sf ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen> -
BOOK/final-system/multilib/groff.xml
r9860952 r5da8aa0 57 57 xpointer="xpointer(//*[@os='i'])"/> 58 58 59 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 60 href="../common/groff.xml" 61 xpointer="xpointer(//*[@os='j'])"/> 62 59 63 </sect2> 60 64 -
BOOK/final-system/multilib/less.xml
r9860952 r5da8aa0 57 57 xpointer="xpointer(//*[@os='i'])"/> 58 58 59 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 60 href="../common/less.xml" 61 xpointer="xpointer(//*[@os='j'])"/> 62 59 63 </sect2> 60 64 -
BOOK/final-system/multilib/readline-n32.xml
r9860952 r5da8aa0 58 58 xpointer="xpointer(//*[@os='j'])"/> 59 59 60 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 61 href="readline.xml" 62 xpointer="xpointer(//*[@os='k'])"/> 63 64 60 65 <screen os="k"><userinput>chmod 755 /lib32/lib{readline,history}.so*</userinput></screen> 61 66 62 67 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 63 68 href="readline.xml" 64 xpointer="xpointer(//*[@os=' l'])"/>69 xpointer="xpointer(//*[@os='m'])"/> 65 70 66 71 <screen os="m"><userinput>mv /lib32/lib{readline,history}.a /usr/lib32</userinput></screen> -
BOOK/final-system/multilib/readline.xml
r9860952 r5da8aa0 82 82 xpointer="xpointer(//*[@os='o'])"/> 83 83 84 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 85 href="../common/readline.xml" 86 xpointer="xpointer(//*[@os='p'])"/> 84 87 </sect2> 85 88 -
BOOK/final-system/x86-chapter.xml
r9860952 r5da8aa0 13 13 14 14 <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"/> 15 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="x86/linux-libc-headers.xml"/> 16 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/glibc.xml"/> -
BOOK/introduction/common/changelog.xml
r9860952 r5da8aa0 38 38 39 39 <listitem> 40 <para>January 8, 2006</para> 41 <itemizedlist> 42 <listitem> 43 <para>[Chris] - Rewrote much of the description of the build 44 process and test suite information.</para> 45 </listitem> 46 </itemizedlist> 47 </listitem> 48 49 50 <listitem> 40 51 <para>January 3, 2006</para> 41 52 <itemizedlist> -
BOOK/introduction/common/how.xml
r9860952 r5da8aa0 43 43 beyond.</para> 44 44 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—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—for example, to compile a compiler, you need a 51 compiler.</para> 51 52 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 63 explanation, 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> 63 68 64 69 <para>This effort to isolate the new system from the host distribution … … 67 72 68 73 <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 70 78 a virtual environment and start a new shell whose root directory will be set 71 79 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. 75 81 The major advantage is that <quote>chrooting</quote> allows the builder to 76 82 continue using the host while LFS is being built. While waiting for package 77 83 compilation to complete, a user can switch to a different virtual console 78 84 (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> 79 87 80 88 <para>To finish the installation, the LFS-Bootscripts are set up in <xref
Note:
See TracChangeset
for help on using the changeset viewer.