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

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



On Fri, 2012-02-03 at 14:32 -0800, Brian C. Lane wrote:
> From: "Brian C. Lane" <bcl redhat com>
> 
> 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.

Ack to the patch. Hopefully we'll get to see/hear some testing results
from lenovo users before F17 beta has shipped.

Dave

> ---
>  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



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