[6370fa6] | 1 | <sect1 id="ch01-how">
|
---|
| 2 | <title>How things are going to be done</title>
|
---|
[04f5529] | 3 | <?dbhtml filename="how.html" dir="chapter01"?>
|
---|
[6370fa6] | 4 |
|
---|
[cc7e27a] | 5 | <para>You are going to build the LFS system by using a previously installed
|
---|
| 6 | Linux distribution such as Debian, Mandrake, Red Hat, etc.
|
---|
| 7 | The existing Linux system will be used as a starting point, because you
|
---|
[2ab760c] | 8 | will need tools like a compiler, linker, text editor, and other development
|
---|
[cc7e27a] | 9 | tools to build the system. Ordinarily, the required tools are available by
|
---|
| 10 | default if you selected "development" as one of your installation options
|
---|
| 11 | when you installed your Linux distribution.</para>
|
---|
[6370fa6] | 12 |
|
---|
[26e62aa] | 13 | <para>After you have downloaded the packages that make up an LFS system,
|
---|
[cc7e27a] | 14 | you will create a new Linux native partition and filesystem. Here is where
|
---|
| 15 | the LFS system will be compiled and installed onto.</para>
|
---|
[c61dd1e] | 16 |
|
---|
[cc7e27a] | 17 | <para>The next step, Chapter 5, will discuss the installation of a number
|
---|
| 18 | of packages that will form the basic development suite which is used to
|
---|
| 19 | build the actual system. Some of these packages are needed to resolve
|
---|
[99e8f73] | 20 | circular dependencies. For example, to compile a compiler you need a
|
---|
[cc7e27a] | 21 | compiler.</para>
|
---|
[60ed866] | 22 |
|
---|
[e668792] | 23 | <para>The first thing to be done in Chapter 5 is build a first pass of the
|
---|
| 24 | toolchain, which is made up of Binutils and GCC. The programs from these
|
---|
| 25 | packages will be linked statically in order for them to be used independently
|
---|
| 26 | of the host system. The second thing to do is build Glibc, the C library.
|
---|
| 27 | Glibc will be built with the toolchain programs we just built in the first
|
---|
| 28 | pass.</para>
|
---|
[c61dd1e] | 29 |
|
---|
[e668792] | 30 | <para>The next thing to do is build a second pass of the toolchain. This
|
---|
| 31 | time the toolchain will be dynamically linked against the newly built Glibc.
|
---|
| 32 | The remaining Chapter 5 packages are all built using this second pass
|
---|
| 33 | toolchain and dynamically linked against the new Glibc. When this is done,
|
---|
| 34 | the LFS installation process will no longer depend on the host distribution,
|
---|
| 35 | with the exception of the running kernel.</para>
|
---|
[c61dd1e] | 36 |
|
---|
[cc7e27a] | 37 | <para>In Chapter 6 the real LFS system will be built. The
|
---|
| 38 | chroot (change root) program is used to enter a virtual environment and
|
---|
| 39 | start a new shell whose root directory will be set to the LFS partition.
|
---|
| 40 | This is very similar to rebooting and instructing the kernel to mount the
|
---|
| 41 | LFS partition as the root partition. The reason that you don't actually
|
---|
| 42 | reboot, but instead chroot, is that creating a bootable system requires
|
---|
| 43 | additional work which isn't necessary. As well, chrooting allows you
|
---|
[81314a51] | 44 | to continue using the host while LFS is being built. While software is
|
---|
[cc7e27a] | 45 | being installed you can simply switch to a different VC (Virtual Console)
|
---|
| 46 | or X desktop and continue using the computer as you normally would.</para>
|
---|
| 47 |
|
---|
| 48 | <para>When all the software from Chapter 6 is installed, the temporary
|
---|
| 49 | tools built in Chapter 5 will be removed. Chapters 7, 8 and 9 will finalize
|
---|
| 50 | the installation. The bootscripts are setup in Chapter 7, the kernel and
|
---|
| 51 | boot loader are setup in Chapter 8 and Chapter 9 has some pointers to help
|
---|
| 52 | you after you finish with the book. Then, finally, you reboot the system
|
---|
| 53 | into the new LFS system.</para>
|
---|
[32489b5] | 54 |
|
---|
[b822811] | 55 | <para>This is the process in a nutshell. Detailed information on the steps
|
---|
[cc7e27a] | 56 | you will take are discussed in the chapters and package descriptions as you
|
---|
| 57 | progress through them. If something isn't completely clear now, don't
|
---|
| 58 | worry, everything will fall into place soon.</para>
|
---|
[32489b5] | 59 |
|
---|
[26e62aa] | 60 | <para>Please read Chapter 2 carefully as it explains a few important things
|
---|
| 61 | you should be aware of before you begin to work through Chapters 5 and
|
---|
[cc7e27a] | 62 | beyond.</para>
|
---|
[6370fa6] | 63 |
|
---|
| 64 | </sect1>
|
---|
| 65 |
|
---|