4.2. Creating a limited directory layout in LFS filesystem

The first task performed in the LFS partition is to create a limited directory hierarchy so that programs compiled in Chapter 6 (as well as glibc and libstdc++ in Chapter 5) may be installed in their final location. This is needed so that those temporary programs be overwritten when rebuilding them in Chapter 8.

Create the required directory layout by running the following as root:

mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin}

for i in bin lib sbin; do
  ln -sv usr/$i $LFS/$i

case $(uname -m) in
  x86_64) mkdir -pv $LFS/lib64 ;;


The above command is correct. The ln command has a few syntactic versions, so be sure to check info coreutils ln and ln(1) before reporting what you may think is an error.

Programs in Chapter 6 will be compiled with a cross-compiler (more details in section Toolchain Technical Notes). In order to separate this cross-compiler from the other programs, it will be installed in a special directory. Create this directory with:

mkdir -pv $LFS/tools