Skip to contentSkip to conversation

Hibernate broke?

DISCUSSION Warren Togami 4 participants 5 messages Jun 17, 2009 3 messages not in the archive

lore
Share & tools
lore
#0 lore raw

I noticed today that hibernation is broken for dracut generated images.
Fedora 11 mkinitrd generated initrd works just fine for me, but the
dracut generated image of the same kernel is failing to resume.

My system has root and swap both within an encrypted LVM vg.

My understanding is that if you hibernate, it somehow writes something recongnized by grub upon the next boot so it knows to boot the same kernel & initrd with additional cmdline parameters to resume.

When I hibernate from the mkinitrd initrd, the system shuts down. When I boot again, grub immediately jumps into that kernel bypassing the grub menu, asks for my passphrase to decrypt, then reads the frozen system from swap and resumes.

When I hiberate from a dracut initrd, the system shuts down. When I boot up again, it goes to the full grub menu and seems unaware that it had hibernated.

Any idea what is going on here? Did this ever work with dracut before?

Warren Togami
[email protected]
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
In reply to a message not in the archive
Quoted 15 lines · Warren Togami

I noticed today that hibernation is broken for dracut generated images. Fedora 11 mkinitrd generated initrd works just fine for me, but the dracut generated image of the same kernel is failing to resume.

My system has root and swap both within an encrypted LVM vg.

My understanding is that if you hibernate, it somehow writes something recongnized by grub upon the next boot so it knows to boot the same kernel & initrd with additional cmdline parameters to resume.

When I hibernate from the mkinitrd initrd, the system shuts down. When I boot again, grub immediately jumps into that kernel bypassing the grub menu, asks for my passphrase to decrypt, then reads the frozen system from swap and resumes.

Quoted 5 lines

When I hiberate from a dracut initrd, the system shuts down. When I boot up again, it goes to the full grub menu and seems unaware that it had hibernated.

Any idea what is going on here? Did this ever work with dracut before?

you could try to just overwrite the mkinitrd generated image and see, if that gets booted --
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw
In reply to a message not in the archive
Quoted 3 lines · Warren Togami

My understanding is that if you hibernate, it somehow writes something recongnized by grub upon the next boot so it knows to boot the same kernel & initrd with additional cmdline parameters to resume.

Not entirely true -- on hibernate, we do a grub bootonce to force you back into the same kernel you're already booted into. The initrd then as one of its first steps looks at the swap partition (... which in the Fedora case, is specified as part of the initramfs with support for an override in /proc/cmdline) and if its a swsusp partition, we resume from it.

Quoted 1 line

Any idea what is going on here? Did this ever work with dracut before?

Unless someone added it when I wasn't looking, no one has added the support to dracut for the resume bits

Jeremy
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#7 lore raw
In reply to a message not in the archive
Quoted 10 lines · Jeremy Katz
Quoted 3 lines · Warren Togami

My understanding is that if you hibernate, it somehow writes something recongnized by grub upon the next boot so it knows to boot the same kernel & initrd with additional cmdline parameters to resume.

Not entirely true -- on hibernate, we do a grub bootonce to force you back into the same kernel you're already booted into. The initrd then as one of its first steps looks at the swap partition (... which in the Fedora case, is specified as part of the initramfs with support for an override in /proc/cmdline) and if its a swsusp partition, we resume from it.

Dracut just looks for the resume= parameter, and writes a udev rule that fires when the device is found if the parameter was on the commandline.

Quoted 7 lines
Quoted 3 lines

Any idea what is going on here? Did this ever work with dracut before?

Unless someone added it when I wasn't looking, no one has added the support to dracut for the resume bits

I did way back in the day as a mount hook. I have not tested it since it was turned into a dynamically generated udev rule.

Quoted 5 lines

Jeremy
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw
In reply to a message not in the archive
Quoted 6 lines · Harald Hoyer
Quoted 2 lines

Any idea what is going on here? Did this ever work with dracut before?

you could try to just overwrite the mkinitrd generated image and see, if that gets booted

Tried that. It grub failed to jump directly into it during next boot. I'm not sure what is missing here.

Warren
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html