bda387
From 12a2bdf3fc5a7a4568ff56b244d3067b73f82681 Mon Sep 17 00:00:00 2001
34c36b
From: Peter Robinson <pbrobinson@gmail.com>
34c36b
Date: Tue, 7 Aug 2018 15:11:56 +0100
bda387
Subject: [PATCH 1/6] arch: arm: drop omap specifics for partitioning
34c36b
34c36b
We've long stopped supporting or using any specifics around OMAP
34c36b
ARM machines and all ARM platforms support the extlinux means of
34c36b
doing things one way or another.
34c36b
34c36b
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
34c36b
---
34c36b
 blivet/arch.py              | 4 ----
34c36b
 blivet/devices/partition.py | 3 ---
34c36b
 2 files changed, 7 deletions(-)
34c36b
34c36b
diff --git a/blivet/arch.py b/blivet/arch.py
34c36b
index 20fe4f57..f30b2d8b 100644
34c36b
--- a/blivet/arch.py
34c36b
+++ b/blivet/arch.py
34c36b
@@ -352,10 +352,6 @@ def is_ipseries():
34c36b
     return is_ppc() and get_ppc_machine() in ("iSeries", "pSeries")
34c36b
 
34c36b
 
34c36b
-def is_omap_arm():
34c36b
-    return is_arm() and get_arm_machine() == "omap"
34c36b
-
34c36b
-
34c36b
 def get_arch():
34c36b
     """
34c36b
     :return: The hardware architecture
34c36b
diff --git a/blivet/devices/partition.py b/blivet/devices/partition.py
34c36b
index 47ff547b..623e1c9d 100644
34c36b
--- a/blivet/devices/partition.py
34c36b
+++ b/blivet/devices/partition.py
bda387
@@ -421,9 +421,6 @@ def _get_weight(self):
34c36b
             # On ARM images '/' must be the last partition.
34c36b
             if self.format.mountpoint == "/":
34c36b
                 weight = -100
34c36b
-            elif (arch.is_omap_arm() and
34c36b
-                  self.format.mountpoint == "/boot/uboot" and self.format.type == "vfat"):
34c36b
-                weight = 5000
34c36b
         elif arch.is_ppc():
34c36b
             if arch.is_pmac() and self.format.type == "appleboot":
34c36b
                 weight = 5000
34c36b
bda387
From ec978c3c625c74c387a9c8074d2378c4ecbeac47 Mon Sep 17 00:00:00 2001
34c36b
From: Peter Robinson <pbrobinson@gmail.com>
34c36b
Date: Thu, 16 Aug 2018 14:32:19 +0100
bda387
Subject: [PATCH 2/6] arch: arm: drop get_arm_machine function
34c36b
34c36b
The get_arm_machine function was used when we had to have detection for which
34c36b
arm specific kernel to install. The last userr of this was the omap check for
34c36b
special partitioning which is no longer used due to extlinux support so we can
34c36b
now drop this function too.
34c36b
34c36b
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
34c36b
---
34c36b
 blivet/arch.py  | 22 ----------------------
34c36b
 blivet/flags.py |  2 --
34c36b
 2 files changed, 24 deletions(-)
34c36b
34c36b
diff --git a/blivet/arch.py b/blivet/arch.py
34c36b
index f30b2d8b..55ce8108 100644
34c36b
--- a/blivet/arch.py
34c36b
+++ b/blivet/arch.py
bda387
@@ -33,7 +33,6 @@
34c36b
 
34c36b
 import os
34c36b
 
34c36b
-from .flags import flags
34c36b
 from .storage_log import log_exception_info
34c36b
 
34c36b
 import logging
34c36b
@@ -182,27 +181,6 @@ def is_aarch64():
34c36b
     return os.uname()[4] == 'aarch64'
34c36b
 
34c36b
 
34c36b
-def get_arm_machine():
34c36b
-    """
34c36b
-    :return: The ARM processor variety type, or None if not ARM.
34c36b
-    :rtype: string
34c36b
-
34c36b
-    """
34c36b
-    if not is_arm():
34c36b
-        return None
34c36b
-
34c36b
-    if flags.arm_platform:
34c36b
-        return flags.arm_platform
34c36b
-
34c36b
-    arm_machine = os.uname()[2].rpartition('.')[2]
34c36b
-
34c36b
-    if arm_machine.startswith('arm'):
34c36b
-        # @TBD - Huh? Don't you want the arm machine name here?
34c36b
-        return None
34c36b
-    else:
34c36b
-        return arm_machine
34c36b
-
34c36b
-
34c36b
 def is_cell():
34c36b
     """
34c36b
     :return: True if the hardware is the Cell platform, False otherwise.
34c36b
diff --git a/blivet/flags.py b/blivet/flags.py
34c36b
index 18401218..4e26d82f 100644
34c36b
--- a/blivet/flags.py
34c36b
+++ b/blivet/flags.py
bda387
@@ -57,8 +57,6 @@ def __init__(self):
34c36b
         self.jfs = True
34c36b
         self.reiserfs = True
34c36b
 
34c36b
-        self.arm_platform = None
34c36b
-
34c36b
         self.gpt = False
34c36b
 
34c36b
         # for this flag to take effect,
34c36b
bda387
From e75049e9e9edac9da789cee2add2b4190159805d Mon Sep 17 00:00:00 2001
34c36b
From: Peter Robinson <pbrobinson@gmail.com>
34c36b
Date: Thu, 16 Aug 2018 14:35:30 +0100
bda387
Subject: [PATCH 3/6] Aarch64 platforms: Fix gpt defaults for 64 bit arm
34c36b
 platforms
34c36b
34c36b
The 46165f589d commit added support for msdos needed on some aarch64 devices
34c36b
but it messed up the gpt defaults, this was fixed in 4908746c3a but this now
34c36b
defaults back to msdos so we put in an aarch64 options to put gpt first again.
34c36b
34c36b
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
34c36b
---
34c36b
 blivet/formats/disklabel.py | 2 ++
34c36b
 1 file changed, 2 insertions(+)
34c36b
34c36b
diff --git a/blivet/formats/disklabel.py b/blivet/formats/disklabel.py
34c36b
index 44f9834c..e93a4c13 100644
34c36b
--- a/blivet/formats/disklabel.py
34c36b
+++ b/blivet/formats/disklabel.py
bda387
@@ -223,6 +223,8 @@ def get_platform_label_types(cls):
34c36b
         label_types = ["msdos", "gpt"]
34c36b
         if arch.is_pmac():
34c36b
             label_types = ["mac"]
34c36b
+        elif arch.is_aarch64():
34c36b
+            label_types = ["gpt", "msdos"]
34c36b
         elif arch.is_efi() and not arch.is_aarch64():
34c36b
             label_types = ["gpt"]
34c36b
         elif arch.is_s390():
34c36b
bda387
From dda51536e902def437872fcdb3005efaff231703 Mon Sep 17 00:00:00 2001
34c36b
From: Peter Robinson <pbrobinson@gmail.com>
34c36b
Date: Thu, 16 Aug 2018 14:38:16 +0100
bda387
Subject: [PATCH 4/6] arm: add support for EFI on ARMv7
34c36b
34c36b
We now can support EFI for ARMv7 so add/enabled the checks for ARM too.
34c36b
34c36b
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
34c36b
---
34c36b
 blivet/formats/disklabel.py | 2 ++
34c36b
 1 file changed, 2 insertions(+)
34c36b
34c36b
diff --git a/blivet/formats/disklabel.py b/blivet/formats/disklabel.py
34c36b
index e93a4c13..e13ab2f8 100644
34c36b
--- a/blivet/formats/disklabel.py
34c36b
+++ b/blivet/formats/disklabel.py
bda387
@@ -225,6 +225,8 @@ def get_platform_label_types(cls):
34c36b
             label_types = ["mac"]
34c36b
         elif arch.is_aarch64():
34c36b
             label_types = ["gpt", "msdos"]
34c36b
+        elif arch.is_efi() and arch.is_arm():
34c36b
+            label_types = ["msdos", "gpt"]
34c36b
         elif arch.is_efi() and not arch.is_aarch64():
34c36b
             label_types = ["gpt"]
34c36b
         elif arch.is_s390():
34c36b
bda387
From 1cdd509f2034f456402f39045425cbdfe62bde97 Mon Sep 17 00:00:00 2001
bda387
From: Peter Robinson <pbrobinson@gmail.com>
bda387
Date: Thu, 23 Aug 2018 14:23:38 +0100
bda387
Subject: [PATCH 5/6] Update disk label tests for ARM platforms
bda387
bda387
UEFI supports either gpt or msdos but different platforms have different
bda387
requirements. Update the disk label tests to test the following:
bda387
- aarch64: gpt default but msdos option also supported
bda387
- ARMv7 UEFI: msdos default but gpt option also supported
bda387
- ARMv7 extlinux: msdos default, also support gpt
bda387
bda387
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
bda387
---
bda387
 tests/formats_test/disklabel_test.py | 12 ++++++++++++
bda387
 1 file changed, 12 insertions(+)
bda387
bda387
diff --git a/tests/formats_test/disklabel_test.py b/tests/formats_test/disklabel_test.py
bda387
index 4b6608f5..3edbdb0b 100644
bda387
--- a/tests/formats_test/disklabel_test.py
bda387
+++ b/tests/formats_test/disklabel_test.py
bda387
@@ -71,6 +71,7 @@ def test_platform_label_types(self, arch):
bda387
         arch.is_s390.return_value = False
bda387
         arch.is_efi.return_value = False
bda387
         arch.is_aarch64.return_value = False
bda387
+        arch.is_arm.return_value = False
bda387
         arch.is_pmac.return_value = False
bda387
 
bda387
         self.assertEqual(disklabel_class.get_platform_label_types(), ["msdos", "gpt"])
bda387
@@ -81,8 +82,18 @@ def test_platform_label_types(self, arch):
bda387
 
bda387
         arch.is_efi.return_value = True
bda387
         self.assertEqual(disklabel_class.get_platform_label_types(), ["gpt"])
bda387
+        arch.is_aarch64.return_value = True
bda387
+        self.assertEqual(disklabel_class.get_platform_label_types(), ["gpt", "msdos"])
bda387
+        arch.is_aarch64.return_value = False
bda387
+        arch.is_arm.return_value = True
bda387
+        self.assertEqual(disklabel_class.get_platform_label_types(), ["msdos", "gpt"])
bda387
+        arch.is_arm.return_value = False
bda387
         arch.is_efi.return_value = False
bda387
 
bda387
+        arch.is_arm.return_value = True
bda387
+        self.assertEqual(disklabel_class.get_platform_label_types(), ["msdos", "gpt"])
bda387
+        arch.is_arm.return_value = False
bda387
+
bda387
         arch.is_s390.return_value = True
bda387
         self.assertEqual(disklabel_class.get_platform_label_types(), ["msdos", "dasd"])
bda387
         arch.is_s390.return_value = False
bda387
@@ -123,6 +134,7 @@ def test_best_label_type(self, arch):
bda387
         arch.is_s390.return_value = False
bda387
         arch.is_efi.return_value = False
bda387
         arch.is_aarch64.return_value = False
bda387
+        arch.is_arm.return_value = False
bda387
         arch.is_pmac.return_value = False
bda387
 
bda387
         with mock.patch.object(dl, '_label_type_size_check') as size_check:
bda387
bda387
From e0e6ac41cea805c3bf56852bfe2cd67d4bfe0b83 Mon Sep 17 00:00:00 2001
bda387
From: Peter Robinson <pbrobinson@gmail.com>
bda387
Date: Thu, 23 Aug 2018 15:54:51 +0100
bda387
Subject: [PATCH 6/6] Drop omap partition table tests on ARM platforms
bda387
bda387
We no longer need to test the /boot/uboot tests for omap platforms so
bda387
drop them as they're obsolete.
bda387
bda387
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
bda387
---
bda387
 tests/devices_test/partition_test.py | 14 ++------------
bda387
 1 file changed, 2 insertions(+), 12 deletions(-)
bda387
bda387
diff --git a/tests/devices_test/partition_test.py b/tests/devices_test/partition_test.py
bda387
index 394ffc27..08c0447d 100644
bda387
--- a/tests/devices_test/partition_test.py
bda387
+++ b/tests/devices_test/partition_test.py
bda387
@@ -26,11 +26,9 @@
bda387
             Weighted(fstype="efi", mountpoint="/boot/efi", true_funcs=['is_efi'], weight=5000),
bda387
             Weighted(fstype="prepboot", mountpoint=None, true_funcs=['is_ppc', 'is_ipseries'], weight=5000),
bda387
             Weighted(fstype="appleboot", mountpoint=None, true_funcs=['is_ppc', 'is_pmac'], weight=5000),
bda387
-            Weighted(fstype="vfat", mountpoint="/boot/uboot", true_funcs=['is_arm', 'is_omap_arm'], weight=5000),
bda387
-            Weighted(fstype=None, mountpoint="/", true_funcs=['is_arm'], weight=-100),
bda387
-            Weighted(fstype=None, mountpoint="/", true_funcs=['is_arm', 'is_omap_arm'], weight=-100)]
bda387
+            Weighted(fstype=None, mountpoint="/", true_funcs=['is_arm'], weight=-100)]
bda387
 
bda387
-arch_funcs = ['is_arm', 'is_efi', 'is_ipseries', 'is_omap_arm', 'is_pmac', 'is_ppc', 'is_x86']
bda387
+arch_funcs = ['is_arm', 'is_efi', 'is_ipseries', 'is_pmac', 'is_ppc', 'is_x86']
bda387
 
bda387
 
bda387
 class PartitionDeviceTestCase(unittest.TestCase):
bda387
@@ -309,14 +307,6 @@ def test_weight_1(self, *patches):
bda387
             fmt.mountpoint = "/"
bda387
             self.assertEqual(dev.weight, -100)
bda387
 
bda387
-            arch.is_omap_arm.return_value = False
bda387
-            fmt.mountpoint = "/boot/uboot"
bda387
-            fmt.type = "vfat"
bda387
-            self.assertEqual(dev.weight, 0)
bda387
-
bda387
-            arch.is_omap_arm.return_value = True
bda387
-            self.assertEqual(dev.weight, 5000)
bda387
-
bda387
             #
bda387
             # ppc
bda387
             #