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