Creating directories
Before we start creating directories, we need to check the base
system's umask setting.  To do this, we run
umask.  The result should be 022.  If it isn't,
then run the following command to ensure that the directories will be
created with the correct permissions:
umask 022
We would advise you to make sure that the umask is set to 022
throughout your LFS installation.
Let's now create the directory tree on the LFS partition based on the FHS
standard, which can be found at http://www.pathname.com/fhs/.
Issuing the following commands will create a default directory layout:
 
cd $LFS &&
mkdir -p bin boot dev/pts etc/opt home lib mnt proc root sbin tmp var opt &&
for dirname in $LFS/usr $LFS/usr/local
   do
   mkdir $dirname
   cd $dirname
   mkdir bin etc include lib sbin share src var
   ln -s share/man
   ln -s share/doc
   ln -s share/info
   cd $dirname/share
   mkdir dict doc info locale man nls misc terminfo zoneinfo
   cd $dirname/share/man
   mkdir man{1,2,3,4,5,6,7,8}
done &&
cd $LFS/var &&
mkdir -p lock log mail run spool tmp opt cache lib/misc local &&
cd $LFS/opt &&
mkdir bin doc include info lib man &&
cd $LFS/usr &&
ln -s ../var/tmp
Normally, directories are created with permission mode 755, which isn't
desired for all directories. The first change is a mode 0750 for the 
$LFS/root directory. This is to make sure that not just everybody can 
enter the /root directory (the same a user would do with /home/username 
directories). The second change is a mode 1777 for the tmp 
directories. This way, any user can write data to the /tmp or /var/tmp 
directory but cannot remove another user's files (the latter is caused 
by the so-called "sticky bit" - bit 1 of the 1777 bit mask).
cd $LFS &&
chmod 0750 root &&
chmod 1777 tmp var/tmp
Now that the directories are created, copy the source files that were
downloaded in chapter 3 to some subdirectory under $LFS/usr/src (you
will need to create the desired directory yourself).
FHS compliance notes
The FHS stipulates that the /usr/local directory should contain the 
bin, games,include, lib, man, sbin, and share subdirectories. You can 
alter your /usr/local directory yourself if you want your system 
to be FHS-compliant.
Also, the standard says that there should exist a /usr/share/games 
directory, which we don't much like for a base system. But feel free to 
make your system FHS-compliant if you wish. The FHS isn't precise as 
to the structure of the /usr/local/share subdirectories, so we took the 
liberty of creating the directories that we felt needed.