introduction.xml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 start constructing the LFS system in earnest.
  11. </para>
  12. <para>The installation of this software is straightforward. Although in many
  13. cases the installation instructions could be made shorter and more generic,
  14. we have opted to provide the full instructions for every package to minimize
  15. the possibilities for mistakes. The key to learning what makes a Linux system
  16. work is to know what each package is used for and why you (or the system)
  17. may need it.</para>
  18. <para>We do not recommend using optimizations. They can make
  19. a program run slightly faster, but they may also cause compilation
  20. difficulties and problems when running the program. If a package refuses to
  21. compile when using optimization, try to compile it without optimization and
  22. see if that fixes the problem. Even if the package does compile when using
  23. optimization, there is the risk it may have been compiled incorrectly because
  24. of the complex interactions between the code and build tools. Also note that
  25. the <option>-march</option> and <option>-mtune</option> options using values
  26. not specified in the book have not been tested. This may cause problems with
  27. the toolchain packages (Binutils, GCC and Glibc). The small potential gains
  28. achieved in using compiler optimizations are often outweighed by the risks.
  29. First-time builders of LFS are encouraged to build without custom
  30. optimizations. The subsequent system will still run very fast and be stable
  31. at the same time.</para>
  32. <para>Before the installation instructions, each installation page provides
  33. information about the package, including a concise description of what it
  34. contains, approximately how long it will take to build, and how much disk
  35. space is required during this building process. Following the installation
  36. instructions, there is a list of programs and libraries (along with brief
  37. descriptions) that the package installs.</para>
  38. <note><para>The SBU values and required disk space includes test suite data
  39. for all applicable packages in <xref linkend="chapter-building-system"/>. SBU
  40. values have been calculated using a single CPU core (-j1) for all
  41. operations.</para></note>
  42. <sect2>
  43. <title>About libraries</title>
  44. <para>In general, the LFS editors discourage building and installing static
  45. libraries. The original purpose for most static libraries has been made
  46. obsolete in a modern Linux system. In addition, linking a static library
  47. into a program can be detrimental. If an update to the library is needed
  48. to remove a security problem, all programs that use the static library will
  49. need to be relinked to the new library. Since the use of static libraries
  50. is not always obvious, the relevant programs (and the procedures needed to
  51. do the linking) may not even be known.</para>
  52. <para>In the procedures in this chapter, we remove or disable installation of
  53. most static libraries. Usually this is done by passing a
  54. <option>--disable-static</option> option to <command>configure</command>.
  55. In other cases, alternate means are needed. In a few cases, especially
  56. glibc and gcc, the use of static libraries remains essential to the general
  57. package building process. </para>
  58. <para>For a more complete discussion of libraries, see the discussion
  59. <ulink url="&blfs-root;/view/&short-version;/introduction/libraries.html">
  60. Libraries: Static or shared?</ulink> in the BLFS book.</para>
  61. </sect2>
  62. </sect1>