source: chapter06/introduction.xml@ efcb393

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since efcb393 was efcb393, checked in by Pierre Labastie <pieere@…>, 4 years ago

Make the new book

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross-chap5@11831 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

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