[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 |
|
---|
[35c2fa60] | 5 | <para>You are going to build your LFS system by using a previously installed
|
---|
| 6 | Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing
|
---|
| 7 | Linux system (the host) will be used as a starting point, because you will need
|
---|
| 8 | programs like a compiler, linker and shell to build the new system. Normally
|
---|
| 9 | all the required tools are available if you selected <quote>development</quote>
|
---|
| 10 | as one of the options when you installed your distribution.</para>
|
---|
[6370fa6] | 11 |
|
---|
[f57e3d1] | 12 | <para>In Chapter 3 you will first create a new Linux native partition and file
|
---|
| 13 | system, the place where your new LFS system will be compiled and installed. Then
|
---|
| 14 | in Chapter 4 you download all the packages and patches required to build an LFS
|
---|
| 15 | system, and store them on the new file system.</para>
|
---|
[c61dd1e] | 16 |
|
---|
[f57e3d1] | 17 | <para>Chapter 5 will then discuss the installation of a number of packages that
|
---|
| 18 | will form the basic development suite (or toolchain) which is used to build the
|
---|
| 19 | actual system in Chapter 6. Some of these packages are needed to resolve
|
---|
| 20 | circular dependencies. For example, to compile a compiler you need a
|
---|
[cc7e27a] | 21 | compiler.</para>
|
---|
[60ed866] | 22 |
|
---|
[bdf5881] | 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. Glibc
|
---|
| 27 | will be compiled by the toolchain programs we just built in the first
|
---|
[f57e3d1] | 28 | pass. The third thing to do is build a second pass of the toolchain. This time
|
---|
| 29 | the toolchain will be dynamically linked against the newly built Glibc. The
|
---|
| 30 | remaining Chapter 5 packages are all built using this second pass toolchain and
|
---|
| 31 | dynamically linked against the new host-independent Glibc. When this is done,
|
---|
| 32 | the LFS installation process will no longer depend on the host distribution,
|
---|
| 33 | with the exception of the running kernel.</para>
|
---|
[c61dd1e] | 34 |
|
---|
[f57e3d1] | 35 | <para>You may be asking yourself <quote>that seems like a lot of work, just to
|
---|
| 36 | get away from my host distribution?</quote>. A full technical and in-depth
|
---|
| 37 | explanation is provided at the start of Chapter 5, including some notes on the
|
---|
| 38 | differences between statically and dynamically linked programs.</para>
|
---|
[cc7e27a] | 39 |
|
---|
[bdf5881] | 40 | <para>In Chapter 6 your real LFS system will be built. The chroot (change root)
|
---|
| 41 | program is used to enter a virtual environment and start a new shell whose root
|
---|
| 42 | directory will be set to the LFS partition. This is very similar to rebooting
|
---|
| 43 | and instructing the kernel to mount the LFS partition as the root partition.
|
---|
| 44 | The reason that you don't actually reboot, but instead chroot, is that creating
|
---|
[638a39cb] | 45 | a bootable system requires additional work which isn't necessary just yet.
|
---|
| 46 | Another advantage is that chrooting allows you to continue using the host while
|
---|
| 47 | LFS is being built. While waiting for package compilation to complete, you can
|
---|
| 48 | simply switch to a different VC (Virtual Console) or X desktop and continue
|
---|
| 49 | using the computer as you normally would.</para>
|
---|
[32489b5] | 50 |
|
---|
[bdf5881] | 51 | <para>When all the software from Chapter 6 is installed, the temporary tools
|
---|
[35c2fa60] | 52 | built in Chapter 5 are removed. In Chapters 7, 8 and 9 the installation will
|
---|
| 53 | then be finalized. The bootscripts are set up in Chapter 7, the kernel and
|
---|
| 54 | bootloader are set up in Chapter 8, and Chapter 9 has some pointers to help
|
---|
| 55 | you after you finish the book. Then, finally, you're ready to reboot your
|
---|
| 56 | computer into your new LFS system.</para>
|
---|
[32489b5] | 57 |
|
---|
[bdf5881] | 58 | <para>This is the process in a nutshell. Detailed information on the steps you
|
---|
| 59 | 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 | everything will fall into place soon.</para>
|
---|
| 62 |
|
---|
| 63 | <para>Please read Chapter 2 carefully as it explains a few important things you
|
---|
| 64 | should be aware of before you begin to work through Chapters 5 and
|
---|
[cc7e27a] | 65 | beyond.</para>
|
---|
[6370fa6] | 66 |
|
---|
| 67 | </sect1>
|
---|
| 68 |
|
---|