summaryrefslogtreecommitdiffstats
path: root/source/installer
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2023-07-09 18:35:37 +0000
committer Eric Hameleers <alien@slackware.com>2023-07-09 20:58:07 +0200
commit7e558f163df566e4bacdf5ea90c70b4a1986e6c2 (patch)
tree2fa38558cf2bb198117c162b6b1be9f38744a31f /source/installer
parenta59816a829a8276341c1053a594715c234b3b64b (diff)
downloadcurrent-7e558f163df566e4bacdf5ea90c70b4a1986e6c2.tar.gz
current-7e558f163df566e4bacdf5ea90c70b4a1986e6c2.tar.xz
Sun Jul 9 18:35:37 UTC 202320230709183537
ap/qpdf-11.5.0-x86_64-1.txz: Upgraded. kde/kid3-3.9.4-x86_64-1.txz: Upgraded. l/harfbuzz-8.0.0-x86_64-1.txz: Upgraded. l/xapian-core-1.4.23-x86_64-1.txz: Upgraded. n/gpgme-1.21.0-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/installer')
-rw-r--r--source/installer/ChangeLog.txt8
-rwxr-xr-xsource/installer/build_installer.sh6
-rwxr-xr-xsource/installer/sources/initrd/sbin/mkbindmounts6
-rwxr-xr-xsource/installer/sources/initrd/usr/lib/setup/setup16
4 files changed, 22 insertions, 14 deletions
diff --git a/source/installer/ChangeLog.txt b/source/installer/ChangeLog.txt
index 56bf9bb01..3921e93bf 100644
--- a/source/installer/ChangeLog.txt
+++ b/source/installer/ChangeLog.txt
@@ -1,3 +1,11 @@
+Sun Jul 9 18:25:37 UTC 2023
+ setup: mount /dev, /proc, and /sys with -rbind, and unmount them with -R.
+ mkbindmounts: usr -rbind instead of -bind.
+ reboot: use -R when unmounting /dev, /proc, and /sys.
+ These changes should fix "EFI variables are not supported on this system"
+ when chrooting into /mnt to do additional tasks such as setting up grub.
+ Thanks to downhomechunk.
++--------------------------+
Sat Jul 1 03:15:09 UTC 2023
AArch64:
/sbin/probe: Added reserved file system labels for Hardware Models
diff --git a/source/installer/build_installer.sh b/source/installer/build_installer.sh
index ea253fc59..bf77acca5 100755
--- a/source/installer/build_installer.sh
+++ b/source/installer/build_installer.sh
@@ -1201,9 +1201,9 @@ echo "Syncing filesystems."
sync
echo "Unmounting filesystems:"
# Try to unmount these bind mounts first to prevent them from blocking unmount of the target /:
-umount /mnt/dev 2> /dev/null
-umount /mnt/proc 2> /dev/null
-umount /mnt/sys 2> /dev/null
+umount -R /mnt/dev 2> /dev/null
+umount -R /mnt/proc 2> /dev/null
+umount -R /mnt/sys 2> /dev/null
/bin/umount -v -a -t no,proc,sysfs,devtmpfs,fuse.gvfsd-fuse,tmpfs
sync
echo "Rebooting."
diff --git a/source/installer/sources/initrd/sbin/mkbindmounts b/source/installer/sources/initrd/sbin/mkbindmounts
index 40a9d7313..e5c95c0f1 100755
--- a/source/installer/sources/initrd/sbin/mkbindmounts
+++ b/source/installer/sources/initrd/sbin/mkbindmounts
@@ -5,6 +5,6 @@
# reinstall boot loaders).
mkdir -p /mnt/{dev,proc,sys}
-mount -o bind /dev /mnt/dev
-mount -o bind /proc /mnt/proc
-mount -o bind /sys /mnt/sys
+mount -o rbind /dev /mnt/dev
+mount -o rbind /proc /mnt/proc
+mount -o rbind /sys /mnt/sys
diff --git a/source/installer/sources/initrd/usr/lib/setup/setup b/source/installer/sources/initrd/usr/lib/setup/setup
index 94b8a41a1..6eb96dc3a 100755
--- a/source/installer/sources/initrd/usr/lib/setup/setup
+++ b/source/installer/sources/initrd/usr/lib/setup/setup
@@ -80,11 +80,11 @@ ROOT_DEVICE="`mount | grep "on / " | cut -f 1 -d ' '`"
echo "$ROOT_DEVICE" > $TMP/SeTrootdev
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then # clear source location:
# In case of bind mounts, try to unmount them first:
- umount /var/log/mount/dev 2> /dev/null
- umount /var/log/mount/proc 2> /dev/null
- umount /var/log/mount/sys 2> /dev/null
+ umount -R /var/log/mount/dev 2> /dev/null
+ umount -R /var/log/mount/proc 2> /dev/null
+ umount -R /var/log/mount/sys 2> /dev/null
# Unmount target partition:
- umount /var/log/mount
+ umount -R /var/log/mount
fi
# Anything mounted on /var/log/mount now is a fatal error:
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then
@@ -340,9 +340,9 @@ to choose packages individually." 4 60
if [ "$MAINSELECT" = "CONFIGURE" ]; then
# Make bind mounts for /dev, /proc, and /sys:
- mount -o bind /dev $T_PX/dev 2> /dev/null
- mount -o bind /proc $T_PX/proc 2> /dev/null
- mount -o bind /sys $T_PX/sys 2> /dev/null
+ mount -o rbind /dev $T_PX/dev 2> /dev/null
+ mount -o rbind /proc $T_PX/proc 2> /dev/null
+ mount -o rbind /sys $T_PX/sys 2> /dev/null
SeTconfig
REPLACE_FSTAB=Y
if [ -r $TMP/SeTnative ]; then
@@ -392,7 +392,7 @@ if mount | grep /var/log/mntiso 1> /dev/null 2> /dev/null ; then
umount -f /var/log/mntiso
fi
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then
- umount /var/log/mount
+ umount -R /var/log/mount
fi
# Anything mounted on /var/log/mount now is a fatal error:
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then