[ltp] T21 hibernation - Partial Success
Bret Comstock Waldow
linux-thinkpad@www.bm-soft.com
Wed, 17 Jul 2002 12:55:20 +1200
I say partial as there are subsystems to work out yet, but the basic
hibernation works fine.
Here's what I did, and what happens:
My partition table (with notes to the right):
Disk /dev/hda: 240 heads, 63 sectors, 2584 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 431 3258328+ b Win95 FAT32 <= Windows 2k
/dev/hda2 * 432 577 1103760 1b Hidden Win95 FAT32 <= Windows 98
/dev/hda3 578 2584 15172920 f Win95 Ext'd (LBA)
/dev/hda5 578 1254 5118088+ 83 Linux <= /
/dev/hda6 1255 1324 529168+ 82 Linux swap
/dev/hda7 1325 1469 1096168+ 83 Linux <= /home
/dev/hda8 1470 2584 8429368+ b Win95 FAT32 <= shared windows data partition
At first, I went into W$k, and turned off hibernation support with the
Thinkpad Configuration utility. This removed the hiberfil.sys file from
C:\, presumably freeing up disk space. I set /dev/hda1 visible and
bootable. I booted with the stndalhd diskette, and it informed me there
wasn't sufficient space for a hibernate file.
I defragmented C:\ in W$k, and received the same message. I considered
using PartitionMagic to increase the size of the C:\ partition
(/dev/hda1) to be certain that there was sufficient contiguous space for
the hibernate file, but I first tried Fn+F12 in W$k. Remember, this is
after switching off hibernate support. W$k hibernated - recreating it's
own version of the hibernate file (hiberfil.sys) and ignoring the one
created by stndalhd (sav2dsk.bin). So, it was obvious I wasn't going to
get W$k to use the common hibernation file - it's programmed to use it's
own system. A shame, as I have 512M RAM, and that's a Gig total
dedicated to hibernation.
I used PartitionMagic to increase the Windows 98 partition (/dev/hda2)
into the space vacated by deleting the /dev/hda4 Thinkpad Hibernation
partition, since it wasn't going to be used. The new space was
contiguous therefore, and stndalhd wrote a hibernation file with no drama.
Linux uses the new hibernation file. I've tried Fn+F12 twice, once from
my user KDE desktop, and it works in both instances, with a full battery
AND with the AC plugged in. (I removed the battery while hibernated,
and pulled the AC, to check it's not some automatic fallover to suspend,
and it's hibernating all right - it recovers after power is restored.)
The network does not survive the cycle, and I haven't investigated about
PCMCIA or sound yet - I'll get to those.
I also haven't tried hibernating the Windows 98 install yet. I'll get
to that in a bit.
Further bulletins as events warrant .... 8-)
Bret
T21 2647-8AU
Coppermine PIII 800
SuSE 7.3 Pro with custom 2.4.16 kernel (based on "SuSE Certified" 2.4.16)
Partitions as listed above. Note that LILO flips hda1 and hda2 visible
and invisible so they don't conflict with each other when each is
booted. The bootable flag maybe significant, but I don't believe the
visibility is relevant, except when creating the hibernation file.
General & APM settings in my custom kernel (edited - items not set
should be assumed off and I'm still experimenting with this):
CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y
# Code maturity level options
CONFIG_EXPERIMENTAL=y
# Loadable module support
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
# Processor type and features
CONFIG_MPENTIUMIII=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_MICROCODE=m
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_HIGHMEM4G=y
CONFIG_HIGHMEM=y
CONFIG_HIGHIO=y
CONFIG_MTRR=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_LOCAL_APIC=y
# General setup
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_EISA=y
CONFIG_HOTPLUG=y
# PCMCIA/CardBus support
CONFIG_PCMCIA=m
CONFIG_CARDBUS=y
CONFIG_I82092=y
CONFIG_I82365=y
CONFIG_TCIC=y
# PCI Hotplug Support
CONFIG_HOTPLUG_PCI=m
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_PM=y
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
# CONFIG_APM_CPU_IDLE is not set
CONFIG_APM_DISPLAY_BLANK=y
# CONFIG_APM_RTC_IS_GMT is not set
CONFIG_APM_ALLOW_INTS=y
# CONFIG_SISBUG is not set
----- The Linux ThinkPad mailing list -----
The linux-thinkpad mailing list home page is at:
http://www.bm-soft.com/~bm/tp_mailing.html