273 lines
9.9 KiB
Diff
273 lines
9.9 KiB
Diff
|
From 12a2bdf3fc5a7a4568ff56b244d3067b73f82681 Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Robinson <pbrobinson@gmail.com>
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
---
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
---
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
---
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
---
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
---
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
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 <pbrobinson@gmail.com>
|
||
|
---
|
||
|
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
|
||
|
#
|