1 | <sect1 id="ch01-how">
|
---|
2 | <title>How things are going to be done</title>
|
---|
3 | <?dbhtml filename="how.html" dir="chapter01"?>
|
---|
4 |
|
---|
5 | <para>We are going to build the LFS system by using a previously installed
|
---|
6 | Linux distribution such as Debian, SuSE, Slackware, Mandrake, RedHat, etc.
|
---|
7 | We will use the existing Linux system as the development platform, because
|
---|
8 | we need tools like a compiler, linker, text editor, and other development
|
---|
9 | tools to build our system. Ordinarily, the required tools are available by
|
---|
10 | default if we selected "development" as one of our installation options
|
---|
11 | when we installed a Linux distribution.</para>
|
---|
12 |
|
---|
13 | <para>After you have downloaded the packages that make up an LFS system,
|
---|
14 | we will create a new Linux native partition and filesystem. Here is where
|
---|
15 | the LFS system will be compiled and installed.</para>
|
---|
16 |
|
---|
17 | <para>The next step, Chapter 5, will discuss the installation of a number of
|
---|
18 | packages that will form the basic development suite which is used to
|
---|
19 | build the actual system, or needed to resolve circular dependencies. For
|
---|
20 | example, you need a compiler to build a new compiler, and you need a shell
|
---|
21 | in order to install a new shell. The packages in this chapter will be linked
|
---|
22 | statically.</para>
|
---|
23 |
|
---|
24 | <para>Static linking describes a method of compiling software so that
|
---|
25 | it does not require the presence of libraries when building is complete.
|
---|
26 | The resulting program is able to function on its own. The program is able to
|
---|
27 | do so because the pieces of the program that would normally remain in the
|
---|
28 | libraries are copied from the libraries and built right into the program.
|
---|
29 | Ordinarily, software is built with dynamic linking. This conserves storage
|
---|
30 | space and increases the efficiency of many programs. We statically link
|
---|
31 | our software in Chapter 5 because we will, in theory, be moving our
|
---|
32 | development system to a virtual environment where the already mentioned
|
---|
33 | libraries will be absent. If the software is built dynamically, our
|
---|
34 | development suite will not function. Since the libraries we are talking
|
---|
35 | about are provided by our distribution Linux, the goal of Chapter 5 is to
|
---|
36 | build a development environment where those libraries are not required
|
---|
37 | and is therefore independent of the distribution.</para>
|
---|
38 |
|
---|
39 | <para>In Chapter 6 we will build and install our final system. We will use
|
---|
40 | the chroot program to enter a virtual environment and start a new shell
|
---|
41 | whose root directory will be set to the partition where we built all the
|
---|
42 | Chapter 5 software. This is very similar to rebooting and instructing the
|
---|
43 | kernel to mount our LFS partition as the root partition. The reason that
|
---|
44 | we don't actually reboot, but instead chroot, is that creating a bootable
|
---|
45 | static system requires additional work which simply isn't necessary. As
|
---|
46 | well, we can continue to use our platform system while we are building LFS.
|
---|
47 | While software is being compiled and installed you can simply switch to a
|
---|
48 | different VC (Virtual Console) or X desktop and continue using your
|
---|
49 | computer normally.</para>
|
---|
50 |
|
---|
51 | <para>When all the software from Chapter 6 is installed, Chapters 7, 8 and 9
|
---|
52 | will help us finalize our installation. We will set up our boot
|
---|
53 | scripts in Chapter 7. In Chapter 8 we will build our final linux kernel and
|
---|
54 | set up the Linux boot loader. Chapter 9 has some pointers to help you after
|
---|
55 | you finish the book. Then finally, you reboot your system and boot into your
|
---|
56 | new LFS system, and start to really use it.</para>
|
---|
57 |
|
---|
58 | <para>This is the process in a nutshell. Detailed information on the steps
|
---|
59 | we will take are discussed in the chapters and package descriptions as you
|
---|
60 | progress through them. If something isn't completely clear now, don't worry.
|
---|
61 | It should become very clear shortly.</para>
|
---|
62 |
|
---|
63 | <para>Please read Chapter 2 carefully as it explains a few important things
|
---|
64 | you should be aware of before you begin to work through Chapters 5 and
|
---|
65 | later.</para>
|
---|
66 |
|
---|
67 | </sect1>
|
---|
68 |
|
---|