![]() |
VOOZH | about |
TuxOnIce (formerly "Software Suspend 2")TuxOnIce, formerly called as "Software Suspend 2", "suspend2" or "swsusp2", 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, TuxOnIce has some unique features:
It also have the following advantages over swsusp (these features are also provided, in principle, by the not-yet-stable uswsusp):
Since it is implemented purely in software, TuxOnIce is in principle machine-independent and should work on all modern ThinkPad models. However, in some cases problematic drivers need to be unloaded before suspension. This is handled by the script (see below).
| Thinkpad Model | Type | Operating System | Kernel Version | Suspend2 Version | Success | Note |
|---|---|---|---|---|---|---|
| 240 | 2609-21G | Zenwalk 4.2 | 2.6.18.6 | 2.2.9 | Yes | |
| 390X | VectorLinux 5.8 | 2.6.23.1 | svn | Yes | ||
| T60p | 2.6.18.1 | 2.2.9 | Yes | Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf, SATA mode set to compatibility in BIOS and the DMA fix from Problems with SATA and Linux | ||
| T60 | 2007-77G | 2.6.17.14 | 2.2.7.4 | Yes | Requires "ProcSetting extra_pages_allowance 7500" in hibernate.conf | |
| T42 | Yes | Might require "ProcSetting full_pageset2 1" in hibernate.conf. Fixed in 2.2.9.3 | ||||
| T43 | Yes | |||||
| T21 | Yes | need to unload the sound module () on suspend. May want to enable UseDummyXServer if running X | ||||
| T21 | 2647-4BG | Ubuntu 6.10 Edgy Eft | 2.6.17.10 | 2.2.7.6 | Yes | I used experimental Trevino's kernel packages |
| X41 Tablet | Fedore Core 4 | Yes | requires SATA resume patch and the SATA drivers compiled as built-in or in initrd (see Problems with SATA and Linux) and a fix (see Installing Fedora Core 4 on a ThinkPad X41 Tablet) | |||
| X22 | Ubuntu Breezy | Yes | see Installing Ubuntu (Breezy) on a ThinkPad X22 | |||
| G41 | Yes | see Installing Debian on a ThinkPad G41 | ||||
| R51 | 1829 | 2.6.19.1-suspend2-2.2.9 | Yes | |||
| R51e | 2.6.16-suspend2-r8 | Yes | Requires "ProcSetting extra_pages_allowance 8000" in hibernate.conf | |||
| R52 | 2.6.17.1 | 2.2.7 | Yes | FC5 with kernel 2.6.17-1.2145_1.rhfc5.cubbi_suspend2 | ||
| T23 | 2647-9KU | Debian Etch | 2.6.17.4 | 2.2.7 | Yes | |
| X60s | 1702-55G | Arch Linux | 2.6.17.13 | 2.2.8 | Yes | I use the beyond patchset |
| X60s | 1702-E8G | Gentoo GNU/Linux | 2.6.20.1 | 2.2.9 | Yes | gentoo-sources-2.6.20-r8 with swsusp2 2.2.9 and some other patches. Suspend to disk worked ootb (also I tried 2.6.16 / swsusp2 2.2.5 and 2.6.19 / swsusp 2.2.9), but suspend to ram does not (a resume from hibernate-ram results in a fucked up X - console works). Workaround: Use acpi for suspend to ram: echo mem > /sys/power/state |
| X61s | 7669-27G | Gentoo GNU/Linux | 2.6.24 | Yes | 2.6.24-tuxonice-r3. Suspend to disk worked ootb. | |
| Z61m | 9452-CTO | Kubuntu Edgy | 2.6.17.10-generic | 2.2.9 from experimental repository from http://3v1n0.tuxfamily.org/dists/edgy/suspend2/ | Yes | I have blacklisted these modules: tg3, tp_smapi, hdaps, uhci_hcd (fingerprintreader would not go into suspend), sdhci. More options in the hibernate scripts are "IbmAcpi" and "ProcSetting extra_pages_allowance 15000". SATA mode set to compatibility in BIOS |
The project home page has a detailed HOWTO and FAQ. The following are just a few highlights.
If your systems uses an file (most do), you'll need to patch or replace your -creation script.
echo "echo Mounted /proc filesystem" >> $RCFILE
and add the following immediately afterwards:
echo "echo > /sys/power/suspend2/do_resume" >>$RCFILE
if [ -z "$noresume" -a -n "$swsuspdev" ]; then
and add the following immediately before the above:
emit "echo 1 > /sys/power/suspend2/do_resume"
You can also use the mkinitrd-suspend2 package from atrpms.
In any case, make sure you regenerate your file by reinstalling the kernel package or explicitly with mkinitrd or mkinitramfs commands.
TuxOnIce works best with the script (available from the project home page), which takes care of auxiliary tasks needed on many systems (e.g., unloading problematic modules and restoring video modes).
To avoid pages being resaved during suspend use kernel 2.6.19.2 and suspend2 2.2.9.1 (not stable yet) OR add the following to
ProcSetting full_pageset2 1
The hibernate functionality on some ThinkPad BIOSes offers the useful "RediSafe" feature, which suspends to both RAM and disk. This way you get quick resumes (directly from RAM), plus the safey of suspend-to-disk in case the battery runs out.
TuxOnIce provides this feature too; simply add the following to :
PowerdownMethod 3
Certain usage scenarios can cause filesystem corruption with suspend2. Some details on this are in the project's HOWTO. None of the workaround configurations fix the problem satisfactorily, so be warned. In particular, with an ext3 root filesystem, if you suspend to swap partition, and then use sysrescCD/Knoppix/some other way to mount the root filesystem read-only, you risk data corruption when you try to resume from the suspended image.
As far as possible, after suspending the system, don't touch the root filesystem unless you are resuming from it :)
Also see Problems with ACPI suspend-to-ram
If the resume process hangs after "Extended CMOS year: 2000" with the boot option no_suspend_console, you my try to enable hpet with hpet=force