From 399911e07fa11a95a4c912e6f7c047033321f7d5 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 12 Jan 2017 09:11:09 -0500 Subject: fix update-grub-legacy-ec2 to check config for CONFIG_XEN=y Instead of relying on name and version based checking, update-grub-legacy-ec2 will now look at the config for a kernel if it is available to determine if it should be considered a xen kernel. LP: #1379080 --- debian/update-grub-legacy-ec2 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'debian') diff --git a/debian/update-grub-legacy-ec2 b/debian/update-grub-legacy-ec2 index 337757b3..e48f4edb 100755 --- a/debian/update-grub-legacy-ec2 +++ b/debian/update-grub-legacy-ec2 @@ -1398,8 +1398,23 @@ fi if ! type is_xen_kernel >/dev/null 2>&1; then + check_xen_config_for_kernel() { + # input is like /boot/vmlinuz-2.6.35-13-virtual + # expected config path is /boot/config-2.6.35-13-virtual + local kernel="$1" config="" dir="" bname="" + dir=${kernel%/*} + [ "$dir" = "$kernel"] && dir="." + bname=${kernel##*/} + config="$dir/config-${bname#*-}" + [ -f "$config" ] || return 1 + grep -q CONFIG_XEN=y "$config" + } + is_xen_kernel() { # input is like /boot/vmlinuz-2.6.35-13-virtual + # return whether or not this kernel is xen bootable. + check_xen_config_for_kernel "$1" && return 0 + # get the version string out of it. local ver_flavor=""; ver_flavor="${1##*vmlinuz-}" @@ -1419,6 +1434,9 @@ if ! type is_xen_kernel >/dev/null 2>&1; then fi for kern in /boot/vmlinuz-*; do + case "$kern" in + *.signed) continue;; + esac is_xen_kernel "${kern}" && xen_verlist="${xen_verlist} ${kern#/boot/vmlinuz-}" done -- cgit v1.2.3