[ltp] Re: T30 Hibernate help needed!!
Hector Socas Navarro
linux-thinkpad@linux-thinkpad.org
Thu, 04 Sep 2003 10:52:55 -0600
Ok, I'm almost there. I hope with a little bit more help I can get this
thing working.
I'm trying two different approaches in parallel: the BIOS hardware
hibernation and the software suspend swsusp. In both cases, I come to a
point where I can suspend but then the system freezes after restoring.
Here's the details:
1) BIOS suspend-to-disk feature: I'm using the windows xp recovery
partition /dev/hda2 for the suspend. I don't have any critical data in
the windows partitions so I don't see a need for it. I changed the
partition type with fdisk and ran mkdosfs on it. I created the
save2dsk.bin file in this partition using the tphdisk.c utility. This
didn't work before on my /dev/hda8 partition, which I created
specifically for this purpose. I still don't know the reason but I
suspect you need a primary partition (which hda2 is), and not a logical
one (like hda8) for hibernation. So, this is what my partition table
looks like right now:
Command (m for help): p
Disk /dev/hda: 240 heads, 63 sectors, 7752 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1428 10795648+ 7 HPFS/NTFS
/dev/hda2 7525 7752 1723680 6 FAT16
/dev/hda3 1429 7524 46085760 f Win95 Ext'd (LBA)
/dev/hda5 1429 3525 15853288+ c Win95 FAT32 (LBA)
/dev/hda6 3734 7320 27117688+ 83 Linux
/dev/hda7 7321 7524 1542208+ 82 Linux swap
/dev/hda8 3526 3733 1572448+ 6 FAT16
Setting the hda2 type to 6 or 16 doesn't seem to make any difference.
Also, I don't seem to need the hibernation partition mounted.
Ok, so here's the problem. If I set the machine to hibernate (with
Fn+F12) while in X mode, I get the progress screen with the three bars
and the system shuts down upon completion. Now when I turn it back on,
it restores the saved state but when the screen comes up it is slightly
corrupted at the top of the display and the computer is frozen. Trying
to switch to text mode (Ctl+Alt+F1 - F6) doesn't work. I have to do a
hard reboot. If I first switch to text mode and then hibernate, the
system is restored back to the text screen and it seems to be working
just fine. However, when I switch back to graphics mode (Ctl+Alt+F7),
again the top few lines of the screen are corrupted and the computer
freezes.
Any ideas on why this corruption happens? I tried increasing the size of
the save2dsk.bin file (tphdisk 1600 > save2dsk.bin) with the same result
(I have 1Gb memory).
Thanks!
2) swsusp:
I couldn't patch properly my old 2.4.20-19.7 or the new 2.4.22 kernel
versions, but as the doc say the current swsusp is targeted for 2.4.21
so I downloaded 2.4.21 and compiled it. Patching went fine (I only
applied the swsusp patch, none of the others) but while building the
kernel it complained about some SCSI driver. I knew SCSI is not
supported by swsusp, so I went to the .config file and commented out
each and every line with the SCSI string in it (there's quite a few of
them, by the way). After doing this I could build the patched kernel and
the modules with no problem.
When I boot to this kernel, I can use shutdown+z or the hibernate script
provided with swsusp. Both commands seem to put the system into
hibernation just fine. Then when I restore my machine, whether I was in
text or graphics mode, my screen is completely corrupted (not just the
top few lines as in the previous case) and the computer is frozen.
Any suggestions?
Thanks to all for your help getting me this far.
Hector
--
Hector Socas-Navarro
High Altitude Observatory
3450 Mitchell Lane, Boulder CO 80307-3000 (USA)
Phone: 303 497 1543, Fax: 303 497 1589, E-mail: navarro@hao.ucar.edu