[Pm-utils] [patch] disable suspend when kernel image changed
Nigel Cunningham
ncunningham at crca.org.au
Thu Apr 8 02:06:31 PDT 2010
Hi.
On 08/04/10 05:52, Richard Zidlicky wrote:
> 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=}
With anything relatively recent (post about 2.6.27 IIRC), this should be
unnecessary. Code has been added so that you can hibernate with one
kernel and resume with another.
Regards,
Nigel
More information about the Pm-utils
mailing list