38097ad9c3
virtinst-pvgrub2-bootloader.patch - Refreshed patches virtinst-change-location-for-grub_xen.patch virtinst-set-cache-mode-unsafe-for-install.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=492
40 lines
1.8 KiB
Diff
40 lines
1.8 KiB
Diff
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
|
|
suse distros SLE12GA, openSUSE 13.2, and newer.
|
|
Index: virt-manager-2.2.1/virtinst/install/installer.py
|
|
===================================================================
|
|
--- virt-manager-2.2.1.orig/virtinst/install/installer.py
|
|
+++ virt-manager-2.2.1/virtinst/install/installer.py
|
|
@@ -167,7 +167,8 @@ class Installer(object):
|
|
|
|
def _alter_treemedia_bootconfig(self, guest):
|
|
if not self._treemedia:
|
|
- return
|
|
+ if not self._treemedia_bootconfig or "grub.xen" not in self._treemedia_bootconfig[0]:
|
|
+ return
|
|
|
|
kernel, initrd, kernel_args = self._treemedia_bootconfig
|
|
if kernel:
|
|
@@ -436,6 +437,20 @@ class Installer(object):
|
|
install_xml = None
|
|
if self.has_install_phase():
|
|
install_xml = self._get_install_xml(guest, meter)
|
|
+ if (guest.os.is_xenpv() and
|
|
+ not guest.os.kernel):
|
|
+ os_ver = guest.osinfo.name
|
|
+ if guest.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"):
|
|
+ guest.bootloader = "pygrub"
|
|
+ else:
|
|
+ guest.bootloader = None
|
|
+ self._treemedia_bootconfig = ("/usr/lib/grub2/x86_64-xen/grub.xen", "", "")
|
|
+ log.debug("Using grub.xen to boot guest")
|
|
+ on_reboot_value = guest.on_reboot
|
|
+ self._alter_bootconfig(guest)
|
|
+ guest.on_reboot = on_reboot_value
|
|
final_xml = guest.get_xml()
|
|
|
|
log.debug("Generated install XML: %s",
|