| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | <sect1 id="ch01-how"><title>How things are going to be done</title><?dbhtml filename="how.html" dir="chapter01"?><para>We are going to build the LFS system by using a previously installedLinux distribution such as Debian, SuSE, Slackware, Mandrake, RedHat, etc.We will use the existing Linux system as the development platform, becausewe need tools like a compiler, linker, text editor, and other necessarydevelopment tools to build our system. Ordinarily, the required tools areavailable by default if we selected "development" as one of our installationoptions when we installed the distributed Linux.</para><para>After you have downloaded the necessary packages that make up an LFSsystem we will create a new Linux native partition and filesystem. Hereis where the LFS system will be compiled and installed.</para><para>The next step, chapter 5, will discuss the installation of a number ofpackages that will form the basic development suite which is used tobuild the actual system, or needed to resolve circular dependencies. Forexample, you need a compiler to build a new compiler, and you need a shellin order to install a new shell. The packages in this chapter will be linkedstatically.</para><para>Static linking describes a method of compiling software so thatit does not require the presence of libraries when building is complete.The resulting program is able to function on its own. The program is able todo so because the pieces of the program that would normally remain in thelibraries are copied from the libraries and built right into the program.Ordinarily, software is built with dynamic linking. This conserves storagespace and increases the efficiency of many programs. We statically linkour software in chapter 5 because we will in theory be moving ourdevelopment system to a virtual environment where the already mentionedlibraries will be absent. If the software is built dynamically, ourdevelopment suite will not function. Since the libraries we are talkingabout are provided by our distribution Linux, the goal of chapter 5 is tobuild a development environment where those libraries are not requiredand is therefore independent of the distribution.</para><para>In chapter 6 we will build and install our final system. We will usethe chroot program to enter a virtual environment and start a new shellwhose root directory will be set to the partition where we built all thechapter 5 software. This is very similar to rebooting and instructing thekernel to mount our LFS partition as the root partition. The reason thatwe don't actually reboot, but instead chroot, is that creating a staticsystem that we can boot into requires more work that simply isn't necessary.As well, we can continue to use our platform system while we are buildingLFS. While software is being compiled and installed you can simply switchto a different VC (Virtual Console) or X desktop and continue using yourcomputer normally.</para><para>When all the software from chapter 6 is installed, chapters 7, 8 and 9will help us finalize our installation. We will set up our bootscripts in chapter 7. In chapter 8 we will build our final linux kernel andset up the Linux boot loader. Chapter 9 has some pointers to help you afteryou finish the book. Then finally, you reboot your system and boot into yournew LFS system, and start to really use it.</para><para>This is the process in a nutshell. Detailed information on the stepswe will take are discussed in the chapters and package descriptions as youprogress through them. If something isn't completely clear now, don't worry.It should become very clear shortly.</para><para>Please read chapter 2 carefully as it explains a few important thingsyou should be aware of before you begin to work through chapters 5 andlater.</para></sect1>
 |