Update: The expected battery life is heavily affected by the CPU speed (so frequence scaling works wonders) and display brightness. It seems that I can get close to four hours out of one battery with a dim screen and slow CPU.
I used rc3 of the sarge installer. Initially I tried to use the 2.6-kernel but that one could not see the internal SATA hard drive so I reverted back to the 2.4 kernel. Using that the installation went without any problems.
The root disk is a SATA disk and thus the 2.6-kernel designates it as
sda instead of hda which 2.4 uses. So the first thing one must do is
to change /boot/grub/device.map
to read:
(hd0) /dev/sdaThen change the kopt settings in
/boot/grub/menu.lst
to
read (/dev/sda5 is my swap partition):
# kopt=root=/dev/sda3 ro resume2=/dev/sda5 # kopt_2_4_27=root=/dev/hda3 ro
Currently I am running a custom built 2.6.15.1 kernel. The main reason for this is that I am using software suspend 2 to handle suspend/resume. See blow for details about setting up software suspend.
I downloaded my kernel source directly from kernel.org. Support for CD-ROM devices on
a SATA bus is still experimental so I had to manually got in and edit
the code. More exactly I had to edit
drivers/scsi/libata-core.c
and change line 81 from
int atapi_enabled = 0;to
int atapi_enabled = 1;
Interested persons can view my entire .config for 2.6.15.1.
/etc/modules
cpufreq_userspace speedstep_centrinoThen I just installed powernowd.
I am using software-suspend2 from http://www.suspend2.net/. This involves patching the kernel. I am now using version 2.2 of software suspend. I had to perform a number of steps to get this to work, the following is my recollection of them:
/boot/grub/menu.lst
to reference my swap
partition as the resume device.
# kopt=root=/dev/sda3 ro resume2=/dev/sda5
mkinitrd
to build the initial
ramdisk. This initial ramdisk must be modified to request resume. To
do this I placed the following script in
/etc/mkinitrd/scripts/suspend2
.
hibernate
package (it is available via
atp-get). I had to edit /etc/hibernate/hibernate.conf
.
My hibernate.conf file is available. Note
that I installed my suspend2ui program in
/usr/local/sbin/suspend2ui_text
. Adjust the configuration
file to reflect your location.
/etc/acpi/events/sleepbtn
with the followign contents:
event=button[ /]sleep action=/usr/local/sbin/hibernateThe irony is that the keyboard has a "Hibernate" button but ACPI does not see it so I had to bind hibernation to the "Stand by" button instead.
When ordering the system I had a choice between three different integrated wireless cards. I chose the Intel Pro wireless 2200 since it has open source drivers (which require some priopietary firmware:-(). The driver can be found at http://ipw2200.sourceforge.net/.
But of course I had to hit a problem here as well. It turns out that the fglrx kernel module does not work properly after a hibernation. Removing it solves the problem but also disables 3D-acceleration. So the choice is between 3D acceleration and hibernation.
/etc/X11/xorg.conf
(Xorg)
/etc/X11/XF86Config-4
(XFree86)
/etc/hibernate/hibernate.conf
/etc/mkinitrd/scripts/suspend2