About $LFS
Please read the following carefully: throughout this book
the variable LFS will be used frequently. $LFS must at all times be
replaced with the directory where the partition that contains the LFS system
is mounted. How to create and where to mount the partition will be
explained in full detail in Chapter 4. For example, let's assume that
the LFS partition is mounted on /mnt/lfs.
When you are told to run a command like
./configure --prefix=$LFS/static you actually have to
execute ./configure --prefix=/mnt/lfs/static.
It's important that this is done no matter where it is read; be it in
commands entered in a shell, or in a file edited or created.
A possible solution is to set the environment variable LFS.
This way $LFS can be entered literally instead of replacing it with
/mnt/lfs. This is accomplished by running:
export LFS=/mnt/lfs
Now, if you are told to run a command such as
./configure --prefix=$LFS/static, then you may type
it literally. Your shell will replace $LFS with /mnt/lfs when it processes
the command line (meaning when you hit enter after having typed the
command).
If you plan to use $LFS, do not forget to set the LFS variable at all
times. If the variable is not set and is used in a command, $LFS will
be ignored and whatever is left will be executed. A command like
echo "root:x:0:0:root:/root:/bin/bash" >
$LFS/etc/passwd without the LFS variable set will
re-create your host system's /etc/passwd file. Simply put: it will
destroy your current password database file.
One way to make sure that $LFS is set at all times is adding it to
the /root/.bash_profile and /root/.bashrc files so that every time
you login as user root, or you su to user root,
the LFS variable is set.