123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
- "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
- <!ENTITY % general-entities SYSTEM "../general.ent">
- %general-entities;
- ]>
- <sect1 id="ch-intro-how">
- <?dbhtml filename="how.html"?>
- <title>How to Build an LFS System</title>
- <para>The LFS system will be built by using a previously installed
- Linux distribution (such as Debian, Mandriva, 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>As an alternative to installing a separate distribution onto your
- machine, you may wish to use the Linux From Scratch LiveCD or a LiveCD from a
- commercial distribution. The LFS LiveCD works well as a host system,
- providing all the tools you need to successfully follow the instructions in
- this book. Unfortunately, development of the LiveCD has not progressed
- recently and it only contains older versions of the source packages and
- patches (for those ISOs not labels -nosrc or -min), and this book. For more
- information about the LFS LiveCD or to download a copy, visit <ulink
- url="&livecd-root;"/>.</para>
- <note>
- <para>The LFS LiveCD might not work on newer hardware configurations,
- failing to boot or failing to detect some devices such as some SATA hard
- drives.</para>
- </note>
- <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 of an appropriate working environment. Please read
- <xref linkend="chapter-final-preps"/> carefully as it explains several
- important issues the reader 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 reinstalled).
- 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>This effort to isolate the new system from the host distribution may
- seem excessive, but a full technical explanation is provided in
- <xref linkend="ch-tools-toolchaintechnotes"/>.</para>
- <para>In <xref linkend="chapter-building-system"/>, the full LFS system is
- built. The <command>chroot</command> (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 <command>chroot</command>'s 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 LFS-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 reader embarks on the LFS adventure.</para>
- </sect1>
|