Throughout this book, the environment variable LFS
will be used several times. You should ensure that
this variable is always defined throughout the LFS build process. It
should be set to the name of the directory where you will be building
your LFS system - we will use /mnt/lfs
as an example, but the choose any directory name you want. Choose a
directory location and set the variable with the following command:
export LFS=/mnt/lfs
Having this variable set is beneficial in that commands such as mkdir -v $LFS/tools can be typed literally. The shell will automatically replace “$LFS” with “/mnt/lfs” (or whatever value the variable was set to) when it processes the command line.
Create the directory:
mkdir -pv $LFS
If you don't have much space in the partition holding the directory, you can mount another partition on it.
Do not forget to check that LFS
is set
whenever you leave and reenter the current working environment
(such as when doing a su to root
or another user). Check that the
LFS
variable is set up properly with:
echo $LFS
Make sure the output shows the path to your LFS system's build
location, which is /mnt/lfs
if the
provided example was followed. If the output is incorrect, use the
command given earlier on this page to set $LFS
to the correct directory name.
One way to ensure that the LFS
variable
is always set is to edit the .bash_profile
file in both your personal home
directory and in /root/.bash_profile
and enter the export command above. In addition, the shell
specified in the /etc/passwd
file for
all users that need the LFS
variable
must be bash to ensure that the /root/.bash_profile
file is incorporated as a
part of the login process.
Another consideration is the method that is used to log into the
host system. If logging in through a graphical display manager, the
user's .bash_profile
is not normally
used when a virtual terminal is started. In this case, add the
export command to the .bashrc
file
for the user and root
. In addition,
some distributions use an "if" test, and do not run the remaining
.bashrc
instructions for a
non-interactive bash invocation. Be sure to place the export
command ahead of the test for non-interactive use.