Chapter 5. Preparing the LFS system

Table of Contents
How and why things are done
Installing Bash
Installing Binutils
Installing Bzip2
Installing Diffutils
Installing Fileutils
Installing GCC on the normal system if necessary
Installing GCC on the LFS system
Installing Linux Kernel
Installing Glibc
Installing Grep
Installing Gzip
Installing Make
Installing Sed
Installing Shellutils
Installing Tar
Installing Textutils
Creating passwd and group files
Copying /proc/devices

How and why things are done

In this chapter we will install all the software that belongs to a basic Linux system. After you're done with this chapter you have a fully working Linux system. The remaining chapters deal with setting up networking, creating the boot scripts and adding an entry to lilo.conf so that you can boot your LFS system.

The software in this chapter will be linked statically. These programs will be re-installed 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 your 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 you or the system needs them. In depth descriptions of the package are provided after the Installation subsection of each package and in Appendix A as well.

We're about to start with installing the first set of packages. These packages will be, as previously explained, linked statically.

Before we start, make sure you have the LFS environment variable setup if you plan on using it, by running the following command:

root:~# echo $LFS