From 0532b5c992844e55b737b6af671dd03de2989328 Mon Sep 17 00:00:00 2001 From: Thierry Laurion Date: Sun, 8 Sep 2024 13:37:33 -0400 Subject: [PATCH] /etc/functions:mount_possible_boot_device; puch exclusion of mount attempt on partitions <2Mb (4096 sectors) Removes spurious errors thrown for exfat in dmesg. Something better to propose? Signed-off-by: Thierry Laurion --- initrd/etc/functions | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/initrd/etc/functions b/initrd/etc/functions index 94f77d3e2..d9969bc9a 100755 --- a/initrd/etc/functions +++ b/initrd/etc/functions @@ -697,8 +697,17 @@ mount_possible_boot_device() { return 1 fi - TRACE "Try mounting $BOOT_DEV as /boot" - if mount -o ro "$BOOT_DEV" /boot >/dev/null 2>&1; then + # Get the size of BOOT_DEV in 512-byte sectors + sectors=$(blockdev --getsz "$BOOT_DEV") + + # Check if the partition is small (less than 2MB, which is 4096 sectors) + if [ "$sectors" -lt 4096 ]; then + TRACE_FUNC + DEBUG "Partition $BOOT_DEV is very small, likely BIOS boot. Skipping mount." + return 1 + TRACE_FUNC + DEBUG "Try mounting $BOOT_DEV as /boot" + elif mount -o ro "$BOOT_DEV" /boot >/dev/null 2>&1; then if ls -d /boot/grub* >/dev/null 2>&1; then # This device is a reasonable boot device return 0