LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File grub2-fix-Grub2-with-SUSE-Xen-package-install.patch of Package grub2 (Project home:Ledest:bashisms)

From 86fdefd6b0d447cd7d3d80f794fcd4df2aa96792 Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang@suse.com>
Date: Thu, 30 Aug 2012 15:27:50 +0800
Subject: [PATCH] fix Grub2 with SUSE Xen package install

References: bnc#774666
Patch-Mainline: no

This fixes Grub2 does not offer a Xen entry after installing hypervisor
and tools, which is caused by install sequence of xen-kernel and xen is
unpredictable.

By judging the system is dom0 with xen kernel installed, the xen_list
will be set to /boot/xen.gz if it's empty. Because the xen kernel would
trigger the config updated prior to the xen package installation.
---
 util/grub.d/20_linux_xen.in |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

Index: grub-2.02~beta2/util/grub.d/20_linux_xen.in
===================================================================
--- grub-2.02~beta2.orig/util/grub.d/20_linux_xen.in
+++ grub-2.02~beta2/util/grub.d/20_linux_xen.in
@@ -175,6 +175,16 @@ file_is_not_sym () {
 xen_list=`for i in /boot/xen*.gz; do
         if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" ; then echo -n "$i " ; fi
       done`
+
+# bnc#774666 - Grub2 does not offer a Xen entry after installing hypervisor and tools
+# This is a workaround to the install sequence of xen-kernel and xen is unpredictable
+if [ "x${xen_list}" = "x" ]; then
+# If the code reaches here, it means that xen-kernel has been installed, but xen hypervisor
+# is missing. This is not likely a sane condition for dom0. We assume this is xen-kernel
+# triggers config update prior to the xen package.
+    xen_list="/boot/xen.gz"
+fi
+
 prepare_boot_cache=
 boot_device_id=