47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
|
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(-)
|
||
|
|
||
|
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
|
||
|
index fd103f1..6a7c1e6 100644
|
||
|
--- a/util/grub.d/20_linux_xen.in
|
||
|
+++ b/util/grub.d/20_linux_xen.in
|
||
|
@@ -171,6 +171,19 @@ file_is_not_sym () {
|
||
|
xen_list=`for i in /boot/xen*.gz; do
|
||
|
if grub_file_is_not_garbage "$i" && test ! -L "$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" ] &&
|
||
|
+# 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.
|
||
|
+# Test the system is dom0, if it is, we set the xen_list to /boot/xen.gz which should become
|
||
|
+# available after xen package installed.
|
||
|
+ [ -e /proc/xen/xsd_port -o ! -e /proc/xen ]; then
|
||
|
+ xen_list="/boot/xen.gz"
|
||
|
+fi
|
||
|
+
|
||
|
prepare_boot_cache=
|
||
|
boot_device_id=
|
||
|
|
||
|
--
|
||
|
1.7.3.4
|
||
|
|