Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
virt-manager.3850
virtinst-pvgrub2-bootloader.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File virtinst-pvgrub2-bootloader.patch of Package virt-manager.3850
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.2.1/virtinst/guest.py =================================================================== --- virt-manager-1.2.1.orig/virtinst/guest.py +++ virt-manager-1.2.1/virtinst/guest.py @@ -358,8 +358,19 @@ 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.startswith("sles12") or os_ver.startswith("sled12") or \ + os_ver.startswith("opensuse13") or os_ver.startswith("opensuse42"): + 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") + else: + self.bootloader = "/usr/bin/pygrub" + self.os.clear() return self.get_xml_config() Index: virt-manager-1.2.1/virtinst/installer.py =================================================================== --- virt-manager-1.2.1.orig/virtinst/installer.py +++ virt-manager-1.2.1/virtinst/installer.py @@ -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) @@ -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 = self._build_boot_order(isinstall, guest)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor