Difference between revisions of "How to protect the harddisk through APS"
(mainline support) |
(Updated source urls a bit) |
||
Line 13: | Line 13: | ||
* The <tt>hdaps_protect</tt> disk protection kernel patch, which exports a sysfs interface that enables an ide or sata disk to be protected by a userspace process. You should get the patch appropriate to your kernel version from [http://news.gmane.org/group/gmane.linux.drivers.hdaps.devel/last=/force_load=t gmane.linux.drivers.hdaps.devel]. | * The <tt>hdaps_protect</tt> disk protection kernel patch, which exports a sysfs interface that enables an ide or sata disk to be protected by a userspace process. You should get the patch appropriate to your kernel version from [http://news.gmane.org/group/gmane.linux.drivers.hdaps.devel/last=/force_load=t gmane.linux.drivers.hdaps.devel]. | ||
** '''NOTE''': Starting with kernel 2.6.28 a generic disc protection feature is built into the libata driver | ** '''NOTE''': Starting with kernel 2.6.28 a generic disc protection feature is built into the libata driver | ||
− | * The [http:// | + | * The [http://sourceforge.net/projects/hdaps/ <tt>hdapsd</tt>] disk protection userspace daemon. It monitors the acceleration values through the HDAPS interface and automatically initiates disk protection through the hdaps_protect interface - given that the movement exceeds a user specified threshold. |
− | * Optional: the [http://roy.marples.name/ | + | * Optional: the [http://roy.marples.name/projects/khdaps/wiki <tt>khdapsmonitor KDE System Tray applet</tt>] or the [http://www.dresco.co.uk/hdaps/ <tt>gnome-hdaps-applet</tt>]. These applets provide a visual indication of the disk protection status and also a graphical interface for adjusting configuration options for <tt>hdapsd</tt>. |
|} | |} | ||
Revision as of 19:54, 23 July 2009
This page tells you how to make the Active Protection System work under Linux to protect your harddrive from damage in case of a notebook drop or other kind of impact while it is running. Specific instructions for Fedora can be found here. For Debian (Etch) have a look at this. How APS works in LinuxAPS in Linux consists of four components on the software side:
|
Installation
As mentioned above, the hdaps kernel driver found in recent kernels is only responsible for reading the accelerometer data and exporting it through the sysfs interface.
In order to use this information to protect the disk, some additional steps are required.
- Download and build the latest hdaps_protect disk protection kernel patches.
- Enable the drivers in the kernel (requires kernel rebuild).
- Download, build and configure the hdapsd userspace daemon.
- Download and build one of the applets to get a real-time representation of the disk protection status.
Getting the files
Latest Sources | |
---|---|
Slackware |
|
Debian |
|
Fedora | see instructions here
|
Gentoo |
Adding kernel support
A kernel patch is required for disk head parking and queue freezing.
Manually patching and compiling a kernel
As root, do:
# cd /usr/src/linux
# patch -p1 < ~/hdaps_protect.20060409.patch
# make clean
# make
# make modules_install
Zen-Sources patched kernel
Another way to achieve this is using zen-sources kernel. It has hdaps patches applied. Additional it supports many other IBM futures like tp_smapi and newest thinkpad_acpi.
Download page for this kind of kernel is http://zen-sources.org/
After downloading a kernel image unpack it to /usr/src/linux with
# tar jxf zen-sources-2.6-version-zen0.tar.bz2
Installation is similar to previous one.
As root, do:
# make oldconfig
# make clean
# make
# make modules_install
make oldconfig command will ask you for some information. It's required to tap m or y on "HDAPS" functionality, and on some other things connected with Thinkpad.
Installing hdapsd
Manual compilation from source
- Download the hdapsd sources (see above)
- Compile using
# gcc -o hdapsd hdapsd-*.c
- Run
# ./hdapsd -d sda -s 12 -a
(replace sda with your hard disk device; run# ./hdapsd
without arguments for help)
Gentoo
Gentoo users can try the ebuild attached to gentoo bug 166166.
- Add hdapsd support in your kernel: device drivers -> hardware monitoring -> ... (you need it as a module if you want to use tp_smapi and hdaps, see Tp_smapi)
- Download the ebuild, use same ebuild date as the kernel-patch.
- Make known the portage an extern ebuild path and add the following line to /etc/make.conf:
PORTDIR_OVERLAY="/usr/local/portage/" (or any other location)
- Create directory /usr/local/portage and /usr/local/portage/app-laptop/
- Copy the downloaded ebuild to /usr/local/portage/app-laptop (/usr/local/portage/app-laptop/hdapsd should now exists)
- Make portage known the new ebuild and creat digist with:
# ebuild /usr/local/portage/app-laptop/hdapsd/hdapsd-20060326.ebuild digest
- Optional: Copy source file to portage distfiles (if no internet connection is available):
# cp hdapsd-20060326.c /usr/portage/distfiles
- Accept the x86 keyword for this package:
# echo "app-laptop/hdapsd ~x86" >> /etc/portage/package.keywords
- Install hdapsd with:
# emerge hdapsd
. - Edit /etc/conf.d/hdapsd (change your harddrive if neccessary: mine is sda, and change the value from 5, 5 is to sensitive, 12 is a good value in my opinion).
- start deamon with:
# /etc/init.d/hdapsd start
- Optional: add to default runlevel:
# rc-update add hdapsd default, rc-update add hdapsd battery
Write an eMail to abartel[äd]htwm.de, if you want to get my hdapsd-20060326.ebuild and please upload it.
Ubuntu
hdapsd is available via synaptic for Hardy Heron.
Building an applet
hdaps-gl
- Make sure you have installed hdaps [and loaded] and ?opengl?
- Download hdaps-gl-0.0.5 from the web.
- Extract files to /opt/hdaps-gl.
# make
- Start the applet:
# ./hdaps-gl
Troubleshooting
See the Problem with APS harddisk parking page for troubleshooting APS issues.
Further Information
- Additonal information and support is available through the hdaps-devel mailinglist and its archive.