12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <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="chapter03"/> you will first create a new Linux native
- partition and file system, the place where your new LFS system will be compiled
- and installed. Then in <xref linkend="chapter04"/> you download all the
- packages and patches required to build an LFS system, and store them on the new
- file system.</para>
- <para><xref linkend="chapter05"/> then discusses 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="chapter06"/>. Some of these
- packages are needed to resolve circular dependencies -- for example, to compile
- a compiler you need a compiler.</para>
- <para>The first thing to be done in <xref linkend="chapter05"/> is build a
- first pass of the toolchain, made up 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. 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 time the toolchain will be dynamically linked against the newly built
- Glibc. The remaining <xref linkend="chapter05"/> packages are all built using
- this second pass toolchain and 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="chapter05"/>, including some notes
- on the differences between statically and dynamically linked programs.</para>
- <para>In <xref linkend="chapter06"/> 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. 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="chapter07"/>, the kernel and bootloader are set up in
- <xref linkend="chapter08"/>, and <xref linkend="chapter09"/> 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 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 <xref linkend="chapter02"/> carefully as it explains a few
- important things you should be aware of before you begin to work through
- <xref linkend="chapter05"/> and beyond.</para>
- </sect1>
|