Introduction In this chapter we will compile and install a minimal Linux system. This system will contain just enough tools to be able to start constructing the final LFS system in the next chapter. The software in this chapter will be linked statically, because there is a possibility that your host Linux system uses a different version of the C library than the version you downloaded for use in your LFS system. If we were to link the programs in this chapter against that older C library, these programs might work incorrectly, or not at all, when we change to the LFS system. The files compiled in this chapter will be installed under the $LFS/static directory, to keep them separate from the files installed in the next chapter. As everything done here is only temporarily, we don't want these files to pollute the to-be LFS system. The key to learning what makes a Linux system work is to know exactly what each package is used for, and why the user or the system needs it. For this purpose a short description of the content of each package is given right after the installation instructions. During the installation of several packages you will probably see all kinds of compiler warnings scroll by on your screen. These are normal and can be safely ignored. They are just what they say they are: warnings -- mostly about improper, but not illegal, use of the C or C++ syntax. It's just that C standards have changed rather often and some packages still use the older standard, which is not really a problem. Before you start, make sure the LFS environment variable is set up properly if you decided to make use of it. Run the following: echo $LFS Check to make sure the output contains the correct directory to the LFS partition's mount point (/mnt/lfs for example).