Blob Blame History Raw
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 3333a620c28..197a6105c60 100644
--- a/util/grub-switch-to-blscfg.in
+++ b/util/grub-switch-to-blscfg.in
@@ -271,7 +271,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.