Skip to content

Commit

Permalink
grub2: Don't add menu entries if GRUB supports parsing BLS snippets
Browse files Browse the repository at this point in the history
This is another attempt to avoid having duplicated menu entries caused by
GRUB having support to parse BLS snippets and the 15_ostree script adding
menu entries as well.

The previous attempt was in commit 985a141 ("grub2: Exit gracefully if
the configuration has BLS enabled") but that lead to users not having menu
entries at all, due having an old GRUB version that was not able to parse
the BLS snippets.

This happened because the GRUB bootloader is never updated in the ESP as
a part of the OSTree upgrade transaction.

The logic is similar to the previous commit, the 15_ostree script exits if
able to determine that the bootloader can parse the BLS snippets directly.

But this time it will not only check that a BLS configuration was enabled,
but also that a /boot/grub2/.grub2-blscfg-supported file exists. This file
has to be created by a component outside of OSTree that also takes care of
updating GRUB to a version that has proper BLS support.
  • Loading branch information
martinezjavier committed Mar 26, 2020
1 parent 7a95929 commit 7c5af04
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/boot/grub2/grub2-15_ostree
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ if ! test -d /ostree/repo; then
exit 0
fi

# Gracefully exit if the grub2 configuration has BLS enabled,
# and the installed version has support for the blscfg module.
# Since there is no need to create menu entries for that case.
. /etc/default/grub
if test -f /boot/grub2/.grub2-blscfg-supported && \
test ${GRUB_ENABLE_BLSCFG} = "true"; then
exit 0
fi

# Make sure we're in the right environment
if ! test -n "${GRUB_DEVICE}"; then
echo "This script must be run as a child of grub2-mkconfig" 1>&2
Expand Down

0 comments on commit 7c5af04

Please sign in to comment.