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 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. Since the packages compiled here are merely temporary, we don't want them to pollute the soon-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.

Many of our packages must be patched before they can be compiled. We only apply patches when and where they are needed. So, don't fret if it seems like instructions for a patch are missing.

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).