On Thu, 2014-07-10 at 15:19 -0700, Brian C. Lane wrote:
It can be useful for advanced users to have the config file written even if bootloader installation failed. This puts the configuration write into a finally block so that it will be written even when there is an error.
pyanaconda/bootloader.py | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py index eb8bede..509796e 100644 --- a/pyanaconda/bootloader.py +++ b/pyanaconda/bootloader.py @@ -1604,15 +1604,17 @@ class GRUB2(GRUB): self.update() return
self.write_device_map()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
sync()
self.install()
sync()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
self.write_config()
sync()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
try:
self.write_device_map()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
sync()
self.install()
sync()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
finally:
self.write_config()
sync()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
def check(self): """ When installing to the mbr of a disk grub2 needs enough space
@@ -1752,10 +1754,12 @@ class EFIGRUB(GRUB2): self.update() return
sync()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
self.install()
self.write_config()
try:
sync()
self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot())
self.install()
finally:
self.write_config()
def check(self): return True
Nice, ACK.