anaconda/0004-Determine-GRUB-directory-relative-path-to-use-in-con.patch
DistroBaker 73cad95e60 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/anaconda.git#3c5ba04f65917f04b1954bf4b020c7249c6abdd0
2021-03-02 04:42:56 +00:00

43 lines
1.8 KiB
Diff

From 79fa095319696a9e91ab35cc694cdf9919a3428f Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <javierm@redhat.com>
Date: Mon, 22 Feb 2021 19:25:01 +0100
Subject: [PATCH] Determine GRUB directory relative path to use in config file
Currently Anaconda is only checking whether /boot/ is a mount point or not
to use the proper relative path to the GRUB directory. But there are more
cases than this, for example /boot/grub2 could be a symlink or a subvolume
in a btrfs filesystem.
Use the grub2-mkrelpath tool to figure out the actual relative path that
has to be used in the GRUB config file.
Resolves: rhbz#1928588
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
pyanaconda/modules/storage/bootloader/efi.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/pyanaconda/modules/storage/bootloader/efi.py b/pyanaconda/modules/storage/bootloader/efi.py
index 8c08b8c68d..425cb31954 100644
--- a/pyanaconda/modules/storage/bootloader/efi.py
+++ b/pyanaconda/modules/storage/bootloader/efi.py
@@ -173,10 +173,11 @@ class EFIGRUB(EFIBase, GRUB2):
with open(config_path, "w") as fd:
grub_dir = self.config_dir
fs_uuid = self.stage2_device.format.uuid
- mountpoint = self.stage2_device.format.mountpoint
- if mountpoint != "/" and grub_dir.startswith(mountpoint):
- grub_dir = grub_dir[len(mountpoint):]
+ grub_dir = util.execWithCapture("grub2-mkrelpath", [grub_dir],
+ root=conf.target.system_root)
+ if not grub_dir:
+ raise BootLoaderError("Could not get GRUB directory path")
fd.write("search --no-floppy --fs-uuid --set=dev %s\n" % fs_uuid)
fd.write("set prefix=($dev)%s\n" % grub_dir)
--
2.26.2