| [3f8be484] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?>
 | 
|---|
| [aa18ac0] | 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
 | 
|---|
 | 3 |   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 | 
|---|
| [3f8be484] | 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
 | 
|---|
| [9f08378] | 14 |   constructing the CLFS system in earnest. The installation of this
 | 
|---|
| [3f8be484] | 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 | 
 | 
|---|
| [89336bc] | 24 |   <para os="b">If using compiler optimizations, please review the
 | 
|---|
| [2627330] | 25 |   optimization hint at <ulink url="&hints-root;Optimization"/>.
 | 
|---|
| [89336bc] | 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
 | 
|---|
| [3f8be484] | 31 |   does compile when using optimization, there is the risk it may have
 | 
|---|
 | 32 |   been compiled incorrectly because of the complex interactions between
 | 
|---|
| [82f7fed] | 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
 | 
|---|
| [9f08378] | 37 |   builders of CLFS are encouraged to build without custom optimizations.
 | 
|---|
| [3f8be484] | 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 | 
 | 
|---|
| [89336bc] | 51 |   <para os="d">To keep track of which package installs particular files, a
 | 
|---|
| [1322a63] | 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>
 | 
|---|
| [3f8be484] | 54 | 
 | 
|---|
 | 55 | </sect1>
 | 
|---|