[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add GRUB_DISABLE_UUID.
From: |
Daniel Kiper |
Subject: |
Re: [PATCH] Add GRUB_DISABLE_UUID. |
Date: |
Wed, 18 Sep 2019 14:39:09 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
Adding Nicholas...
On Tue, Sep 17, 2019 at 05:48:45PM +0200, Javier Martinez Canillas wrote:
> From: Peter Jones <address@hidden>
>
> This will cause "search --fs-uuid --set=root ..." not to be generated by
> grub2-mkconfig, and instead simply attempt to use the grub device name
> as it understands it.
>
> Signed-off-by: Peter Jones <address@hidden>
> Signed-off-by: Javier Martinez Canillas <address@hidden>
We have this functionality in GRUB upstream. Please take a look at
commit 51be3372e (templates: Update grub script template files).
Could you pick it up in RH/Fedora?
Daniel
> ---
>
> docs/grub.texi | 7 +++++++
> util/grub-mkconfig.in | 22 +++++++++++++++++++---
> util/grub-mkconfig_lib.in | 4 ++--
> 3 files changed, 28 insertions(+), 5 deletions(-)
>
> diff --git a/docs/grub.texi b/docs/grub.texi
> index 3d50b16ba4c..132e56a7b44 100644
> --- a/docs/grub.texi
> +++ b/docs/grub.texi
> @@ -1441,6 +1441,13 @@ enable the use of partition UUIDs, set this option to
> @samp{false}.
> If this option is set to @samp{true}, disable the generation of recovery
> mode menu entries.
>
> +@item GRUB_DISABLE_UUID
> +Normally, @command{grub-mkconfig} will generate menu entries that use
> +universally-unique identifiers (UUIDs) to identify various filesystems to
> +search for files. This is usually more reliable, but in some cases it may
> +not be appropriate. To disable this use of UUIDs, set this option to
> +@samp{true}.
> +
> @item GRUB_VIDEO_BACKEND
> If graphical video support is required, either because the @samp{gfxterm}
> graphical terminal is in use or because @samp{GRUB_GFXPAYLOAD_LINUX} is set,
> diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
> index 523d4e029bb..9ecbcfb5b43 100644
> --- a/util/grub-mkconfig.in
> +++ b/util/grub-mkconfig.in
> @@ -133,12 +133,12 @@ fi
>
> # Device containing our userland. Typically used for root= parameter.
> GRUB_DEVICE="`${grub_probe} --target=device /`"
> -GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2>
> /dev/null`" || true
> -GRUB_DEVICE_PARTUUID="`${grub_probe} --device ${GRUB_DEVICE}
> --target=partuuid 2> /dev/null`" || true
> +GRUB_DEVICE_UUID_GENERATED="`${grub_probe} --device ${GRUB_DEVICE}
> --target=fs_uuid 2> /dev/null`" || true
> +GRUB_DEVICE_PARTUUID_GENERATED="`${grub_probe} --device ${GRUB_DEVICE}
> --target=partuuid 2> /dev/null`" || true
>
> # Device containing our /boot partition. Usually the same as GRUB_DEVICE.
> GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
> -GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT}
> --target=fs_uuid 2> /dev/null`" || true
> +GRUB_DEVICE_BOOT_UUID_GENERATED="`${grub_probe} --device ${GRUB_DEVICE_BOOT}
> --target=fs_uuid 2> /dev/null`" || true
>
> # Filesystem for the device containing our userland. Used for stuff like
> # choosing Hurd filesystem module.
> @@ -158,6 +158,21 @@ if test -f ${sysconfdir}/default/grub ; then
> . ${sysconfdir}/default/grub
> fi
>
> +if [ "x$GRUB_DISABLE_UUID" != "xtrue" ]; then
> + if [ -z "$GRUB_DEVICE_UUID" ]; then
> + GRUB_DEVICE_UUID="$GRUB_DEVICE_UUID_GENERATED"
> + fi
> + if [ -z "$GRUB_DEVICE_BOOT_UUID" ]; then
> + GRUB_DEVICE_BOOT_UUID="$GRUB_DEVICE_BOOT_UUID_GENERATED"
> + fi
> + if [ -z "$GRUB_DEVICE_UUID" ]; then
> + GRUB_DEVICE_UUID="$GRUB_DEVICE_UUID_GENERATED"
> + fi
> + if [ -z "$GRUB_DEVICE_PART_UUID" ]; then
> + GRUB_DEVICE_PART_UUID="$GRUB_DEVICE_PART_UUID_GENERATED"
> + fi
> +fi
> +
> # XXX: should this be deprecated at some point?
> if [ "x${GRUB_TERMINAL}" != "x" ] ; then
> GRUB_TERMINAL_INPUT="${GRUB_TERMINAL}"
> @@ -227,6 +242,7 @@ export GRUB_DEFAULT \
> GRUB_DISABLE_LINUX_UUID \
> GRUB_DISABLE_LINUX_PARTUUID \
> GRUB_DISABLE_RECOVERY \
> + GRUB_DISABLE_UUID \
> GRUB_VIDEO_BACKEND \
> GRUB_GFXMODE \
> GRUB_BACKGROUND \
> diff --git a/util/grub-mkconfig_lib.in b/util/grub-mkconfig_lib.in
> index 0f801cab3e4..1001a12232b 100644
> --- a/util/grub-mkconfig_lib.in
> +++ b/util/grub-mkconfig_lib.in
> @@ -156,7 +156,7 @@ prepare_grub_to_access_device ()
> if [ "x$fs_hint" != x ]; then
> echo "set root='$fs_hint'"
> fi
> - if fs_uuid="`"${grub_probe}" --device $@ --target=fs_uuid 2> /dev/null`" ;
> then
> + 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=
> echo "if [ x\$feature_platform_search_hint = xy ]; then"
> echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
> @@ -173,7 +173,7 @@ grub_get_device_id ()
> IFS='
> '
> device="$1"
> - if fs_uuid="`"${grub_probe}" --device ${device} --target=fs_uuid 2>
> /dev/null`" ; then
> + if [ "x$GRUB_DISABLE_UUID" != "xtrue" ] && fs_uuid="`"${grub_probe}"
> --device ${device} --target=fs_uuid 2> /dev/null`" ; then
> echo "$fs_uuid";
> else
> echo $device |sed 's, ,_,g'
> --
> 2.21.0
>
- [PATCH] Add GRUB_DISABLE_UUID., Javier Martinez Canillas, 2019/09/17
- Re: [PATCH] Add GRUB_DISABLE_UUID.,
Daniel Kiper <=
- Re: [PATCH] Add GRUB_DISABLE_UUID., Javier Martinez Canillas, 2019/09/19
- Re: [PATCH] Add GRUB_DISABLE_UUID., Daniel Kiper, 2019/09/20
- Re: [PATCH] Add GRUB_DISABLE_UUID., Javier Martinez Canillas, 2019/09/20
- Re: [PATCH] Add GRUB_DISABLE_UUID., Didier Spaier, 2019/09/20
- Re: [PATCH] Add GRUB_DISABLE_UUID., Nicholas Vinson, 2019/09/20
- Re: [PATCH] Add GRUB_DISABLE_UUID., Javier Martinez Canillas, 2019/09/20