introduction.xml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  4. <!ENTITY % general-entities SYSTEM "../general.ent">
  5. %general-entities;
  6. ]>
  7. <sect1 id="ch-system-introduction">
  8. <?dbhtml filename="introduction.html"?>
  9. <title>Introduction</title>
  10. <para>In this chapter, we enter the building site and start constructing the
  11. LFS system in earnest. That is, we chroot into the temporary mini Linux system,
  12. make a few final preparations, and then begin installing the packages.</para>
  13. <para>The installation of this software is straightforward. Although in many
  14. cases the installation instructions could be made shorter and more generic,
  15. we have opted to provide the full instructions for every package to minimize
  16. the possibilities for mistakes. The key to learning what makes a Linux system
  17. work is to know what each package is used for and why the user (or the system)
  18. needs it. For every installed package, a summary of its contents is given,
  19. followed by concise descriptions of each program and library the package
  20. installed.</para>
  21. <para>If using compiler optimizations, please review the optimization hint at
  22. <ulink url="&hints-root;optimization.txt"/>. Compiler optimizations can make
  23. a program run slightly faster, but they may also cause compilation
  24. difficulties and problems when running the program. If a package refuses to
  25. compile when using optimization, try to compile it without optimization and
  26. see if that fixes the problem. Even if the package does compile when using
  27. optimization, there is the risk it may have been compiled incorrectly because
  28. of the complex interactions between the code and build tools. Also note that
  29. the <option>-march</option> and <option>-mtune</option> options using values
  30. not specified in the book have not been tested. This may cause problems with
  31. the toolchain packages (Binutils, GCC and Glibc). The small potential gains
  32. achieved in using compiler optimizations are often outweighed by the risks.
  33. First-time builders of LFS are encouraged to build without custom
  34. optimizations. The subsequent system will still run very fast and be stable
  35. at the same time.</para>
  36. <para>The order that packages are installed in this chapter needs to be
  37. strictly followed to ensure that no program accidentally acquires a path
  38. referring to <filename class="directory">/tools</filename> hard-wired into
  39. it. For the same reason, do not compile packages in parallel. Compiling in
  40. parallel may save time (especially on dual-CPU machines), but it could result
  41. in a program containing a hard-wired path to <filename
  42. class="directory">/tools</filename>, which will cause the program to stop
  43. working when that directory is removed.</para>
  44. <para>Before the installation instructions, each installation page provides
  45. information about the package, including a concise description of what it
  46. contains, approximately how long it will take to build, and how much disk
  47. space is required during this building process. Following the installation
  48. instructions, there is a list of programs and libraries (along with brief
  49. descriptions of these) that the package installs.</para>
  50. </sect1>