[Pm-utils] [patch] disable suspend when kernel image changed

Richard Zidlicky rz at linux-m68k.org
Wed Apr 7 12:52:06 PDT 2010


Hi,

trying to fix this crash situation: /boot/vmlinuz-XXX exists and is the currently 
running kernel, I decide to reconfigure and recompile it, overwrite /boot/vmlinuz-XXX 
and hit pm-hibernate.

Currently 01grub does not recognize that the kernel image vmlinuz-XXX is not 
identical with that of the running kernel and will suspend. Resume fails with 
"version mismatch".

I have cooked up this patch as a fix to avoid the problem. It would be nice to do
something more sophisticated but I do not know how to figure out the exact version
from the saved image in a portable way without draging in exotic dependencies.
Another option would be to compare the date stamp with uptime if boot.log is
something distribution specific - slightly more difficult scripting-wise and not 
sure if it is needed.

Supposed to work on Fedora but not really tested yet.

--- 01grub.rz   2010-04-07 19:52:02.000000000 +0200
+++ 01grub      2010-04-07 21:22:30.000000000 +0200
@@ -15,6 +15,7 @@
 
        [ -x /sbin/grubby -a -x /sbin/grub ] || return $NA
        [ -e "/boot/vmlinuz-$(uname -r)" ] || return 1
+       [ /var/log/boot.log -ot "/boot/vmlinuz-$(uname -r)" ] && return $NA
        out=$(/sbin/grubby --info /boot/vmlinuz-$(uname -r) |grep index)
        [ -n "${out}" ] || return 1
        current=${out#index=}


Regards
Richard


More information about the Pm-utils mailing list