[PATCH] Set the boot flag on the GPT PMBR (#754850)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Brian C. Lane" <bcl@xxxxxxxxxx>

Some BIOS systems (LENOVO) have problems booting from GPT without the
boot flag of the protective MBR set. This makes sure that it is alway on
when using GPT labeled disks.
---
 pyanaconda/platform.py                  |    8 --------
 pyanaconda/storage/formats/disklabel.py |    7 +++++++
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/pyanaconda/platform.py b/pyanaconda/platform.py
index a2ce1d8..9840f03 100644
--- a/pyanaconda/platform.py
+++ b/pyanaconda/platform.py
@@ -163,7 +163,6 @@ class X86(Platform):
 
     def __init__(self, anaconda):
         super(X86, self).__init__(anaconda)
-        self.blackListGPT()
 
     def setDefaultPartitioning(self):
         """Return the default platform-specific partitioning information."""
@@ -182,13 +181,6 @@ class X86(Platform):
         else:
             return 0
 
-    def blackListGPT(self):
-        buf = iutil.execWithCapture("dmidecode",
-                                    ["-s", "chassis-manufacturer"],
-                                    stderr="/dev/tty5")
-        if "LENOVO" in buf.splitlines() and "gpt" in self._disklabel_types:
-            self._disklabel_types.remove("gpt")
-
 class EFI(Platform):
     _bootloaderClass = bootloader.EFIGRUB
 
diff --git a/pyanaconda/storage/formats/disklabel.py b/pyanaconda/storage/formats/disklabel.py
index 734f13e..c439c5f 100644
--- a/pyanaconda/storage/formats/disklabel.py
+++ b/pyanaconda/storage/formats/disklabel.py
@@ -158,6 +158,13 @@ class DiskLabel(DeviceFormat):
             if self._partedDisk.isFlagAvailable(parted.DISK_CYLINDER_ALIGNMENT):
                 self._partedDisk.unsetFlag(parted.DISK_CYLINDER_ALIGNMENT)
 
+            # Set the boot flag on the GPT PMBR, this helps some BIOS systems boot
+            if self._partedDisk.isFlagAvailable(parted.DISK_GPT_PMBR_BOOT):
+                self._partedDisk.setFlag(parted.DISK_GPT_PMBR_BOOT)
+                log.debug("Set pmbr_boot on %s" % (self._partedDisk,))
+            else:
+                log.debug("Did not set pmbr_boot on %s" % (self._partedDisk,))
+
         return self._partedDisk
 
     @property
-- 
1.7.6.5

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux