On 7/26/20 6:35 AM, Kevin Buckley via lfs-dev wrote:
At present, the LFS Book, at Revision r12002, says

4.2. Creating the Minimal directory layout in LFS filesystem

The first task performed in the LFS partition is to create a minimal
directory hierarchy so that programs compiled in Chapter 6 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/{usr,lib,var,etc,bin,sbin}
case $(uname -m) in
   x86_64) mkdir -pv $LFS/lib64 ;;
esac

however, the "This is needed ..." statement is not actually true.

I've noticed that when building the Chapter 5 tools, that you only
really need

   $LFS/usr

so as to allow Linux Headers to do this

   cp -rv usr/include $LFS/usr

and

   $LFS/lib
   $LFS/lib64

because of the compatibility links that get added at the start of
Chapter 5's Glibc.

The install of Chapter 5's Glibc creates the following "top-level" directories

lib, var, etc, sbin

when it does, amongst other "mkdir -p" invocations, the following

mkdir -p -- /media/lfs10/lib
mkdir -p -- /media/lfs10/var/lib/nss_db
mkdir -p -- /media/lfs10/etc
mkdir -p -- /media/lfs10/sbin

and indeed, at the end of Chapter 5, there is still no /bin below $LFS.

As I see it, it's not until Chapter 6's Bash, where the bash binary
gets moved to /bin, that that directory is required, so perhaps the
minimal directory list could just be

mkdir -pv $LFS/{bin,lib,usr}
case $(uname -m) in
   x86_64) mkdir -pv $LFS/lib64 ;;
esac

and even then the lib and lib64 directories are only required in the Glibc
section because explicit links are made there, so the creation of those
directories could be made part of Chapter 5's Glibc.

Note also that Chapter 6's Bash install, doesn't require $LFS/bin: it's
the "by-hand" move of the bash binary that requires it.

If the creation of /bin was made a part of the Chapter 6 Bash install,
as that is the first place that /bin is required, that would leave Chapter 4
with just this

mkdir -pv $LFS/usr

Just some observations that might be of use to some though,

I haven't checked, but I think you may be taking the word 'minimal' too literally. Perhaps we should just change the description to:

Creating a Limited directory layout in LFS filesystem

Whether or not all the directories created in Chapter 4 are needed in Chapters 5 and 6, they are certainly needed in Chapters 7 and 8. When they are created is really not very important.

  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to