Re: [PATCH v5] templates: introduce GRUB_TOP_LEVEL_* vars
Oskari Pirhonen <[email protected]> Mon, 24 Oct 2022 22:21:25 -0500
| Newsgroups | gmane.comp.emulators.xen.devel,gmane.comp.boot-loaders.grub.devel,gmane.linux.debian.ports.bsd |
|---|---|
| Message-ID | <Y1dWNXeWlLUdxbFm@dj3ntoo> |
On Mon, Oct 24, 2022 at 03:46:42 -0700, Denton Liu wrote: > A user may wish to use an image that is not sorted as the "latest" > version as the top-level entry. For example, in Arch Linux, if a user > has the LTS and regular kernels installed, `/boot/vmlinuz-linux-lts` > gets sorted as the "latest" compared to `/boot/vmlinuz-linux`, meaning > the LTS kernel becomes the top-level entry. However, a user may wish to > use the regular kernel as the top-level default with the LTS only > existing as a backup. > > This need can be seen in Arch Linux's AUR with two user-submitted > packages[0][1] providing an update hook which patches > /etc/grub.d/10_linux to move the desired kernel to the top-level. This > patch serves to solve this in a more generic way. > > Introduce the GRUB_TOP_LEVEL, GRUB_TOP_LEVEL_XEN and > GRUB_TOP_LEVEL_OS_PROBER variables to allow users to specify the > top-level entry. > > Create grub_move_to_front() as a helper function which moves entries to > the front of a list. This function does the heavy lifting of moving > the menu entry to the front in each script. > > In 10_netbsd, since there isn't an explicit list variable, extract the > items that are being iterated through into a list so that we can > optionally apply grub_move_to_front() to the list before the loop. > > [0]: https://aur.archlinux.org/packages/grub-linux-default-hook > [1]: https://aur.archlinux.org/packages/grub-linux-rt-default-hook > > Signed-off-by: Denton Liu <[email protected]> Reviewed-by: Oskari Pirhonen <[email protected]> I've tested it on Linux, but the other platforms and os-prober are still untested. - Oskari
signature.asc
(application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQfOU+JeXjo4uxN6vCp8he9GGIfEQUCY1dWLwAKCRCp8he9GGIf EQlWAP9KzyNwrmNeoh+pUYxfKaD0KqahfOci3jRBPT5HTjkWsgD6Ags50AtOFgwZ xGBmMRE5PQwxdn1oBD84vPzhTLcF9wM= =b5NF -----END PGP SIGNATURE-----