---
Changes in v3:
- Make the patch more consistent with the logic in commit 51be3372ec8
("templates: Update grub script template files").
- Add Reviewed-by tag from Daniel Kiper.
Changes in v2:
- Explain better in the commit message why the GRUB_DISABLE_UUID variable
is needed and the difference with the existing GRUB_DISABLE_LINUX_UUID/
GRUB_DISABLE_LINUX_PARTUUID variables.
- Remove logic that disabled setting the root cmdline param to either the
filesystem UUID or partition UUID and instead use the existing variables
to disable this.
docs/grub.texi | 9 +++++++++
util/grub-mkconfig.in | 10 ++++++++++
util/grub-mkconfig_lib.in | 4 ++--
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/docs/grub.texi b/docs/grub.texi
index d788efe440f..c25ab7a5fe7 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -1441,6 +1441,15 @@ 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}. Setting this option to @samp{true}, will also set the options
+@samp{GRUB_DISABLE_LINUX_UUID} and @samp{GRUB_DISABLE_LINUX_PARTUUID} to
+@samp{true}, unless they have been explicilty set to @samp{false}.
+
@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 a6ce375ed18..fb7fd4902f4 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -158,6 +158,15 @@ if test -f ${sysconfdir}/default/grub ; then
. ${sysconfdir}/default/grub
fi
+if [ "x${GRUB_DISABLE_UUID}" = "xtrue" ]; then
+ if [ -z "${GRUB_DISABLE_LINUX_UUID}" ]; then
+ GRUB_DISABLE_LINUX_UUID="true"
+ fi
+ if [ -z "${GRUB_DISABLE_LINUX_PARTUUID}" ]; then
+ GRUB_DISABLE_LINUX_PARTUUID="true"
+ fi
+fi
+
# XXX: should this be deprecated at some point?
if [ "x${GRUB_TERMINAL}" != "x" ] ; then
GRUB_TERMINAL_INPUT="${GRUB_TERMINAL}"
@@ -227,6 +236,7 @@ export GRUB_DEFAULT \
GRUB_DISABLE_LINUX_UUID \
GRUB_DISABLE_LINUX_PARTUUID \
GRUB_DISABLE_RECOVERY \
+ GRUB_DISABLE_UUID \