| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | <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 your LFS system by using a previously installedLinux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existingLinux system (the host) will be used as a starting point, because you will needprograms like a compiler, linker and shell to build the new system. Normallyall the required tools are available if you selected <quote>development</quote>as one of the options when you installed your distribution.</para><para>In Chapter 3 you will first create a new Linux native partition and filesystem, the place where your new LFS system will be compiled and installed. Thenin Chapter 4 you download all the packages and patches required to build an LFSsystem, and store them on the new file system.</para><para>Chapter 5 will then discuss the installation of a number of packages thatwill form the basic development suite (or toolchain) which is used to build theactual system in Chapter 6. Some of these packages are needed to resolvecircular dependencies. For example, to compile a compiler you need acompiler.</para><para>The first thing to be done in Chapter 5 is build a first pass of the toolchain, which is made up of Binutils and GCC. The programs from these packages will be linked statically in order for them to be used independently of the host system. The second thing to do is build Glibc, the C library. Glibc will be compiled by the toolchain programs we just built in the first pass. The third thing to do is build a second pass of the toolchain. This timethe toolchain will be dynamically linked against the newly built Glibc. Theremaining Chapter 5 packages are all built using this second pass toolchain anddynamically linked against the new host-independent Glibc. When this is done,the LFS installation process will no longer depend on the host distribution,with the exception of the running kernel.</para><para>You may be asking yourself <quote>that seems like a lot of work, just toget away from my host distribution?</quote>. A full technical and in-depthexplanation is provided at the start of Chapter 5, including some notes on thedifferences between statically and dynamically linked programs.</para><para>In Chapter 6 your 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 just yet.Another advantage is that chrooting allows you to continue using the host whileLFS is being built. While waiting for package compilation to complete, you cansimply switch to a different VC (Virtual Console) or X desktop and continueusing the computer as you normally would.</para><para>When all the software from Chapter 6 is installed, the temporary tools built in Chapter 5 are removed. In Chapters 7, 8 and 9 the installation willthen be finalized. The bootscripts are set up in Chapter 7, the kernel andbootloader are set up in Chapter 8, and Chapter 9 has some pointers to helpyou after you finish the book.  Then, finally, you're ready to reboot yourcomputer into your 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>
 |