forked from pool/grub2
Accepting request 182694 from home:michael-chang:branches:Base:System
- refresh grub2-fix-menu-in-xen-host-server.patch: In domU we have to add xen kernel to config. (bnc#825528) OBS-URL: https://build.opensuse.org/request/show/182694 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=46
This commit is contained in:
parent
026af2c827
commit
db0c793b4d
@ -20,11 +20,11 @@ This patch fixes above three issues.
|
||||
util/grub.d/20_linux_xen.in | 6 ++++--
|
||||
3 files changed, 19 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/util/grub-mkconfig_lib.in b/util/grub-mkconfig_lib.in
|
||||
index 76133b4..defc364 100644
|
||||
--- a/util/grub-mkconfig_lib.in
|
||||
+++ b/util/grub-mkconfig_lib.in
|
||||
@@ -239,6 +239,11 @@ version_test_gt ()
|
||||
Index: grub-2.00/util/grub-mkconfig_lib.in
|
||||
===================================================================
|
||||
--- grub-2.00.orig/util/grub-mkconfig_lib.in
|
||||
+++ grub-2.00/util/grub-mkconfig_lib.in
|
||||
@@ -235,6 +235,11 @@ version_test_gt ()
|
||||
*.old:*.old) ;;
|
||||
*.old:*) version_test_gt_a="`echo -n "$version_test_gt_a" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=gt ;;
|
||||
*:*.old) version_test_gt_b="`echo -n "$version_test_gt_b" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=ge ;;
|
||||
@ -36,20 +36,34 @@ index 76133b4..defc364 100644
|
||||
esac
|
||||
version_test_numeric "$version_test_gt_a" "$version_test_gt_cmp" "$version_test_gt_b"
|
||||
return "$?"
|
||||
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
||||
index e7a180e..a02bf17 100644
|
||||
--- a/util/grub.d/10_linux.in
|
||||
+++ b/util/grub.d/10_linux.in
|
||||
@@ -150,15 +150,23 @@ EOF
|
||||
Index: grub-2.00/util/grub.d/10_linux.in
|
||||
===================================================================
|
||||
--- grub-2.00.orig/util/grub.d/10_linux.in
|
||||
+++ grub-2.00/util/grub.d/10_linux.in
|
||||
@@ -150,15 +150,37 @@ EOF
|
||||
EOF
|
||||
}
|
||||
|
||||
+# bnc#757895 - Grub2 menu items incorrect when "Xen Virtual Machines Host Server" selected
|
||||
+# check kernel's flavor to prevent xen kernel from booting natively without hypervisor
|
||||
+is_not_xen ()
|
||||
+# bnc#825528 - grub2-mkconfig doesn't find kernel in xen domU
|
||||
+# check xen kernel in domU and process it
|
||||
+is_not_xen_kernel_in_dom0 ()
|
||||
+{
|
||||
+ flavor=`echo $1 | sed -e "s,.*-,,g"`
|
||||
+ test "x$flavor" != xxen
|
||||
+
|
||||
+ if [ "x${flavor}" = "xxen" ] ; then
|
||||
+ # Determining Virtual Machine Identities
|
||||
+ if [ -e /proc/xen -a ! -e /proc/xen/xsd_port ]; then
|
||||
+ # We're in DomU
|
||||
+ return 0
|
||||
+ else
|
||||
+ # We're in Dom0 or No Xen hypervisor present at all
|
||||
+ return 1
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
machine=`uname -m`
|
||||
@ -57,20 +71,20 @@ index e7a180e..a02bf17 100644
|
||||
xi?86 | xx86_64)
|
||||
list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
|
||||
- if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
|
||||
+ if grub_file_is_not_garbage "$i" && is_not_xen "$i" ; then echo -n "$i " ; fi
|
||||
+ if grub_file_is_not_garbage "$i" && is_not_xen_kernel_in_dom0 "$i" ; then echo -n "$i " ; fi
|
||||
done` ;;
|
||||
*)
|
||||
list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
|
||||
- if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
|
||||
+ if grub_file_is_not_garbage "$i" && is_not_xen "$i" ; then echo -n "$i " ; fi
|
||||
+ if grub_file_is_not_garbage "$i" && is_not_xen_kernel_in_dom0 "$i" ; then echo -n "$i " ; fi
|
||||
done` ;;
|
||||
esac
|
||||
|
||||
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
|
||||
index 1d94502..fd103f1 100644
|
||||
--- a/util/grub.d/20_linux_xen.in
|
||||
+++ b/util/grub.d/20_linux_xen.in
|
||||
@@ -166,8 +166,10 @@ file_is_not_sym () {
|
||||
Index: grub-2.00/util/grub.d/20_linux_xen.in
|
||||
===================================================================
|
||||
--- grub-2.00.orig/util/grub.d/20_linux_xen.in
|
||||
+++ grub-2.00/util/grub.d/20_linux_xen.in
|
||||
@@ -171,8 +171,10 @@ file_is_not_sym () {
|
||||
esac
|
||||
}
|
||||
|
||||
@ -83,6 +97,3 @@ index 1d94502..fd103f1 100644
|
||||
done`
|
||||
prepare_boot_cache=
|
||||
boot_device_id=
|
||||
--
|
||||
1.7.3.4
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 9 10:54:41 UTC 2013 - mchang@suse.com
|
||||
|
||||
- refresh grub2-fix-menu-in-xen-host-server.patch: In domU we
|
||||
have to add xen kernel to config. (bnc#825528)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 26 17:02:08 UTC 2013 - elchevive@opensuse.org
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user