virt-manager/virtinst-pvgrub2-bootloader.patch
Charles Arnold 24c47c97a8 - Content file on media changed again. Update suse detection code.
virtinst-detect-suse-distros.patch

- bnc#874772 - virt-manager: Unable to complete install: 'xmlDesc
  in virDomainCreateXML must not be NULL'
  virtinst-pvgrub2-bootloader.patch
- KVM: Use /usr/bin/qemu-system-x86_64 as the default emulator
  virtinst-set-qemu-emulator.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=168
2014-04-28 22:47:42 +00:00

48 lines
2.1 KiB
Diff

Index: virt-manager-1.0.1/virtinst/guest.py
===================================================================
--- virt-manager-1.0.1.orig/virtinst/guest.py
+++ virt-manager-1.0.1/virtinst/guest.py
@@ -348,8 +348,18 @@ 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 os_ver == "sles12" or os_ver == "sled12":
+ 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, self.os, True)
+ logging.info("Using grub.xen to boot guest")
+ else:
+ self.bootloader = "/usr/bin/pygrub"
+ self.os.clear()
return self.get_xml_config()
Index: virt-manager-1.0.1/virtinst/installer.py
===================================================================
--- virt-manager-1.0.1.orig/virtinst/installer.py
+++ virt-manager-1.0.1/virtinst/installer.py
@@ -111,7 +111,7 @@ class Installer(object):
dev.validate()
return dev
- def alter_bootconfig(self, guest, isinstall, bootconfig):
+ def alter_bootconfig(self, guest, isinstall, bootconfig, force_update=False):
"""
Generate the portion of the guest xml that determines boot devices
and parameters. (typically the <os></os> block)
@@ -122,7 +122,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 = self._build_boot_order(isinstall, guest)