On Sun, Sep 10, 2023 at 09:30:24 +0000, darkpenguin wrote: > Specifying the boot device by its label rather than its UUID can be > pretty useful in various situations (e.g. multiple test VMs). > > This might have to be adapted a little to meet the coding standards I'm > not familiar with. Please feel free to improve it in any way you want. > > This patch works for me on an older version of grub2 (=2.06-13 in Debian > Bookworm), but it's rather trivial, and only touches two parts that are > otherwise untouched for ages. > > - Specify "GRUB_DISABLE_LINUX_UUID=LABEL" in /etc/default/grub > - It will attempt to use a label instead of UUID > - If a device with the necessary label is not found in > /dev/disk/by-label/ , it falls back to using UUID > - If you just assigned new labels, run 'partprobe' to populate > /dev/disk/by-label/ properly > > The decision to reuse GRUB_DISABLE_LINUX_UUID was because: > 1) This is more of an addition on top of UUID rather than "disabling" > it, it still uses UUID internally, and it falls back to UUID > 2) I could not come up with a better way to do it
I'm not a fan of overloading a "disable" var to mean "try something else
first". Something like GRUB_DISABLE_LINUX_LABEL with the appropriate
logic would make more sense IMO.
> 3) I could not figure out how to source other variables from
> /etc/defaults/grub and why not all of them are there. :)
>
This looks to be in util/grub-mkconfig.in (lines 160-162 in git master
at the time of writing):
if test -f ${sysconfdir}/default/grub ; then
. ${sysconfdir}/default/grub
fi
The vars then get exported further down (lines 213-258) before running
the various config snippets:
# These are optional, user-defined variables.
export GRUB_DEFAULT \
GRUB_HIDDEN_TIMEOUT \
GRUB_HIDDEN_TIMEOUT_QUIET \
GRUB_TIMEOUT \
GRUB_TIMEOUT_STYLE \
GRUB_DEFAULT_BUTTON \
# ... snip ...
Hope that helps.
- Oskari
signature.asc
Description: PGP signature
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
