From 4e70559de44c9a9b9b9ce3d34ea93fc14229328d Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Thu, 30 Aug 2018 16:33:07 +0200 Subject: [PATCH] arm: add support for EFI on ARMv7 (probinson) Aarch64 platforms: Fix gpt defaults for 64 bit arm platforms (probinson) arch: arm: drop get_arm_machine function (probinson) arch: arm: drop omap specifics for partitioning (probinson) --- 0002-arm7-cleanups.patch | 181 +++++++++++++++++++++++++++++++++++++++ python-blivet.spec | 9 +- 2 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 0002-arm7-cleanups.patch diff --git a/0002-arm7-cleanups.patch b/0002-arm7-cleanups.patch new file mode 100644 index 0000000..7a05106 --- /dev/null +++ b/0002-arm7-cleanups.patch @@ -0,0 +1,181 @@ +From ec8e27664a6a551647ace23bfd5d16036db95bd6 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Tue, 7 Aug 2018 15:11:56 +0100 +Subject: [PATCH 1/4] 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 @@ class PartitionDevice(StorageDevice): + # 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 +-- +2.18.0 + + +From be145b613ceea45edf4e2d522d28113300d706fa Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 16 Aug 2018 14:32:19 +0100 +Subject: [PATCH 2/4] 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 @@ from __future__ import absolute_import + + 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 @@ class Flags(object): + self.jfs = True + self.reiserfs = True + +- self.arm_platform = None +- + self.gpt = False + + # for this flag to take effect, +-- +2.18.0 + + +From 34595cfef911f9512558b02216eaf58d0fdd6786 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 16 Aug 2018 14:35:30 +0100 +Subject: [PATCH 3/4] 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 @@ class DiskLabel(DeviceFormat): + 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(): +-- +2.18.0 + + +From 461623d49963618a30bd960d48c6d34f1d076917 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 16 Aug 2018 14:38:16 +0100 +Subject: [PATCH 4/4] 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 @@ class DiskLabel(DeviceFormat): + 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(): +-- +2.18.0 + diff --git a/python-blivet.spec b/python-blivet.spec index 7c11fe8..1ea9a2b 100644 --- a/python-blivet.spec +++ b/python-blivet.spec @@ -23,7 +23,7 @@ Version: 3.1.0 #%%global prerelease .b2 # prerelease, if defined, should be something like .a1, .b1, .b2.dev1, or .c2 -Release: 1%{?prerelease}%{?dist} +Release: 2%{?prerelease}%{?dist} Epoch: 1 License: LGPLv2+ Group: System Environment/Libraries @@ -31,6 +31,7 @@ Group: System Environment/Libraries %global realversion %{version}%{?prerelease} Source0: http://github.com/storaged-project/blivet/archive/%{realname}-%{realversion}.tar.gz Patch0: 0001-force-lvm-plugin.patch +Patch1: 0002-arm7-cleanups.patch # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). @@ -191,6 +192,12 @@ configuration. %endif %changelog +* Thu Aug 30 2018 Vojtech Trefny - 3.1.0-2 +- arm: add support for EFI on ARMv7 (probinson) +- Aarch64 platforms: Fix gpt defaults for 64 bit arm platforms (probinson) +- arch: arm: drop get_arm_machine function (probinson) +- arch: arm: drop omap specifics for partitioning (probinson) + * Mon Aug 13 2018 Vojtech Trefny - 3.1.0-1 - Allow configuring default LUKS2 PBKDF arguments using luks_data (vtrefny) - Fix the populate_kickstart method in LUKS (vtrefny)