how.xml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
  3. <!ENTITY % general-entities SYSTEM "../general.ent">
  4. %general-entities;
  5. ]>
  6. <sect1 id="ch-scatter-how">
  7. <title>How things are going to be done</title>
  8. <?dbhtml filename="how.html"?>
  9. <para>You are going to build your LFS system by using a previously installed
  10. Linux distribution (such as Debian, Mandrake, Red Hat, or SuSE). This existing
  11. Linux system (the host) will be used as a starting point, because you will need
  12. programs like a compiler, linker and shell to build the new system. Normally
  13. all the required tools are available if you selected <quote>development</quote>
  14. as one of the options when you installed your distribution.</para>
  15. <para>In <xref linkend="chapter-partitioning"/> you will first create a new Linux native
  16. partition and file system, the place where your new LFS system will be compiled
  17. and installed. Then in <xref linkend="chapter-getting-materials"/> you download all the
  18. packages and patches needed to build an LFS system, and store them on the new
  19. file system. In <xref linkend="chapter-final-preps"/> you set up a good
  20. environment to work in.</para>
  21. <para><xref linkend="chapter-temporary-tools"/> then discusses the installation of a number
  22. of packages that will form the basic development suite (or <emphasis>toolchain</emphasis>) which is
  23. used to build the actual system in <xref linkend="chapter-building-system"/>. Some of these
  24. packages are needed to resolve circular dependencies -- for example, to compile
  25. a compiler you need a compiler.</para>
  26. <para>The first thing to be done in <xref linkend="chapter-temporary-tools"/> is build a
  27. first pass of the toolchain, made up of Binutils and GCC. The programs from
  28. these packages will be linked statically in order for them to be usable
  29. independently of the host system. The second thing to do is build Glibc, the
  30. C library. Glibc will be compiled by the toolchain programs just built in
  31. the first pass. The third thing to do is build a second pass of the toolchain.
  32. This time the toolchain will be dynamically linked against the newly built
  33. Glibc. The remaining <xref linkend="chapter-temporary-tools"/> packages are all built using
  34. this second pass toolchain and dynamically linked against the new
  35. host-independent Glibc. When this is done, the LFS installation process will no
  36. longer depend on the host distribution, with the exception of the running
  37. kernel.</para>
  38. <para>You may be thinking that <quote>this seems like a lot of work, just to
  39. get away from my host distribution</quote>. Well, a full technical explanation
  40. is provided at the start of <xref linkend="chapter-temporary-tools"/>, including some notes
  41. on the differences between statically and dynamically linked programs.</para>
  42. <para>In <xref linkend="chapter-building-system"/> your real LFS system will be built. The
  43. chroot (change root) program is used to enter a virtual environment and start
  44. a new shell whose root directory will be set to the LFS partition. This is very
  45. similar to rebooting and instructing the kernel to mount the LFS partition as
  46. the root partition. The reason that you don't actually reboot, but instead
  47. chroot, is that creating a bootable system requires additional work which isn't
  48. necessary just yet. But the major advantage is that <quote>chrooting</quote> allows you to
  49. continue using the host while LFS is being built. While waiting for package
  50. compilation to complete, you can simply switch to a different VC (Virtual
  51. Console) or X desktop and continue using the computer as you normally
  52. would.</para>
  53. <para>To finish the installation, the bootscripts are set up in
  54. <xref linkend="chapter-bootscripts"/>, the kernel and bootloader are set up in
  55. <xref linkend="chapter-bootable"/>, and <xref linkend="chapter-finalizing"/> contains some
  56. pointers to help you after you finish the book. Then, finally, you're ready to
  57. reboot your computer into your new LFS system.</para>
  58. <para>This is the process in a nutshell. Detailed information on the steps you
  59. will take are discussed in the chapters and package descriptions as you
  60. progress through them. If something isn't completely clear now, don't worry,
  61. everything will fall into place soon.</para>
  62. <para>Please read <xref linkend="chapter-final-preps"/> carefully as it explains
  63. a few important things you should be aware of before you begin to work through
  64. <xref linkend="chapter-temporary-tools"/> and beyond.</para>
  65. </sect1>