]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* util/grub.d/10_linux.in: Try alternative config filenames where
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 30 Mar 2011 18:42:42 +0000 (20:42 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 30 Mar 2011 18:42:42 +0000 (20:42 +0200)
we parse config file.
* util/grub.d/20_linux_xen.in: Likewise.

ChangeLog
util/grub.d/10_linux.in
util/grub.d/20_linux_xen.in

index 462b15810f6b4e6dae2c6d8f9b831b1245257b12..95e7363a23f54610f1d7df55c9a25741592d0703 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-03-30  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * util/grub.d/10_linux.in: Try alternative config filenames where
+       we parse config file.
+       * util/grub.d/20_linux_xen.in: Likewise.
+
 2011-03-30  Alexey Shvetsov <alexxy@gentoo.org>
 
        * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
index 9d13529d6e9049ac13cadba9797fd1aa66871cba..4f8a7927cfb2fc10340d7f311af765ab22b82682 100644 (file)
@@ -73,8 +73,8 @@ linux_entry ()
       cat << EOF
        load_video
 EOF
-      if grep -qx "CONFIG_FB_EFI=y" /boot/config-${version} 2> /dev/null \
-         && grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-${version} 2> /dev/null; then
+      if grep -qx "CONFIG_FB_EFI=y" "${config}" 2> /dev/null \
+         && grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" "${config}" 2> /dev/null; then
          cat << EOF
        set gfxpayload=keep
 EOF
@@ -147,14 +147,19 @@ while [ "x$list" != "x" ] ; do
     fi
   done
 
-  initramfs=
+  config=
   for i in "config-${version}" "config-${alt_version}"; do
     if test -e "${dirname}/${i}" ; then
-      initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${dirname}/${i}" | cut -f2 -d= | tr -d \"`
+      config="${dirname}/${i}"
       break
     fi
   done
 
+  initramfs=
+  if test -n "${config}" ; then
+      initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
+  fi
+
   if test -n "${initrd}" ; then
     echo "Found initrd image: ${dirname}/${initrd}" >&2
   elif test -z "${initramfs}" ; then
index 50938d1c77918273a6fdab80e9e2e7ea1f3cfea9..59a953ebb44016a4b08e13c7938e9b7424d74567 100644 (file)
@@ -94,10 +94,20 @@ EOF
 }
 
 linux_list=`for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
+    if grub_file_is_not_garbage "$i"; then
        basename=$(basename $i)
        version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
-        if grub_file_is_not_garbage "$i" && (grep -qx "CONFIG_XEN_DOM0=y" /boot/config-${version} 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" /boot/config-${version} 2> /dev/null); then echo -n "$i " ; fi
-      done`
+       dirname=$(dirname $i)
+       config=
+       for j in "config-${version}" "config-${alt_version}"; do
+           if test -e "${dirname}/${j}" ; then
+               config="${dirname}/${j}"
+               break
+           fi
+       done
+        if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null); then echo -n "$i " ; fi
+    fi
+    done`
 if [ "x${linux_list}" = "x" ] ; then
     exit 0
 fi