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 Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel