X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=1ba1323f730e1c0b049edd0b3bf4e5fd0b02bce8;hb=4f4f7250434e0cb2536f1ba6e22cbcfc6ab2506c;hp=c51c2d29d150cd62332c9b421c4b53ef8779bf5d;hpb=45dccf7fe7fe415a38af10a0eabea47390baaa86;p=carnet-upgrade.git 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"