From 1b9fcaad2bbff8caab6598ad87a97ca05f929b21 Mon Sep 17 00:00:00 2001 From: Aiden McClelland Date: Tue, 17 Mar 2026 15:10:54 -0600 Subject: [PATCH] fix: use proper mount types for proc/sysfs/efivarfs in chroot scripts Replace bind mounts with typed mounts (mount -t proc, mount -t sysfs, mount -t efivarfs) for /proc, /sys, and efivars in chroot environments. --- build/image-recipe/build.sh | 4 ++-- build/lib/scripts/chroot-and-upgrade | 6 +++--- build/lib/scripts/upgrade | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build/image-recipe/build.sh b/build/image-recipe/build.sh index 7b21e1e80..6648e719a 100755 --- a/build/image-recipe/build.sh +++ b/build/image-recipe/build.sh @@ -507,8 +507,8 @@ elif [ "${IMAGE_TYPE}" = img ]; then $TMPDIR/next/dev $TMPDIR/next/proc $TMPDIR/next/sys $TMPDIR/next/media/startos/root mount --rbind $TMPDIR/boot $TMPDIR/next/boot mount --bind /dev $TMPDIR/next/dev - mount --bind /proc $TMPDIR/next/proc - mount --bind /sys $TMPDIR/next/sys + mount -t proc proc $TMPDIR/next/proc + mount -t sysfs sysfs $TMPDIR/next/sys mount --bind $TMPDIR/root $TMPDIR/next/media/startos/root chroot $TMPDIR/next grub-install --target=arm64-efi --removable --efi-directory=/boot/efi --boot-directory=/boot --no-nvram diff --git a/build/lib/scripts/chroot-and-upgrade b/build/lib/scripts/chroot-and-upgrade index 7c04f6214..f5dd417aa 100755 --- a/build/lib/scripts/chroot-and-upgrade +++ b/build/lib/scripts/chroot-and-upgrade @@ -58,13 +58,13 @@ mkdir -p /media/startos/next/media/startos/root mount --bind /run /media/startos/next/run mount --bind /tmp /media/startos/next/tmp mount --bind /dev /media/startos/next/dev -mount --bind /sys /media/startos/next/sys -mount --bind /proc /media/startos/next/proc +mount -t sysfs sysfs /media/startos/next/sys +mount -t proc proc /media/startos/next/proc mount --bind /boot /media/startos/next/boot mount --bind /media/startos/root /media/startos/next/media/startos/root if mountpoint /sys/firmware/efi/efivars 2>&1 > /dev/null; then - mount --bind /sys/firmware/efi/efivars /media/startos/next/sys/firmware/efi/efivars + mount -t efivarfs efivarfs /media/startos/next/sys/firmware/efi/efivars fi if [ -z "$*" ]; then diff --git a/build/lib/scripts/upgrade b/build/lib/scripts/upgrade index 309d0e9bb..488372e2d 100755 --- a/build/lib/scripts/upgrade +++ b/build/lib/scripts/upgrade @@ -45,13 +45,13 @@ mkdir -p /media/startos/next/media/startos/root mount --bind /run /media/startos/next/run mount --bind /tmp /media/startos/next/tmp mount --bind /dev /media/startos/next/dev -mount --bind /sys /media/startos/next/sys -mount --bind /proc /media/startos/next/proc +mount -t sysfs sysfs /media/startos/next/sys +mount -t proc proc /media/startos/next/proc mount --rbind /boot /media/startos/next/boot mount --bind /media/startos/root /media/startos/next/media/startos/root if mountpoint /sys/firmware/efi/efivars 2>&1 > /dev/null; then - mount --bind /sys/firmware/efi/efivars /media/startos/next/sys/firmware/efi/efivars + mount -t efivarfs efivarfs /media/startos/next/sys/firmware/efi/efivars fi chroot /media/startos/next bash -e << "EOF"