From: "Brian C. Lane" <bcl@xxxxxxxxxx> It appears that Lenovo systems aren't the only ones that have problems booting from GPT labeled disks. This patch does the following: * default to msdos labeled disks * remove the GPT blacklist * remove nogpt cmdline argument * add gpt cmdline argument to force use of GPT disklabel --- pyanaconda/flags.py | 6 +++--- pyanaconda/platform.py | 20 ++++---------------- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/pyanaconda/flags.py b/pyanaconda/flags.py index 5728ef2..f7dd431 100644 --- a/pyanaconda/flags.py +++ b/pyanaconda/flags.py @@ -67,7 +67,7 @@ class Flags(object): # do things like bogl on them. this preserves what that # device is self.virtpconsole = None - self.nogpt = False + self.gpt = False # parse the boot commandline self.cmdline = BootArgs() # Lock it down: no more creating new flags! @@ -85,8 +85,8 @@ class Flags(object): if not selinux.is_selinux_enabled(): self.selinux = 0 - if "nogpt" in self.cmdline: - self.nogpt = True + if "gpt" in self.cmdline: + self.gpt = True cmdline_files = ['/proc/cmdline', '/run/initramfs/etc/cmdline', '/run/initramfs/etc/cmdline.d/*.conf', '/etc/cmdline'] diff --git a/pyanaconda/platform.py b/pyanaconda/platform.py index 869e567..5fbb676 100644 --- a/pyanaconda/platform.py +++ b/pyanaconda/platform.py @@ -70,9 +70,10 @@ class Platform(object): all the methods in this class.""" self.anaconda = anaconda - if flags.nogpt and "gpt" in self._disklabel_types and \ - len(self._disklabel_types) > 1: + if flags.gpt and "gpt" in self._disklabel_types: + # move GPT to the top of the list self._disklabel_types.remove("gpt") + self._disklabel_types.insert(0, "gpt") @property def diskLabelTypes(self): @@ -159,13 +160,12 @@ class X86(Platform): "mdarray": Platform._boot_raid_description} - _disklabel_types = ["gpt", "msdos"] + _disklabel_types = ["msdos", "gpt"] # XXX hpfs, if reported by blkid/udev, will end up with a type of None _non_linux_format_types = ["vfat", "ntfs", "hpfs"] def __init__(self, anaconda): super(X86, self).__init__(anaconda) - self.blackListGPT() def setDefaultPartitioning(self): """Return the default platform-specific partitioning information.""" @@ -184,18 +184,6 @@ class X86(Platform): else: return 0 - def blackListGPT(self): - """ Remove GPT disk label as an option on systems where their BIOS - doesn't boot from GPT labeled disks. - - Currently this includes: Lenovo - """ - if not os.path.isfile(DMI_CHASSIS_VENDOR): - return - buf = open(DMI_CHASSIS_VENDOR).read() - if "LENOVO" in buf.splitlines() and "gpt" in self._disklabel_types: - self._disklabel_types.remove("gpt") - class EFI(Platform): _bootloaderClass = bootloader.EFIGRUB -- 1.7.7.6 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list