Chapter 5. Preparing the LFS system

Table of Contents
Install all software as user root
Installing Bash
Installing Binutils
Installing Bzip2
Installing Diffutils
Installing Fileutils
Installing GCC
Installing Linux Kernel
Installing Grep
Installing Gzip
Installing Make
Installing Sed
Installing Shellutils
Installing Tar
Installing Textutils
Installing Mawk
Installing Texinfo
Installing Gettext
Creating passwd and group files
Mounting $LFS/proc file system


In the following chapters we will install all the software that belongs to a basic Linux system. After you're done with this and the next chapter, you'll have a fully working Linux system. The remaining chapters deal with creating the boot scripts, making the LFS system bootable and setting up basic networking.

The software in this chapter will be linked statically. These programs will be reinstalled in the next chapter and linked dynamically. The reason for the static version first is that there is a chance that our normal Linux system and the LFS system aren't using the same C Library versions. If the programs in the first part are linked against an older C library version, those programs might not work well on the LFS system.

The key to learn what makes Linux tick is to know exactly what packages are used for and why a user or the system needs them. Descriptions of the package content are provided after the Installation subsection of each package and in Appendix A as well.

During the installation of various packages, you will more than likely see all kinds of compiler warnings scrolling by on the screen. These are normal and can be safely ignored. They are just that, warnings (mostly about improper use of the C or C++ syntax, but not illegal use. It's just that, often, C standards changed and packages still use the old standard which is not a problem).

Before we start, make sure the LFS environment variable is setup 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).