Installing Debian Etch on a ThinkPad Z60m
Active Protection System
Preparing the kernel
To get the headdisk-parking working you have to build your own kernel with the hdaps_protect-patch applied:
Install the prerequisites that we need to compile the new kernel:
# apt-get install kernel-package ncurses-dev fakeroot wget bzip2
Get the recent debian-etch-kernel (2.6.18):
# apt-get install linux-tree-2.6.18
Go to the sources and unpack them:
# cd /usr/src
# tar jxvf linux-source-2.6.18.tar.bz2
As etchs kernel is 2.6.18-4 its propably a good idea to get the hdaps_protect patch for 2.6.18-3:
# wget http://www.dresco.co.uk/hdaps/hdaps_protect-2.6.18.3-2.patch
Apply the patch:
# cd linux-source-2.6.18/
# patch -p1 < ../hdaps_protect-2.6.18.3-2.patch
Copy the default-config to the sourcetree:
# cp /boot/config-2.6.18-4-486 ./.config
Build the kernel & packages:
# make-kpkg clean
# {{{1}}}
Install the new kernel. Grub-menu should be updated automatically.
# dpkg -i linux-image-2.6.18_thinkpad.1.0_i386.deb
Reboot and select the new kernel. Verify with 'uname -a'. If all things work you can set the new kernel default in /boot/grub/menu.lst with default $entry-number (0..1..2..)
Preparing userspace
Installing the daemon:
# apt-get install hdapsd
To set your harddrive, edit /etc/default/hdapsd:
# start hdapsd at boottime? START=yes # # the name of the disk device that hdapsd should monitor. # # usually this is 'hda' the primary master or 'sda' # on SATA ThinkPads. DISK=sda # # other options to pass to hdapsd. # the -d and -b options are always passed. OPTIONS=
Restart hdapsd:
# /etc/init.d/hdapsd restart
You should get something like that in /var/log/syslog when throwing your thinkpad off the table: (No, seriously, shaking it carefully should be sufficient :-) )
Mar 20 12:25:37 localhost kernel: ata_scsi_issue_protect_fn(): unload support reported by drive.. Mar 20 12:25:37 localhost kernel: scsi_protect_queue(): head parked.. Mar 20 12:25:38 localhost kernel: scsi_unprotect_queue(): No pending I/O, re-enabling power management.. Mar 20 12:25:38 localhost hdapsd[12522]: Tue Mar 20 12:25:38 2007: un-parking