TuxOnIce
Contents
General
Software Suspend 2, also called "swsusp2" and "suspend2", is an implementation of suspend-to-disk functionality in the form of a Linux kernel patch and several userspace utilities. It is an alternative to both the BIOS-driven hibernation feature found on most ThinkPad models, and the swsusp "software suspend" functionality built into recent Linux kernels.
Compared to the alternatives, Software Suspend 2 has some unique features:
- The ability to compress the memory image as it is written to disk, thereby reducing suspend and resume times.
- Saving the memory image into the swap partition or a file on a normal filesystem, instead of a dedicated partition
- Cancelling a suspend in progress
- Control over amount of RAM written to disk -- can (optionally) discard cached disk blocks to reduce suspend and resume times
- Textual and graphical UI (optional)
- Improved reliability under some circumstances -- if the alternatives don't work, try this one!
Since it is implemented purely in software, Software Suspend 2 is in principle machine-independent and should work on all modern ThinkPad models. However, in some cases problematic driver need to be unloaded before suspension.
Model-specific Status
- ThinkPad T43: works; requires SATA resume patch and the SATA drivers compiled as built-in or in initrd (see Problems with SATA and Linux)
- ThinkPad T21: works; need to unload the sound module (snd-cs46xx) on suspend. May want to enable UseDummyXServer if running X.
- ThinkPad X41 Tablet: works; requires SATA resume patch and the SATA drivers compiled as built-in or in initrd (see Problems with SATA and Linux) and a hibernate.conf fix (see Installing Fedora Core 4 on a ThinkPad X41 Tablet)
- ThinkPad X22: works (see Installing Ubuntu (Breezy) on a ThinkPad X22)
- ThinkPad G41: works (see Installing Debian on a ThinkPad G41)
Installation Instructions
The project home page has a detailed HOWTO and FAQ. The following are just a few highlights.
Patching mkinitrd
If your systems uses an initrd file (most do), you'll need to patch or replace your initrd-creation script.
- Fedora: in /sbin/mkinitrd, find this line:
echo "echo Mounted /proc filesystem" >> $RCFILE
and add the following immediately afterwards:
echo "echo > /proc/suspend2/do_resume" >>$RCFILE
- Debian: copy swsusp-initrd.sh script to your /etc/mkinitrd/scripts directory before creating initrd image.
Make sure you (re)install your kernel after patching mkinitrd.
Hibernate script
Software Suspend 2 works best with a hibernate script, which takes care of auxiliary tasks needed on many systems (e.g., unloading problematic modules and restoring video modes).
Availability:
- Gentoo: emerge hibernate-script
- Fedora: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/
- Other: check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://www.suspend2.net