Linux and ACPI on an IBM Thinkpad X40
Most Thinkpads work surprisingly well with ACPI under Linux. In
order to get an X40 to behave itself, do the following:
-
Go to http://bugzilla.kernel.org/show_bug.cgi?id=2643
and get the "Proposed patch" and "Use ACPI_NOT_ISR"
patches. Apply these to a 2.6.7 kernel.
-
Build a kernel without CONFIG_X86_UP_APIC,
without any framebuffer support and with
CONFIG_ACPI_BUTTON built as a module.
-
Configure your boot loader so acpi_sleep=s3_bios is
passed to the kernel.
-
Set up a script in /etc/acpi to rmmod button, rmmod any other
devices that don't deal with suspend/resume, echo -n 3
>/proc/acpi/sleep and then modprobe anything that was removed.
-
Ensure that this is run whenever the sleep button is pressed.
-
Marvel as it (usually) suspends when you press the sleep
button and resumes when you press the power button.
My X40 seems to lose about 5% of charge for every 8 hours or so
it's in S3 sleep. This seems fairly reasonable.
Matthew Garrett
Last modified: Sat Jul 24 11:48:03 BST 2004