From 4f4f7250434e0cb2536f1ba6e22cbcfc6ab2506c Mon Sep 17 00:00:00 2001 From: Valentin Vidic Date: Tue, 17 Mar 2009 15:45:53 +0100 Subject: [PATCH] Try to get default kernel from lilo or grub config. --- src/functions.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/functions.sh b/src/functions.sh index c51c2d2..1ba1323 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -487,9 +487,22 @@ Nakon toga ponovno pozovite ovu skriptu." reboot_required () { local default_kernel kernel_package running_release running_version - default_kernel=$( lilo -t -v 2>/dev/null \ - | grep -B3 '[*]$' \ - | sed -n -e '/^Boot image: / { s///p; q; }' ) + # try to get default kernel from lilo + if type lilo >/dev/null 2>&1; then + default_kernel=$( lilo -t -v 2>/dev/null \ + | grep -B3 '[*]$' \ + | sed -n -e '/^Boot image: / { s///p; q; }' ) + fi + + # fallback to grub if lilo not installed + if [ -z "$default_kernel" -a -r "/boot/grub/menu.lst" ]; then + default_kernel=$( awk ' + $1 == "default" { default = $2; + if (default != /^[[:digit:]]+$/) { exit } } + $1 == "title" { title+=1 } + $1 == "kernel" && title==default+1 { print $2; exit }' \ + /boot/grub/menu.lst 2>/dev/null ) + fi if [ -z "$default_kernel" ]; then log "Could not find default kernel" -- 1.7.10.4