On Thu, Oct 30, 2008 at 12:33 AM, Walter Dnes <[EMAIL PROTECTED]> wrote: > On Wed, Oct 29, 2008 at 12:27:39PM +0100, Pint?r Tibor wrote >>> [d530][root][~] emerge -pv s2disk >>> These are the packages that would be merged, in order: >>> Calculating dependencies | >>> emerge: there are no ebuilds to satisfy "s2disk". >>> Now what? >> >> emerge -pv suspend > > First, I had to keyword "=sys-power/suspend-0.8 ~x86" in > package.keywords. I set up suspend.conf like so... > > snapshot device = /dev/snapshot > resume device = /dev/sda6 > #image size = 350000000 > #suspend loglevel = 2 > compute checksum = y > #compress = y > #encrypt = y > #early writeout = y > #splash = y > > Here is my disk layout > > [d530][root][~] fdisk -l > > Disk /dev/sda: 500.1 GB, 500107862016 bytes > 255 heads, 63 sectors/track, 60801 cylinders > Units = cylinders of 16065 * 512 = 8225280 bytes > Disk identifier: 0xd0000000 > > Device Boot Start End Blocks Id System > /dev/sda1 1 60801 488384001 5 Extended > /dev/sda5 1 62 497952 83 Linux > /dev/sda6 63 549 3911796 82 Linux swap / Solaris > /dev/sda7 550 60801 483974158+ 83 Linux > > No, it's not LVM. / is half-a-gig, followed by swap, followed by the > rest of the drive. I use multiple bindmounts to make things look > normal. When I tried "sync", followed by "hibernate" it shut down, but > when I powered back up with the power button, here's what happened... > > - on the reboot, it complained about the superblock "last access" being > in the future (the half-gig partition is ext2) > > - it "fixed" the access date > > - complained that the hard drive was "dirty", i.e. not properly shut > down > > - rebooted > > - played back a whole bunch of disk transactions on /dev/sda7 > (reiserfs). Did i mention I ran "sync" before "hibernate"? > > - it did the rest of the ordinary boot process. > > - it did *NOT* restore anything from the previous session. Do I have to > explicitly set something to tell it to restore a previous session? > Gentoo-wiki is stll down. > > -- > Walter Dnes <[EMAIL PROTECTED]>
I've not touched hibernation, but from what I've gathered in 5 mins on google, I've a few probable guesses. Firstly, the image of the system set aside by s2disk leaves the system's partitions in a 'dirty' state simply because they're technically still in use. Your kernel needs to be told to look at /dev/sda6 for resuming, appending resume=/dev/sda6 (might be resume=swap:/dev/sda6, not sure) in your grub/lilo config should handle that part, though I've a vague recollection of something about a default resume partition last time I ran through menuconfig too, so you may even be able to avoid that. When it boots, rather than running through init and the usual, it needs access to the 'resume' executable, which has to be usable *before* the system's current mounts are reestablished... which means initrd or initramfs. If you already have both of those things (kernel knowing what the resume partition is and having access to 'resume' where it wants it) as they should be... I'm at a loss. If you go to: http://www.google.com/search?q=HOWTO+Userspace+Software+Suspend+(uswsusp)+-+Gentoo+Linux+Wiki and then hit 'cached' under the first hit, it'll take you to google's last copy of the page. Also, as a side note, from http://www.freewebs.com/gkiagia/hibernate.html -- "WARNING: Never boot the suspended system with another kernel than the one that you used to suspend and never try to mount suspended partitions from another linux system, such as a live cd, otherwise you will probably have data loss." -- Poison [BLX] Joshua M. Murphy