zengxyz / rpms / anaconda

Forked from rpms/anaconda 4 months ago
Clone
Blob Blame History Raw
From 1e3e73a6a939286c7ee3f7ea78dc5431501981eb Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Sun, 19 Oct 2014 21:01:22 -0400
Subject: [PATCH 5/5] bootloader: Bridge efi_dir configuration earlier for
 rpmostreepayload

rpmostreepayload wants a stub bootloader configuration to be written,
then it updates it.  There is a bit of magic in the middle of
bootloader.py to bridge the install class' efi_dir to the bootloader
configuration - we just need to set this up before calling
writeBootLoaderFinal().

Otherwise the config ends up in BOOT, which doesn't work.
---
 pyanaconda/bootloader.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
index 29004b1..24ae3f9 100644
--- a/pyanaconda/bootloader.py
+++ b/pyanaconda/bootloader.py
@@ -2387,6 +2387,10 @@ def writeBootLoader(storage, payload, instClass, ksdata):
         stage2_device = storage.bootloader.stage2_device
         log.info("bootloader stage2 target device is %s" % stage2_device.name)
 
+    # Bridge storage EFI configuration to bootloader
+    if hasattr(storage.bootloader, 'efi_dir'):
+        storage.bootloader.efi_dir = instClass.efi_dir
+
     if isinstance(payload, RPMOSTreePayload):
         if storage.bootloader.skip_bootloader:
             log.info("skipping bootloader install per user request")
@@ -2413,8 +2417,6 @@ def writeBootLoader(storage, payload, instClass, ksdata):
                                          short=base_short_label)
     storage.bootloader.add_image(default_image)
     storage.bootloader.default = default_image
-    if hasattr(storage.bootloader, 'efi_dir'):
-        storage.bootloader.efi_dir = instClass.efi_dir
 
     # write out /etc/sysconfig/kernel
     writeSysconfigKernel(storage, version)
-- 
1.8.3.1