Hibernate on EeePC 900A
Before I start to talk about hibernate, I want to mention a very strange behavior of the 900A. The internal SSD is named sda OR sdb, depending on whether there is a card in the card reader at the system startup. So if there is a card plugged in, the internal SSD will be flagged as sdb. If there is no card, it will be sda. WTF? I really have no idea what this is caused by. But I think this causes a problem with hibernation.
At first, I didn’t even realize, that the internal SSD changes its device name. I use Ubuntu eee and during the installation, the fstab and menu.lst were filled with UUID’s instead of the device names – So there is no problem with booting and mounting them.
Anyway, I tried to get hibernation aka suspend to disk to work using this tutorial:
http://www.ubuntu-eee.com/wiki/index.php5?title=Fix:_hibernate
Everything seemed to work. s2disk caused the notebook to hibernate (as long as i didn’t insert/remove a card), but the wakeup ended in a ordinary boot, without resuming the written image. After hours, I got it work. Just do exactly the same, as it’s described in the tutorial, except for one step.
When you’re asked to change the /etc/uswsusp.conf, don’t use any device names in it. Do it, as Ubuntu did it during the installation: Use UUID’s.
To get to know the UUID of the internal SSD, we have to find out, how it’s labeled:
mount
This will return something like this:
/dev/sdb1 on / type ext3 (rw,noatime,errors=remount-ro)
proc on /pro....
Now, we know our SSD is /dev/sdXX (sdb1 in my case), because it’s mounted to /. In the next step, we’ll get to know the UUID:
sudo vol_id /dev/sdXX |grep UUID=
This will return the UUID. In my case:
ID_FS_UUID=16fa07c8-8416-5f10-85c6-a8410fad510
And now we’ll use this UUID instead of the device name in /etc/uswsusp.conf:
# /etc/uswsusp.conf(8) -- Configuration file for s2disk/s2both
resume device = /dev/disk/by-uuid/16fa07c8-8416-5f10-85c6-a8410fad510
compress = y
early writeout = y
image size = 0
RSA key file = /etc/uswsusp.key
shutdown method = platform
resume offset = XXX
If you’ve found this site after you already tried the tutorial mentioned above, then just do the changes and run this at the end:
sudo update-initramfs -k `uname -r` -u
Otherwise hibernate will create the image but it won’t be booted.
And now, for me, it works *woohoo*
I hope this will help
