[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#600204: linux-image-2.6.32-5-amd64: Squeeze ignores Lennys hibernate image



(cc-ing the grub maintainers.  grub maintainers, see (*) below)
Hi again,

Philip Ashmore wrote:
> On 03/09/11 20:13, Jonathan Nieder wrote:
>> Philip Ashmore wrote:
>>>>>> Ben Hutchings wrote:
>>>>>>> On Thu, Oct 14, 2010 at 05:34:11PM +0100, Philip Ashmore wrote:

>>>>>>>> I hibernated in Lenny, using the same kernel version.
>>>>>>>> The next day I accidentally selected Squeeze from the grub2 menu.
>>>>>>>> Squeeze started up normally and reported on filesystems not cleanly closed and orphaned inodes.
>>>>>>>
>>>>>>> This is correct behaviour.  Hibernation images are not compatible between
>>>>>>> different kernel versions.
[...]
>>> The Debian kernel has to decide if the image signature is a match
>>> - that's the reason for this bug report.
>>>
>>> IMHO the release name or equivalent should be in that signature
>>> somewhere, unless you're saying that their initrd's are a match too.
>>
>> The initrds don't have to match --- the role of the initrd when
>> resuming is to load the hard disk driver and find the swap partition
>> to resume from.

Thinking more about it, I see a few potential problems:

1. The hibernation image failed to load for some reason, and we didn't
   track that down.  Did you save the relevant messages from "dmesg"
   (especially those starting with "PM:"), or can you trigger this
   again?

2. Suppose I boot, intending to resume from hibernation, but I choose
   the wrong kernel from the bootloader menu.  (For example, maybe I
   chose a kernel that does not support compressed hibernation
   images.)  The kernel log might include a perfectly nice diagnosis,
   but then a regular boot occurs, trashing the swap partition with
   hibernation image and losing the pre-hibernation state.

   A kernel parameter stating "if my swap partition has a hibernation
   signature and I am unable to resume, put the signature back and
   panic" could avoid this.

3. It is too easy to choose the wrong kernel when booting and
   intending to resume from hibernation.

[...]
> I distinctly remember when hibernate used to add an entry to grub.cfg - resume from hibernate
> (or something similar) that did the job perfectly - it might have been OpenSuse or Fedora
> though.

(*)

Sounds like a good idea.  Is there an easy way for grub to know which
kernel just hibernated (maybe it could notice the hibernation
signature and keep track of the last kernel booted somewhere) so this
would even work when the user does

	echo disk >/sys/power/state

or does the proper way involve support from pm-utils?

Compare http://bugs.debian.org/597199#10



Reply to: