kernfs: Revise command creating the link target in case /dev/shm is a symlink

When /dev/shm is a symlink we need to create its target or some tests
will fail and Python 3 will be misconfigured.  We wrote it as:

    mkdir -pv $LFS/$(readlink $LFS/dev/shm)

But if $LFS/dev/shm is a relative symlink (say ../run/shm), we end up:

    mkdir -pv /mnt/lfs/../run/shm

This command will create /mnt/run/shm, not $LFS/mnt/shm as we expected.
Twist it a little to make it work for both absolute symlinks and
relative symlinks.
This commit is contained in:
Xi Ruoyao 2023-11-20 07:18:26 +08:00
parent f16cc36c29
commit 01247ac90a
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3

View File

@ -107,7 +107,7 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
we must explicitly mount a tmpfs:</para>
<screen><userinput>if [ -h $LFS/dev/shm ]; then
mkdir -pv $LFS/$(readlink $LFS/dev/shm)
(cd $LFS/dev; mkdir $(readlink shm))
else
mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
fi</userinput></screen>