[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/2] Allow specifying the boot device by its label instead of UUI
From: |
darkpenguin |
Subject: |
[PATCH 1/2] Allow specifying the boot device by its label instead of UUID |
Date: |
Wed, 27 Sep 2023 11:13:34 +0000 |
---
util/grub-mkconfig_lib.in | 14 +++++++++++---
util/grub.d/10_linux.in | 3 +++
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/util/grub-mkconfig_lib.in b/util/grub-mkconfig_lib.in
index 08953287c..bd43bc01d 100644
--- a/util/grub-mkconfig_lib.in
+++ b/util/grub-mkconfig_lib.in
@@ -158,14 +158,22 @@ prepare_grub_to_access_device ()
fi
if [ "x${GRUB_DISABLE_UUID}" != "xtrue" ] && fs_uuid="`"${grub_probe}"
--device $@ --target=fs_uuid 2> /dev/null`" ; then
hints="`"${grub_probe}" --device $@ --target=hints_string 2> /dev/null`"
|| hints=
+
+ if [ "x${GRUB_DISABLE_LINUX_UUID}" = "xLABEL" ] \
+ && [ -b "/dev/disk/by-label/$(blkid -l -t UUID=${fs_uuid} -s LABEL -o
value)" ]; then
+ device="--label $(blkid -l -t UUID=${fs_uuid} -s LABEL -o value)"
+ else
+ device="--fs-uuid ${fs_uuid}"
+ fi
+
if [ "x$hints" != x ]; then
echo "if [ x\$feature_platform_search_hint = xy ]; then"
- echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo " search --no-floppy --set=root ${hints} ${device}"
echo "else"
- echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo " search --no-floppy --set=root ${device}"
echo "fi"
else
- echo "search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo "search --no-floppy --set=root ${device}"
fi
fi
IFS="$old_ifs"
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index cc393be7e..d29a004e3 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -61,6 +61,9 @@ if ( [ "x${GRUB_DEVICE_UUID}" = "x" ] && [
"x${GRUB_DEVICE_PARTUUID}" = "x" ] )
elif [ "x${GRUB_DEVICE_UUID}" = "x" ] \
|| [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ]; then
LINUX_ROOT_DEVICE=PARTUUID=${GRUB_DEVICE_PARTUUID}
+elif [ "x${GRUB_DISABLE_LINUX_UUID}" = "xLABEL" ] \
+ && [ -b "/dev/disk/by-label/$(blkid -l -t UUID=${GRUB_DEVICE_UUID} -s
LABEL -o value)" ]; then
+ LINUX_ROOT_DEVICE=LABEL="$(blkid -l -t UUID=${GRUB_DEVICE_UUID} -s LABEL -o
value)"
else
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
fi
--
2.30.2
- [PATCH 0/2] Add support for specifying the boot device by label, darkpenguin, 2023/09/27
- [PATCH 1/2] Allow specifying the boot device by its label instead of UUID,
darkpenguin <=
- Re: [PATCH 1/2] Allow specifying the boot device by its label instead of UUID, Vladimir 'phcoder' Serbinenko, 2023/09/27
- Re: [PATCH 1/2] Allow specifying the boot device by its label instead of UUID, darkpenguin, 2023/09/27
- Re: [PATCH 1/2] Allow specifying the boot device by its label instead of UUID, Heinrich Schuchardt, 2023/09/27
- [PATCH] Allow specifying the boot device by its label instead of UUID, darkpenguin, 2023/09/27
- Re: [PATCH] Allow specifying the boot device by its label instead of UUID, Vladimir 'phcoder' Serbinenko, 2023/09/27
- Re: [PATCH] Allow specifying the boot device by its label instead of UUID, Oskari Pirhonen, 2023/09/28
- Re: [PATCH] Allow specifying the boot device by its label instead of UUID, darkpenguin, 2023/09/28
[PATCH 2/2] Use GRUB_ENABLE_LINUX_LABEL=true instead of GRUB_DISABLE_LINUX_UUID=LABEL, darkpenguin, 2023/09/27