1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <sect1 id="ch-scatter-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 installed
- Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing
- Linux system (the host) will be used as a starting point, because you will need
- programs like a compiler, linker and shell to build the new system. Normally
- all the required tools are available if you selected <quote>development</quote>
- as one of the options when you installed your distribution.</para>
- <para>In <xref linkend="chapter-making-space"/> you will first create a new
- partition and file system, the place where your new LFS system will be compiled
- and installed. Then in <xref linkend="chapter-getting-materials"/> you download
- all the packages and patches needed to build an LFS system, and store them on
- the new file system. In <xref linkend="chapter-preparation"/> you set up a good
- environment to work in.</para>
- <para><xref linkend="chapter-temporary-tools"/> then discusses the installation
- of a number of packages that form the basic development suite used to build the
- actual system in <xref linkend="chapter-building-system"/>.</para>
- <para>The first thing to be done in <xref linkend="chapter-temporary-tools"/>
- is build a first pass of the <emphasis>toolchain</emphasis>, consisting of
- Binutils and GCC. The programs from these packages will be linked statically in
- order for them to be usable independently of the host system (thus making it
- in theory possible to skip the second passes). The second thing to do is build
- Glibc, the C library. Glibc will be compiled by the just-built toolchain
- programs. The third thing to do is build a second pass of the toolchain, this
- time linking it dynamically against the newly built Glibc. The remaining <xref
- linkend="chapter-temporary-tools"/> packages are all built using this second
- pass toolchain and are dynamically 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 thinking that <quote>this seems like a lot of work, just to
- get away from my host distribution</quote>. Well, a full technical explanation
- is provided at the start of <xref linkend="chapter-temporary-tools"/>,
- including some notes on the differences between statically and dynamically
- linked programs.</para>
- <para>In <xref linkend="chapter-building-system"/> your real LFS system will be
- 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 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. But the major
- advantage is that chrooting allows you to continue using the host while LFS is
- being built. While waiting for package compilation to complete, you can simply
- switch to a different VC (Virtual Console) or X desktop and continue using the
- computer as you normally would.</para>
- <para>To finish the installation, the bootscripts are set up in
- <xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in
- <xref linkend="chapter-mixture"/>, and <xref linkend="chapter-finalizing"/>
- contains some pointers to help you after you finish the book. Then, finally,
- you're ready to reboot your computer into your new LFS system.</para>
- <para>This is the process in a nutshell. Detailed information on all the steps
- taken is given in the chapters and sections as you progress through them. If
- something isn't completely clear now, don't worry, everything will fall into
- place soon.</para>
- </sect1>
|