diff --git a/0001-aarch64-for-linux-tty-if-acpi.patch b/0001-aarch64-for-linux-tty-if-acpi.patch new file mode 100644 index 0000000..1ae2b8f --- /dev/null +++ b/0001-aarch64-for-linux-tty-if-acpi.patch @@ -0,0 +1,37 @@ +From cf399db8cc44c54c620852f5a4f81357614f0cb2 Mon Sep 17 00:00:00 2001 +From: Jeremy Linton +Date: Fri, 11 Sep 2020 11:30:41 -0500 +Subject: [PATCH 1/2] aarch64: for linux tty if acpi + +If we are going to use ACPI with linux+edk2 we +need to force the console because aarch64 defaults +to serial (ttyAMA0) if a spcr is present. + +Signed-off-by: Jeremy Linton +--- + oz/Guest.py | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/oz/Guest.py b/oz/Guest.py +index 92bdc71..a648e9a 100644 +--- a/oz/Guest.py ++++ b/oz/Guest.py +@@ -467,8 +467,14 @@ class Guest(object): + oz.ozutil.lxml_subelement(domain, "vcpu", str(self.install_cpus)) + # features + features = oz.ozutil.lxml_subelement(domain, "features") +- if self.tdl.arch in ["aarch64", "x86_64"]: ++ if self.tdl.arch in ["x86_64"]: ++ oz.ozutil.lxml_subelement(features, "acpi") ++ if self.tdl.arch in ["aarch64"]: + oz.ozutil.lxml_subelement(features, "acpi") ++ # current edk2+linux on aarch64 puts a SPCR in place when serial is active ++ # this then becomes the default tty unlike on x86 where it will continue to ++ # use the uefi framebuffer/graphics console. Force linux to use both. ++ cmdline = str(cmdline) + " console=ttyAMA0 console=tty0" + if self.tdl.arch in ["x86_64"]: + oz.ozutil.lxml_subelement(features, "apic") + oz.ozutil.lxml_subelement(features, "pae") +-- +2.26.2 + diff --git a/0002-aarch64-Less-strict-CPU-checking-for-armv7-guests-on.patch b/0002-aarch64-Less-strict-CPU-checking-for-armv7-guests-on.patch new file mode 100644 index 0000000..ffb4da6 --- /dev/null +++ b/0002-aarch64-Less-strict-CPU-checking-for-armv7-guests-on.patch @@ -0,0 +1,31 @@ +From 59233221e1b23bd270bd9cc78f21635bb6ea7d9e Mon Sep 17 00:00:00 2001 +From: Jeremy Linton +Date: Fri, 11 Sep 2020 11:32:26 -0500 +Subject: [PATCH 2/2] aarch64: Less strict CPU checking for armv7 guests on + aarch64 + +Current versions of qemu/libvirt on f33 don't appear to allow armv7 +guests to start with strict cpu checking on armv8/aarch64 host +OSs. Lossen up the host-passthrough checking. + +Signed-off-by: Jeremy Linton +--- + oz/Guest.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/oz/Guest.py b/oz/Guest.py +index a648e9a..701d2c4 100644 +--- a/oz/Guest.py ++++ b/oz/Guest.py +@@ -483,7 +483,7 @@ class Guest(object): + # CPU + if self.tdl.arch in ["aarch64", "armv7l"] and self.libvirt_type == "kvm": + # Possibly related to RHBZ 1171501 - need host passthrough for aarch64 and arm with kvm +- cpu = oz.ozutil.lxml_subelement(domain, "cpu", None, {'mode': 'custom', 'match': 'exact'}) ++ cpu = oz.ozutil.lxml_subelement(domain, "cpu", None, {'mode': 'host-passthrough', 'check': 'none'}) + oz.ozutil.lxml_subelement(cpu, "model", "host", {'fallback': 'allow'}) + # os + osNode = oz.ozutil.lxml_subelement(domain, "os") +-- +2.26.2 + diff --git a/oz.spec b/oz.spec index a7a2f4d..54071da 100644 --- a/oz.spec +++ b/oz.spec @@ -1,6 +1,6 @@ Name: oz Version: 0.17.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Library and utilities for automated guest OS installs License: LGPLv2 URL: http://github.com/clalancette/oz @@ -23,6 +23,8 @@ Patch13: 13-add-f30-support.patch # https://github.com/clalancette/oz/pull/282 # fix compatibility with new qemu/libvirt on s390x Patch14: oz-0.17.0-s390-input.patch +Patch15: 0001-aarch64-for-linux-tty-if-acpi.patch +Patch16: 0002-aarch64-Less-strict-CPU-checking-for-armv7-guests-on.patch BuildArch: noarch @@ -68,18 +70,10 @@ installations, with minimal input from the user. %autosetup -p1 %build -%if 0%{?fedora} > 30 %py3_build -%else -%py2_build -%endif %install -%if 0%{?fedora} > 30 %py3_install -%else -%py2_install -%endif mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/oz/ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/oz/isocontent/ @@ -118,15 +112,13 @@ fi %{_bindir}/oz-customize %{_bindir}/oz-cleanup-cache %{_mandir}/man1/* -%if 0%{?fedora} > 30 %{python3_sitelib}/oz %{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info -%else -%{python2_sitelib}/oz -%{python2_sitelib}/%{name}-%{version}-py%{python2_version}.egg-info -%endif %changelog +* Sat Oct 03 2020 Peter Robinson - 0.17.0-10 +- Fix screenshots on armv7/aarch64, ARMv7 fixes, drop old release conditionals + * Tue Jul 28 2020 Fedora Release Engineering - 0.17.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild