Adding Nicholas... On Tue, Oct 22, 2019 at 10:44:28AM +0200, Javier Martinez Canillas wrote: > From: Peter Jones <pjo...@redhat.com> > > The grub-mkconfig and 10_linux scripts by default attempt to use a UUID to > set the root kernel command line parameter and the $root GRUB environment > variable. > > The former can be disabled by setting the GRUB_DISABLE_LINUX_UUID variable > to "true", but there is currently no way to disable the latter. > > The generated grub config uses the search command with the --fs-uuid option > to find the device that has to be set as $root, i.e: > > search --no-floppy --fs-uuid --set=root ... > > This is usually more reliable but in some cases it may not be appropriate, > so this patch introduces a new GRUB_DISABLE_UUID variable that can be used > to disable searching for the $root device by filesystem UUID. > > When disabled, the $root device will be set to the value specified in the > device.map as found by the grub-probe --target=compatibility_hint option. > > When setting GRUB_DISABLE_UUID=true, the GRUB_DISABLE_LINUX_UUID and > GRUB_DISABLE_LINUX_PARTUUID variables will also be set to "true" unless > these have been explicitly set to "false". > > That way, the GRUB_DISABLE_UUID variable can be used to force using the > device names for both GRUB and Linux. > > Signed-off-by: Peter Jones <pjo...@redhat.com> > Signed-off-by: Javier Martinez Canillas <javi...@redhat.com> > Reviewed-by: Daniel Kiper <daniel.ki...@oracle.com>
Nicholas, are you OK with that patch right now? If yes and you could add your RB that would be perfect. > --- > > 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 \ I will move this before GRUB_DISABLE_LINUX_UUID before committing. I hope this is not a problem for you. Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel