aboutsummaryrefslogtreecommitdiffstats
path: root/chapter01/how.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter01/how.xml')
-rw-r--r--chapter01/how.xml74
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&mdash;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>
+