aboutsummaryrefslogtreecommitdiffstats
path: root/chapter01/how.xml
blob: 5b1db37efcf5490d0688212aa38137f22fb65fcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<sect1 id="ch01-how">
<title>How things are going to be done</title>
<?dbhtml filename="how.html" dir="chapter01"?>

<para>You are going to build the LFS system by using a previously installed
Linux distribution such as Debian, Mandrake, Red Hat, etc.
The existing Linux system will be used as a starting point, because you
will need tools like a compiler, linker, text editor, and other development
tools to build the system. Ordinarily, the required tools are available by
default if you selected "development" as one of your installation options
when you installed your Linux distribution.</para>

<para>After you have downloaded the packages that make up an LFS system,
you will create a new Linux native partition and filesystem. Here is where
the LFS system will be compiled and installed onto.</para>

<para>The next step, Chapter 5, will discuss the installation of a number
of packages that will form the basic development suite which is used to
build the actual system. Some of these packages are needed to resolve
circular dependencies. For example, to compile a compiler you need a
compiler.</para>

<para>The first thing that will be done in Chapter 5 is building the
toolchain, which is made up of Binutils, GCC and Glibc. The programs from
these packages will be linked statically in order for them to be
independent of the host system.</para>

<para>When the first toolchain is built, you will rebuild those three
packages again, this time using the toolchain we just built, rather than
the host system's toolchain. In particular, all programs will be linked
against the new Glibc rather than the host system's Glibc. All subsequent
packages in Chapter 5 will be built and linked using this second toolchain
installation. When this is done (building the second toolchain), the LFS
installation process will no longer depend on the host distribution, with
the exception of the running kernel.</para>

<para>In Chapter 6 the real LFS system will be built. The
chroot (change root) program is used to enter a virtual environment and
start a new shell whose root directory will be set to the LFS partition.
This is very similar to rebooting and instructing the kernel to mount the
LFS partition as the root partition. The reason that you don't actually
reboot, but instead chroot, is that creating a bootable system requires
additional work which isn't necessary. As well, chrooting allows you
to continue using the host while LFS is being built.  While software is
being installed you can simply switch to a different VC (Virtual Console)
or X desktop and continue using the computer as you normally would.</para>

<para>When all the software from Chapter 6 is installed, the temporary
tools built in Chapter 5 will be removed. Chapters 7, 8 and 9 will finalize
the installation. The bootscripts are setup in Chapter 7, the kernel and
boot loader are setup in Chapter 8 and Chapter 9 has some pointers to help
you after you finish with the book.  Then, finally, you reboot the system
into the new LFS system.</para>

<para>This is the process in a nutshell. Detailed information on the steps
you will take are discussed in the chapters and package descriptions as you
progress through them. If something isn't completely clear now, don't
worry, everything will fall into place soon.</para>

<para>Please read Chapter 2 carefully as it explains a few important things
you should be aware of before you begin to work through Chapters 5 and
beyond.</para>

</sect1>