From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [OSSTEST Nested PATCH v8 1/7] parsing grub which has 'submenu' primitive Date: Tue, 21 Apr 2015 11:12:51 +0100 Message-ID: <1429611171.4743.16.camel@citrix.com> References: <1428959990-24199-1-git-send-email-longtaox.pang@intel.com> <1428959990-24199-2-git-send-email-longtaox.pang@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-fDJ4lW99i/r4TW1ywSo7" Return-path: In-Reply-To: <1428959990-24199-2-git-send-email-longtaox.pang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: "longtao.pang" Cc: wei.liu2@citrix.com, robert.hu@intel.com, Ian.Jackson@eu.citrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org --=-fDJ4lW99i/r4TW1ywSo7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Mon, 2015-04-13 at 17:19 -0400, longtao.pang wrote: > From a hvm kernel build from Linux stable Kernel tree, > the auto generated grub2 menu will have 'submenu' primitive, upon the > 'menuentry' items. Xen boot entries will be grouped into a submenu. This > patch adds capability to support such grub formats. > > Signed-off-by: longtao.pang I think this won't work with nested submenus, but I assume we don't see them at least with Jessie so we can live with this. I'm also not sure it would cope with a submenu declared within a function, but again I expect we aren't seeing those in practice. So given this handles the grub.cfg files we see in practice: Acked-by: Ian Campbell I'd also like to see some of our delta in overlay/etc/grub.d/20_linux_xen which was added to remove the possibility of submenus to be removed, see below. Wei, per the comment below I think we should update the grub BR with a fixed patch, like the attached. Ian. ----- >>From e082a82a3036152797447ac4c809e3b67e68cd12 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 21 Apr 2015 11:06:06 +0100 Subject: [PATCH] grub: remove patch to disable submenu from 20_linux_xen overlay setupboot_grub2 now supports submenus, so we can reduce our delta vs upstream a bit. I started by extracting 20_linux_xen from http://snapshot.debian.org/archive/debian/20130703T094657Z/pool/main/g/grub2/grub-common_1.99-27%2Bdeb7u2_amd64.deb and then applying the patch at http://savannah.gnu.org/file/grub.patch?file_id=32276 (the patch from grub bug #42420 at http://savannah.gnu.org/bugs/?43420) and reinstating the comment at the top of the file (modified to drop the reference to the Debian bug. This left me with some spurious changes: @@ -93,7 +93,7 @@ linux_entry () if test ! -e "${xen_dirname}/${xenpolicy}" ; then return fi - xen_args=`echo $xen_args flask=enforcing` + xen_args=`echo $xen_args flask_enabled=1 flask_enforcing=1` if ${recovery} ; then title="$(gettext_quoted "%s, with Xen %s (XSM enabled) and Linux %s (recovery mode)")" else @@ -137,7 +137,6 @@ EOF echo '$message' module ${rel_dirname}/${xenpolicy} EOF - fi cat << EOF } EOF I think these are bugs in the patch in the grub BTS, which were fixed while iterating over the XSM series in osstest but didn't make it into the upstream version, the fixes to those bugs are reverted byu the above. So I have manually reverted them. Signed-off-by: Ian Campbell --- Wei, if you agree wrt those changes I'll update the bug, or perhaps you want to? --- overlay/etc/grub.d/20_linux_xen | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/overlay/etc/grub.d/20_linux_xen b/overlay/etc/grub.d/20_linux_xen index 5315e2a..aaead1b 100755 --- a/overlay/etc/grub.d/20_linux_xen +++ b/overlay/etc/grub.d/20_linux_xen @@ -1,7 +1,7 @@ #! /bin/sh # Copied from the identically named file in grub-common 1.99-27+deb7u2. -# This version fixed Debian bug #690538 and GRUB bug #43420. +# This version fixes GRUB bug #43420. set -e @@ -173,6 +173,7 @@ while [ "x${xen_list}" != "x" ] ; do xen_dirname=`dirname ${current_xen}` rel_xen_dirname=`make_system_path_relative_to_its_root $xen_dirname` xen_version=`echo $xen_basename | sed -e "s,.gz$,,g;s,^xen-,,g"` + echo "submenu \"Xen ${xen_version}\" {" while [ "x$list" != "x" ] ; do linux=`version_find_latest $list` echo "Found linux image: $linux" >&2 @@ -214,5 +215,6 @@ while [ "x${xen_list}" != "x" ] ; do list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` done + echo "}" xen_list=`echo $xen_list | tr ' ' '\n' | grep -vx $current_xen | tr '\n' ' '` done -- 2.1.4 --=-fDJ4lW99i/r4TW1ywSo7 Content-Disposition: attachment; filename="grub.v2.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="grub.v2.patch"; charset="UTF-8" LS0tIC9ob21lL2lhbmMvdG1wL3gvZXRjL2dydWIuZC8yMF9saW51eF94ZW4JMjAxMy0wNy0wMyAw NDozOToyMC4wMDAwMDAwMDAgKzAxMDAKKysrIG92ZXJsYXkvZXRjL2dydWIuZC8yMF9saW51eF94 ZW4JMjAxNS0wNC0yMSAxMTowOTo1Ny43Nzc4MTI3NzMgKzAxMDAKQEAgLTgxLDEwICs4NSwyNyBA QAogICByZWNvdmVyeT0iJDQiCiAgIGFyZ3M9IiQ1IgogICB4ZW5fYXJncz0iJDYiCi0gIGlmICR7 cmVjb3Zlcnl9IDsgdGhlbgotICAgIHRpdGxlPSIkKGdldHRleHRfcXVvdGVkICIlcywgd2l0aCBY ZW4gJXMgYW5kIExpbnV4ICVzIChyZWNvdmVyeSBtb2RlKSIpIgorICB4c209IiQ3IgorICAjIElm IHVzZXIgd2FudHMgdG8gZW5hYmxlIFhTTSBzdXBwb3J0LCBtYWtlIHN1cmUgdGhlcmUncworICAj IGNvcnJlc3BvbmRpbmcgcG9saWN5IGZpbGUuCisgIGlmICR7eHNtfSA7IHRoZW4KKyAgICAgIHhl bnBvbGljeT1gZWNobyB4ZW5wb2xpY3ktJHhlbl92ZXJzaW9uYAorICAgICAgaWYgdGVzdCAhIC1l ICIke3hlbl9kaXJuYW1lfS8ke3hlbnBvbGljeX0iIDsgdGhlbgorCSAgcmV0dXJuCisgICAgICBm aQorICAgICAgeGVuX2FyZ3M9YGVjaG8gJHhlbl9hcmdzIGZsYXNrPWVuZm9yY2luZ2AKKyAgICAg IGlmICR7cmVjb3Zlcnl9IDsgdGhlbgorCSAgdGl0bGU9IiQoZ2V0dGV4dF9xdW90ZWQgIiVzLCB3 aXRoIFhlbiAlcyAoWFNNIGVuYWJsZWQpIGFuZCBMaW51eCAlcyAocmVjb3ZlcnkgbW9kZSkiKSIK KyAgICAgIGVsc2UKKwkgIHRpdGxlPSIkKGdldHRleHRfcXVvdGVkICIlcywgd2l0aCBYZW4gJXMg KFhTTSBlbmFibGVkKSBhbmQgTGludXggJXMiKSIKKyAgICAgIGZpCiAgIGVsc2UKLSAgICB0aXRs ZT0iJChnZXR0ZXh0X3F1b3RlZCAiJXMsIHdpdGggWGVuICVzIGFuZCBMaW51eCAlcyIpIgorICAg ICAgeGVucG9saWN5PSIiCisgICAgICBpZiAke3JlY292ZXJ5fSA7IHRoZW4KKwkgIHRpdGxlPSIk KGdldHRleHRfcXVvdGVkICIlcywgd2l0aCBYZW4gJXMgYW5kIExpbnV4ICVzIChyZWNvdmVyeSBt b2RlKSIpIgorICAgICAgZWxzZQorCSAgdGl0bGU9IiQoZ2V0dGV4dF9xdW90ZWQgIiVzLCB3aXRo IFhlbiAlcyBhbmQgTGludXggJXMiKSIKKyAgICAgIGZpCiAgIGZpCiAgIHByaW50ZiAibWVudWVu dHJ5ICcke3RpdGxlfScgJHtDTEFTU30ge1xuIiAiJHtvc30iICIke3hlbl92ZXJzaW9ufSIgIiR7 dmVyc2lvbn0iCiAgIGlmICEgJHtyZWNvdmVyeX0gOyB0aGVuCkBAIC0xMTAsNiArMTMxLDEzIEBA CiAJbW9kdWxlCSR7cmVsX2Rpcm5hbWV9LyR7aW5pdHJkfQogRU9GCiAgIGZpCisgIGlmIHRlc3Qg LW4gIiR7eGVucG9saWN5fSIgOyB0aGVuCisgICAgbWVzc2FnZT0iJChnZXR0ZXh0X3ByaW50ZiAi TG9hZGluZyBYU00gcG9saWN5IC4uLiIpIgorICAgIGNhdCA8PCBFT0YKKwllY2hvCSckbWVzc2Fn ZScKKwltb2R1bGUJJHtyZWxfZGlybmFtZX0vJHt4ZW5wb2xpY3l9CitFT0YKKyAgZmkKICAgY2F0 IDw8IEVPRgogfQogRU9GCkBAIC0xMzMsNyArMTYxLDcgQEAKIGlmIFsgIngke2xpbnV4X2xpc3R9 IiA9ICJ4IiBdIDsgdGhlbgogICAgIGV4aXQgMAogZmkKLXhlbl9saXN0PWBmb3IgaSBpbiAvYm9v dC94ZW4qOyBkbworeGVuX2xpc3Q9YGZvciBpIGluIC9ib290L3hlblstLl0qOyBkbwogICAgICAg ICBpZiBncnViX2ZpbGVfaXNfbm90X2dhcmJhZ2UgIiRpIiA7IHRoZW4gZWNobyAtbiAiJGkgIiA7 IGZpCiAgICAgICBkb25lYAogcHJlcGFyZV9ib290X2NhY2hlPQpAQCAtMTc1LDEwICsyMDMsMTQg QEAKIAlmaQogCiAJbGludXhfZW50cnkgIiR7T1N9IiAiJHt2ZXJzaW9ufSIgIiR7eGVuX3ZlcnNp b259IiBmYWxzZSBcCi0JICAgICIke0dSVUJfQ01ETElORV9MSU5VWH0gJHtHUlVCX0NNRExJTkVf TElOVVhfREVGQVVMVH0iICIke0dSVUJfQ01ETElORV9YRU59ICR7R1JVQl9DTURMSU5FX1hFTl9E RUZBVUxUfSIKKwkgICAgIiR7R1JVQl9DTURMSU5FX0xJTlVYfSAke0dSVUJfQ01ETElORV9MSU5V WF9ERUZBVUxUfSIgIiR7R1JVQl9DTURMSU5FX1hFTn0gJHtHUlVCX0NNRExJTkVfWEVOX0RFRkFV TFR9IiBmYWxzZQorCWxpbnV4X2VudHJ5ICIke09TfSIgIiR7dmVyc2lvbn0iICIke3hlbl92ZXJz aW9ufSIgZmFsc2UgXAorCSAgICAiJHtHUlVCX0NNRExJTkVfTElOVVh9ICR7R1JVQl9DTURMSU5F X0xJTlVYX0RFRkFVTFR9IiAiJHtHUlVCX0NNRExJTkVfWEVOfSAke0dSVUJfQ01ETElORV9YRU5f REVGQVVMVH0iIHRydWUKIAlpZiBbICJ4JHtHUlVCX0RJU0FCTEVfUkVDT1ZFUll9IiAhPSAieHRy dWUiIF07IHRoZW4KIAkgICAgbGludXhfZW50cnkgIiR7T1N9IiAiJHt2ZXJzaW9ufSIgIiR7eGVu X3ZlcnNpb259IiB0cnVlIFwKLQkJInNpbmdsZSAke0dSVUJfQ01ETElORV9MSU5VWH0iICIke0dS VUJfQ01ETElORV9YRU59IgorCQkic2luZ2xlICR7R1JVQl9DTURMSU5FX0xJTlVYfSIgIiR7R1JV Ql9DTURMSU5FX1hFTn0iIGZhbHNlCisJICAgIGxpbnV4X2VudHJ5ICIke09TfSIgIiR7dmVyc2lv bn0iICIke3hlbl92ZXJzaW9ufSIgdHJ1ZSBcCisJCSJzaW5nbGUgJHtHUlVCX0NNRExJTkVfTElO VVh9IiAiJHtHUlVCX0NNRExJTkVfWEVOfSIgdHJ1ZQogCWZpCiAKIAlsaXN0PWBlY2hvICRsaXN0 IHwgdHIgJyAnICdcbicgfCBncmVwIC12eCAkbGludXggfCB0ciAnXG4nICcgJ2AK --=-fDJ4lW99i/r4TW1ywSo7 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --=-fDJ4lW99i/r4TW1ywSo7--