grub2/0222-Only-mark-GRUB-as-BLS-...

36 lines
1.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <javierm@redhat.com>
Date: Thu, 18 Jun 2020 11:19:00 +0200
Subject: [PATCH] Only mark GRUB as BLS supported in OSTree systems with a boot
partition
The script grub2-switch-to-blscfg updates the grub2 EFI binary in OSTree
systems and marks that has BLS support, to indicate that's not necessary
to add menuentry commands since the BLS snippets can be used to populate
the GRUB boot menu.
But OSTree doesn't support installations that don't have a boot partition,
the BLS snippets assume that there will be one so this has to be checked
and only mark the bootloader as supporting BLS in OSTree installations
that have /boot as a mountpoint.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
util/grub-switch-to-blscfg.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/util/grub-switch-to-blscfg.in b/util/grub-switch-to-blscfg.in
index cb229126128..a851424beb2 100644
--- a/util/grub-switch-to-blscfg.in
+++ b/util/grub-switch-to-blscfg.in
@@ -261,7 +261,8 @@ copy_bls() {
# but only do this if the blsdir is not set, to make sure that the BLS
# parsing module will search for the BLS snippets in the default path.
if test -f /run/ostree-booted && test -d /sys/firmware/efi/efivars && \
- ! ${grub_editenv} - list | grep -q blsdir; then
+ ! ${grub_editenv} - list | grep -q blsdir && \
+ mountpoint -q /boot; then
grub_binary="$(find /usr/lib/ostree-boot/efi/EFI/${EFIDIR}/ -name grub*.efi)"
install -m 700 ${grub_binary} ${grubdir} || exit 1
# Create a hidden file to indicate that grub2 now has BLS support.