virt-manager/virtinst-pvgrub2-bootloader.patch

54 lines
2.4 KiB
Diff
Raw Normal View History

Reference: bnc#863821
grub.xen is required to boot PV VMs that use the BTRFS filesystem.
This patch forces the use of grub.xen (instead of using pygrub) for
newer suse distros like SLE12 and openSUSE 13.2.
Index: virt-manager-1.4.3/virtinst/guest.py
===================================================================
--- virt-manager-1.4.3.orig/virtinst/guest.py
+++ virt-manager-1.4.3/virtinst/guest.py
@@ -366,8 +366,20 @@ class Guest(XMLBuilder):
if (not install and
self.os.is_xenpv() and
not self.os.kernel):
- self.bootloader = "/usr/bin/pygrub"
- self.os.clear()
+ os_ver = self._get_os_variant()
+ if self.os.arch != 'x86_64' or os_ver.startswith("sles9") or \
+ os_ver.startswith("sles10") or os_ver.startswith("sled10") or \
+ os_ver.startswith("opensuse10") or os_ver.startswith("opensuse11"):
+ self.bootloader = "pygrub"
+ self.os.clear()
+ else:
+ self.installer._install_kernel = "/usr/lib/grub2/x86_64-xen/grub.xen"
+ self.installer._install_initrd = None
+ self.installer.extraargs = None
+ # alter_bootconfig won't update the osxml unless it thinks
+ # we are in an install phase. Add force_update param to call
+ self.installer.alter_bootconfig(self, True, True)
+ logging.info("Using grub.xen to boot guest")
return self.get_xml_config()
Index: virt-manager-1.4.3/virtinst/installer.py
===================================================================
--- virt-manager-1.4.3.orig/virtinst/installer.py
+++ virt-manager-1.4.3/virtinst/installer.py
- Update to virt-manager 1.2.0 virt-manager-1.2.1.tar.bz2 * Bugfix release * Fix connecting to older libvirt versions (Michał Kępień) * Fix connecting to VM console with non-IP hostname (Giuseppe Scrivano) * Fix addhardware/create wizard errors when a nodedev disappears * Fix adding a second cdrom via customize dialog - Dropped tarball and patches virt-manager-1.2.0.tar.bz2 848123e6-fix-memory-stats-for-shutoff-VM.patch ebcb7c06-fix-exception-when-the-address-is-not-an-IP.patch c4d26d16-fix-VM-polling-on-old-libvirt.patch ac2be796-do-not-throw-exception-if-volume-or-pool-dont-exist.patch 88e18c86-fix-sending-net-removed-signal.patch fbdf574c-fix-shortcut-key-for-USB-redir-dev-type.patch 2c1e482b-fix--show-host-summary-error-windows-flooding.patch 4b5c836a-read-start-mode-from-inactive-conf-XML.patch 776c1d97-fix-changing-USB-device-model.patch bbc4f83b-enable-qemu_ga-for-sles-11-sp4-and-newer.patch f8af2e6b-verify-HYPER-V-support-after-customization.patch 9ea3fcd1-add-classes-for-SUSE-distros.patch 23f262ec-fetch-URL-media-from-content-file-for-suse-distros.patch 5618fa4c-add-support-for-detecting-os-variants-of-suse-distros.patch 9b99eff7-add-opensuse-13.x-tests.patch f5a13510-clone-dont-use-separator-when-disk-under-root.patch - Upstream support for suse distros 9ea3fcd1-add-classes-for-SUSE-distros.patch 23f262ec-fetch-URL-media-from-content-file-for-suse-distros.patch 5618fa4c-add-support-for-detecting-os-variants-of-suse-distros.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=237
2015-06-08 14:36:45 +02:00
@@ -99,7 +99,7 @@ class Installer(object):
break
return bootorder
- def alter_bootconfig(self, guest, isinstall):
+ def alter_bootconfig(self, guest, isinstall, force_update=False):
"""
Generate the portion of the guest xml that determines boot devices
and parameters. (typically the <os></os> block)
- Update to virt-manager 1.2.0 virt-manager-1.2.1.tar.bz2 * Bugfix release * Fix connecting to older libvirt versions (Michał Kępień) * Fix connecting to VM console with non-IP hostname (Giuseppe Scrivano) * Fix addhardware/create wizard errors when a nodedev disappears * Fix adding a second cdrom via customize dialog - Dropped tarball and patches virt-manager-1.2.0.tar.bz2 848123e6-fix-memory-stats-for-shutoff-VM.patch ebcb7c06-fix-exception-when-the-address-is-not-an-IP.patch c4d26d16-fix-VM-polling-on-old-libvirt.patch ac2be796-do-not-throw-exception-if-volume-or-pool-dont-exist.patch 88e18c86-fix-sending-net-removed-signal.patch fbdf574c-fix-shortcut-key-for-USB-redir-dev-type.patch 2c1e482b-fix--show-host-summary-error-windows-flooding.patch 4b5c836a-read-start-mode-from-inactive-conf-XML.patch 776c1d97-fix-changing-USB-device-model.patch bbc4f83b-enable-qemu_ga-for-sles-11-sp4-and-newer.patch f8af2e6b-verify-HYPER-V-support-after-customization.patch 9ea3fcd1-add-classes-for-SUSE-distros.patch 23f262ec-fetch-URL-media-from-content-file-for-suse-distros.patch 5618fa4c-add-support-for-detecting-os-variants-of-suse-distros.patch 9b99eff7-add-opensuse-13.x-tests.patch f5a13510-clone-dont-use-separator-when-disk-under-root.patch - Upstream support for suse distros 9ea3fcd1-add-classes-for-SUSE-distros.patch 23f262ec-fetch-URL-media-from-content-file-for-suse-distros.patch 5618fa4c-add-support-for-detecting-os-variants-of-suse-distros.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=237
2015-06-08 14:36:45 +02:00
@@ -110,7 +110,7 @@ class Installer(object):
'post-install' phase.
@type isinstall: C{bool}
"""
- if isinstall and not self.has_install_phase():
+ if isinstall and not force_update and not self.has_install_phase():
return
bootorder = guest.os.bootorder