SHA256
1
0
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:
Marcus Meissner 2013-07-10 13:09:41 +00:00 committed by Git OBS Bridge
parent 026af2c827
commit db0c793b4d
2 changed files with 39 additions and 22 deletions

View File

@ -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

View File

@ -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