| 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, or Red Hat.We will use this existing Linux system as a starting platform, because wewill need tools like a compiler, linker, text editor, and other developmenttools to build our system. Ordinarily, the required tools are available bydefault if we selected "development" as one of our installation optionswhen we installed a Linux distribution.</para><para>After you have downloaded the packages that make up an LFS system,we will create a new Linux native partition and filesystem. Here is wherethe 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 bootablestatic system requires additional work which simply isn't necessary. Aswell, we can continue to use our platform system while we are building LFS.While software is being compiled and installed you can simply switch to adifferent 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>
 |