diff --git a/0001-i386-Add-noapic-flag-to-work-around-a-qemu-or-kernel.patch b/0001-i386-Add-noapic-flag-to-work-around-a-qemu-or-kernel.patch new file mode 100644 index 0000000..bf4a0bd --- /dev/null +++ b/0001-i386-Add-noapic-flag-to-work-around-a-qemu-or-kernel.patch @@ -0,0 +1,40 @@ +From a0fec28ff8679e7233cde035fe7506ceaac9991b Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 13 Sep 2012 15:25:56 +0100 +Subject: [PATCH] i386: Add noapic flag to work around a qemu or kernel bug. + +https://bugzilla.redhat.com/show_bug.cgi?id=857026 +--- + src/launch-libvirt.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c +index 3711363..e3de406 100644 +--- a/src/launch-libvirt.c ++++ b/src/launch-libvirt.c +@@ -588,6 +588,12 @@ construct_libvirt_xml_boot (guestfs_h *g, xmlTextWriterPtr xo, + #define SERIAL_CONSOLE "ttyS0" + #endif + ++#ifdef __i386__ ++#define I386_NO_APIC "noapic " /* workaround for RHBZ#857026 */ ++#else ++#define I386_NO_APIC ++#endif ++ + #define LINUX_CMDLINE \ + "panic=1 " /* force kernel to panic if daemon exits */ \ + "console=" SERIAL_CONSOLE " " /* serial console */ \ +@@ -595,7 +601,8 @@ construct_libvirt_xml_boot (guestfs_h *g, xmlTextWriterPtr xo, + "no_timer_check " /* fix for RHBZ#502058 */ \ + "acpi=off " /* we don't need ACPI, turn it off */ \ + "printk.time=1 " /* display timestamp before kernel messages */ \ +- "cgroup_disable=memory " /* saves us about 5 MB of RAM */ ++ "cgroup_disable=memory " /* saves us about 5 MB of RAM */ \ ++ I386_NO_APIC + + /* Linux kernel command line. */ + guestfs___drive_name (appliance_index, appliance_root); +-- +1.7.12 + diff --git a/libguestfs.spec b/libguestfs.spec index 298c7ab..c8a2c0b 100644 --- a/libguestfs.spec +++ b/libguestfs.spec @@ -22,7 +22,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Epoch: 1 Version: 1.19.40 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ Group: Development/Libraries URL: http://libguestfs.org/ @@ -37,7 +37,11 @@ BuildRequires: autoconf, automake, libtool, gettext-devel # 'obsoletes' udev, but febootstrap doesn't get this relationship # right. When udev disappears from the repository we can remove this # patch. -Patch4: libguestfs-1.19.2-remove-udev-from-packagelist.patch +Patch2: libguestfs-1.19.2-remove-udev-from-packagelist.patch + +# Non-upstream patch to add the noapic flag on the kernel command line +# on i386 only. This works around a bug in 32-bit qemu (RHBZ#857026). +Patch3: 0001-i386-Add-noapic-flag-to-work-around-a-qemu-or-kernel.patch %if 0%{?rhel} >= 7 ExclusiveArch: x86_64 @@ -682,8 +686,8 @@ for %{name}. %patch1 -p1 autoreconf -i %endif - -%patch4 -p1 +%patch2 -p1 +%patch3 -p1 mkdir -p daemon/m4 @@ -994,6 +998,10 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/libguestfs %changelog +* Fri Sep 14 2012 Richard W.M. Jones - 1:1.19.40-3 +- Add (non-upstream) patch to add the noapic flag on the kernel + command line on i386 only. This works around a bug in 32-bit qemu. + * Wed Sep 12 2012 Richard W.M. Jones - 1:1.19.40-2 - Enable tests because RHBZ#853408 has been fixed in qemu-1.2.0-3.fc18.