dace65e
From 2050395b053e4813da20f1c3bc39d74a8e45803f Mon Sep 17 00:00:00 2001
dace65e
From: Peter Robinson <pbrobinson@gmail.com>
dace65e
Date: Thu, 7 Mar 2019 20:57:59 +0000
dace65e
Subject: [PATCH] Support legacy MBR (msdos) as part of UEFI to enable hybrid
dace65e
 builds
dace65e
dace65e
The UEFI spec supports legacy MBR (msdos) in section 5.2 of the UEFI 2.7 spec [1].
dace65e
There's a number of use cases where we might boot on a UEFI device but want to
dace65e
support, but not by default, the creation of images using legacy MBR partitions.
dace65e
One of these use cases is cloud images where we can produce a single image
dace65e
tha will run on UEFI supported, including secure-boot, clouds but also
dace65e
support AWS which only supports MBR partitioning schemes [2] and in the current
dace65e
config anaconda fails the install where this is a perfectly valid and widely
dace65e
supported deployment mechanism.
dace65e
dace65e
So enable the ability to use legacy msdos partitioning schemes, but don't use
dace65e
it for default installs, so people may consume this mechanism using kickstarts
dace65e
rather than having the install fail for a valid use case.
dace65e
dace65e
[1] https://uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf
dace65e
[2] https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html
dace65e
dace65e
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
dace65e
---
dace65e
 blivet/formats/disklabel.py | 2 +-
dace65e
 1 file changed, 1 insertion(+), 1 deletion(-)
dace65e
dace65e
diff --git a/blivet/formats/disklabel.py b/blivet/formats/disklabel.py
dace65e
index 75867d6a..8186d1a1 100644
dace65e
--- a/blivet/formats/disklabel.py
dace65e
+++ b/blivet/formats/disklabel.py
dace65e
@@ -228,7 +228,7 @@ def get_platform_label_types(cls):
dace65e
         elif arch.is_efi() and arch.is_arm():
dace65e
             label_types = ["msdos", "gpt"]
dace65e
         elif arch.is_efi() and not arch.is_aarch64():
dace65e
-            label_types = ["gpt"]
dace65e
+            label_types = ["gpt", "msdos"]
dace65e
         elif arch.is_s390():
dace65e
             label_types = ["msdos", "dasd"]
dace65e