| 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>
 | 
|---|