Creating directories

Let's create the directory tree on the LFS partition according to the FHS standard which can be found at Issuing the following commands will create the necessary directories:

root:~# cd $LFS
root:~# mkdir bin boot dev dev/pts etc home lib mnt proc root sbin tmp var
root:~# for dirname in $LFS/usr $LFS/usr/local
> do
> mkdir $dirname
> cd $dirname
> mkdir bin etc include lib sbin share src tmp var
> ln -s share/man man
> ln -s share/doc doc
> ln -s share/info info
> cd $dirname/share
> mkdir dict doc info locale man nls misc terminfo zoneinfo
> cd $dirname/share/man
> mkdir man1 man2 man3 man4 man5 man6 man7 man8
> done
root:~# cd $LFS/var
root:var# mkdir lock log mail run spool tmp

Normally directories are created with permission mode 755, which isn't desired for all directories. I haven't checked the FHS if they suggest default modes for certain directories, so I'll just change the modes for two 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 you would do with /home/username directories). The second change is a mode 1777 for the $LFS/tmp directory. This way every user can write stuff to the /tmp directory if they need to. The sticky (1) bit makes sure users can't delete other user's file which they normally can do because the directory is set in such a way that every body (owner, group, world) can write to that directory.

root:~# cd $LFS
root:lfs# chmod 0750 root
root:lfs# chmod 1777 tmp usr/tmp var/tmp

Now that the directories are created, copy the source files you have downloaded in chapter 3 to some subdirectory under $LFS/usr/src (you will need to create this subdirectory yourself).