diff options
Diffstat (limited to 'chapter01/how.xml')
-rw-r--r-- | chapter01/how.xml | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/chapter01/how.xml b/chapter01/how.xml index 98828fc8a..b2390fb48 100644 --- a/chapter01/how.xml +++ b/chapter01/how.xml @@ -7,6 +7,78 @@ <title>How to Build an LFS System</title> <?dbhtml filename="how.html"?> -<para>See testing</para> +<para>The LFS system will be built by using a previously installed +Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This +existing Linux system (the host) will be used as a starting point to +provide necessary programs, including a compiler, linker, and shell, +to build the new system. Select the <quote>development</quote> option +during the distribution installation to be able to access these +tools.</para> + +<para><xref linkend="chapter-partitioning"/> of this book describes how +to create a new Linux native partition and file system, the place +where the new LFS system will be compiled and installed. <xref +linkend="chapter-getting-materials"/> explains which packages and +patches need to be downloaded to build an LFS system and how to store +them on the new file system. <xref linkend="chapter-final-preps"/> +discusses the setup for an appropriate work environment. Please read +<xref linkend="chapter-final-preps"/> carefully as it explains several +important issues the developer should be aware of before beginning to +work through <xref linkend="chapter-temporary-tools"/> and +beyond.</para> + +<para><xref linkend="chapter-temporary-tools"/> explains the +installation of a number of packages that will form the basic +development suite (or toolchain) which is used to build the actual +system in <xref linkend="chapter-building-system"/>. Some of these +packages are needed to resolve circular dependencies—for example, +to compile a compiler, you need a compiler.</para> + +<para><xref linkend="chapter-temporary-tools"/> also shows the user how +to build a first pass of the toolchain, including Binutils and GCC +(first pass basically means these two core packages will be +re-installed a second time). The programs from these packages will be +linked statically in order to be used independently of the host +system. The next step is to build Glibc, the C library. Glibc will be +compiled by the toolchain programs built in the first pass. Then, a +second pass of the toolchain will be built. This time, the toolchain +will be dynamically linked against the newly built Glibc. The +remaining <xref linkend="chapter-temporary-tools"/> packages are built +using this second pass toolchain. 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>While this may initially seem like a lot of work to get away +from a host distribution, a full technical explanation is provided at +the beginning of <xref linkend="chapter-temporary-tools"/>, +including notes on the differences between +statically and dynamically-linked programs.</para> + +<para>In <xref linkend="chapter-building-system"/>, the full LFS system is +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 +system does not actually reboot, but instead chroots because creating a +bootable system requires additional work which is not necessary just +yet. The major advantage is that <quote>chrooting</quote> allows the +builder to continue using the host while LFS is being built. While +waiting for package compilation to complete, a user can switch to a +different virtual console (VC) or X desktop and continue using the +computer as normal.</para> + +<para>To finish the installation, the bootscripts are set up in <xref +linkend="chapter-bootscripts"/>, and the kernel and boot loader are set +up in <xref linkend="chapter-bootable"/>. <xref +linkend="chapter-finalizing"/> contains information on furthering the +LFS experience beyond this book. After the steps in this book have +been implemented, the computer will be ready to reboot into the new +LFS system.</para> + +<para>This is the process in a nutshell. Detailed information on each +step is discussed in the following chapters and package descriptions. +Items that may seem complicated will be clarified, and everything will +fall into place as the developer embarks on the LFS adventure.</para> </sect1> + |