| 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 |  | 
|---|
| 8 | <sect1 id="ch-system-introduction"> | 
|---|
| 9 | <?dbhtml filename="introduction.html"?> | 
|---|
| 10 |  | 
|---|
| 11 | <title>Introduction</title> | 
|---|
| 12 |  | 
|---|
| 13 | <para os="a">In this chapter, we enter the building site and start | 
|---|
| 14 | constructing the CLFS system in earnest. The installation of this | 
|---|
| 15 | software is straightforward. Although in many cases the installation | 
|---|
| 16 | instructions could be made shorter and more generic, we have opted | 
|---|
| 17 | to provide the full instructions for every package to minimize the | 
|---|
| 18 | possibilities for mistakes.  The key to learning what makes a Linux | 
|---|
| 19 | system work is to know what each package is used for and why the user | 
|---|
| 20 | (or the system) needs it.  For every installed package, a summary of | 
|---|
| 21 | its contents is given, followed by concise descriptions of each | 
|---|
| 22 | program and library the package installed.</para> | 
|---|
| 23 |  | 
|---|
| 24 | <para os="b">If using compiler optimizations, please review the | 
|---|
| 25 | optimization hint at <ulink url="&hints-root;optimization.txt"/>. | 
|---|
| 26 | Compiler optimizations can make a program run slightly faster, but | 
|---|
| 27 | they may also cause compilation difficulties and problems when | 
|---|
| 28 | running the program. If a package refuses to compile when using | 
|---|
| 29 | optimization, try to compile it without optimization and see if | 
|---|
| 30 | that fixes the problem. Even if the package | 
|---|
| 31 | does compile when using optimization, there is the risk it may have | 
|---|
| 32 | been compiled incorrectly because of the complex interactions between | 
|---|
| 33 | the code and build tools.  Also note that the <option>-march</option> | 
|---|
| 34 | and <option>-mtune</option> options may cause problems with the toolchain | 
|---|
| 35 | packages (Binutils, GCC and Glibc). The small potential gains achieved in | 
|---|
| 36 | using compiler optimizations are often outweighed by the risks. First-time | 
|---|
| 37 | builders of CLFS are encouraged to build without custom optimizations. | 
|---|
| 38 | The subsequent system will still run very fast and be stable at the | 
|---|
| 39 | same time.</para> | 
|---|
| 40 |  | 
|---|
| 41 | <para os="c">The order that packages are installed in this chapter needs to | 
|---|
| 42 | be strictly followed to ensure that no program accidentally acquires a | 
|---|
| 43 | path referring to <filename class="directory">/tools</filename> | 
|---|
| 44 | hard-wired into it. For the same reason, do not compile packages in | 
|---|
| 45 | parallel. Compiling in parallel may save time (especially on dual-CPU | 
|---|
| 46 | machines), but it could result in a program containing a hard-wired | 
|---|
| 47 | path to <filename class="directory">/tools</filename>, which will | 
|---|
| 48 | cause the program to stop working when that directory is | 
|---|
| 49 | removed.</para> | 
|---|
| 50 |  | 
|---|
| 51 | <para os="d">To keep track of which package installs particular files, a | 
|---|
| 52 | package manager can be used. For a general overview of different styles of | 
|---|
| 53 | package managers, please take a look at the next page.</para> | 
|---|
| 54 |  | 
|---|
| 55 | </sect1> | 
|---|