how.xml 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <sect1 id="ch01-how">
  2. <title>How things are going to be done</title>
  3. <?dbhtml filename="how.html" dir="chapter01"?>
  4. <para>We are going to build the LFS system by using a previously installed
  5. Linux distribution such as Debian, SuSE, Slackware, Mandrake, RedHat, etc.
  6. We will use the existing Linux system as the development platform, because
  7. we need tools like a compiler, linker, text editor, and other development
  8. tools to build our system. Ordinarily, the required tools are available by
  9. default if we selected "development" as one of our installation options
  10. when we installed a Linux distribution.</para>
  11. <para>After you have downloaded the packages that make up an LFS system,
  12. we will create a new Linux native partition and filesystem. Here is where
  13. the LFS system will be compiled and installed.</para>
  14. <para>The next step, Chapter 5, will discuss the installation of a number of
  15. packages that will form the basic development suite which is used to
  16. build the actual system, or needed to resolve circular dependencies. For
  17. example, you need a compiler to build a new compiler, and you need a shell
  18. in order to install a new shell. The packages in this chapter will be linked
  19. statically.</para>
  20. <para>Static linking describes a method of compiling software so that
  21. it does not require the presence of libraries when building is complete.
  22. The resulting program is able to function on its own. The program is able to
  23. do so because the pieces of the program that would normally remain in the
  24. libraries are copied from the libraries and built right into the program.
  25. Ordinarily, software is built with dynamic linking. This conserves storage
  26. space and increases the efficiency of many programs. We statically link
  27. our software in Chapter 5 because we will, in theory, be moving our
  28. development system to a virtual environment where the already mentioned
  29. libraries will be absent. If the software is built dynamically, our
  30. development suite will not function. Since the libraries we are talking
  31. about are provided by our distribution Linux, the goal of Chapter 5 is to
  32. build a development environment where those libraries are not required
  33. and is therefore independent of the distribution.</para>
  34. <para>In Chapter 6 we will build and install our final system. We will use
  35. the chroot program to enter a virtual environment and start a new shell
  36. whose root directory will be set to the partition where we built all the
  37. Chapter 5 software. This is very similar to rebooting and instructing the
  38. kernel to mount our LFS partition as the root partition. The reason that
  39. we don't actually reboot, but instead chroot, is that creating a bootable
  40. static system requires additional work which simply isn't necessary. As
  41. well, we can continue to use our platform system while we are building LFS.
  42. While software is being compiled and installed you can simply switch to a
  43. different VC (Virtual Console) or X desktop and continue using your
  44. computer normally.</para>
  45. <para>When all the software from Chapter 6 is installed, Chapters 7, 8 and 9
  46. will help us finalize our installation. We will set up our boot
  47. scripts in Chapter 7. In Chapter 8 we will build our final Linux kernel and
  48. set up the Linux boot loader. Chapter 9 has some pointers to help you after
  49. you finish the book. Then finally, you reboot your system and boot into your
  50. new LFS system, and start to really use it.</para>
  51. <para>This is the process in a nutshell. Detailed information on the steps
  52. we will take are discussed in the chapters and package descriptions as you
  53. progress through them. If something isn't completely clear now, don't worry.
  54. It should become very clear shortly.</para>
  55. <para>Please read Chapter 2 carefully as it explains a few important things
  56. you should be aware of before you begin to work through Chapters 5 and
  57. later.</para>
  58. </sect1>