Installing Debian Etch on a ThinkPad Z60m
Contents
Special Keys
For the powermanagement-keys (Fn + F4, ...) install acpi-support:
# apt-get install acpi-support
For Fn - Arrow-keys I have customized my ~/.xmodmap:
keycode 164 = XF86AudioStop keycode 162 = XF86AudioPlay keycode 153 = XF86AudioNext keycode 144 = XF86AudioPrev keycode 234 = F19 keycode 233 = F20
For using the Back/Forward-keys in Firefox go on here.
Wireless Networking
The module for this chip is in kernel mainline (ipw2200). The only showstopper is the missing firmware.
Get it here: firmware v3.0
Extract it:
# tar zxvf ipw2200-fw-3.0.tgz
Move the *.fw files to /lib/firmware/
# mv *.fw /lib/firmware/
Reload the module:
# rmmod ipw2200 && modprobe ipw2200
CPU Throttling
Load the kernelmodule:
# modprobe speedstep_centrino or p4-clockmod
Add line "speedstep_centrino" to /etc/modules to load the module on boot.
Install the throttling-daemon:
# apt-get install powernowd
Done.
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
# fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image
Install the new kernel. Grub-menu should be updated automatically.
# cd ..
# 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:: un-parking
Fingerprint-Reader
Install userspace-tools
I got the fingerprint reader working with the new ThinkFinger-drivers (opensource). They are working much better than the closed-source UPEK drivers and don't have this ugly QT-dialog.
Get some debian-packages from here and install them with:
# dpkg -i *.deb
Enroll your fingers
Enroll your fingers with:
# tf-tool --add-user <login>
# tf-tool --add-user name ThinkFinger 0.2.2 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done. Storing data (/etc/pam_thinkfinger/name.bir)... done.
Configuring PAM to use ThinkFinger
Now you can configure pam to use ThinkFinger:
Open /etc/pam.d/common-auth:
# /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth sufficient pam_thinkfinger.so auth required pam_unix.so try_first_pass
Ready! Works flawlessly with gdm for instance! Enroll user 'root' to use your fingerprint for 'sudo'.
System Information
uname -a
Linux phooka 2.6.18 #1 PREEMPT Thu Apr 5 13:09:55 CEST 2007 i686 GNU/Linux
lspci
00:00.0 Host bridge [0600]: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller [8086:2590] (rev 03) Subsystem: IBM Unknown device [1014:0575] Flags: bus master, fast devsel, latency 0 Capabilities: [e0] Vendor Specific Information 00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller [8086:2592] (rev 03) (prog-if 00 [VGA]) Subsystem: IBM Unknown device [1014:058c] Flags: bus master, fast devsel, latency 0, IRQ 11 Memory at a (32-bit, non-prefetchable) [size=512K] I/O ports at 1800 [size=8] Memory at c (32-bit, prefetchable) [size=256M] Memory at a (32-bit, non-prefetchable) [size=256K] Capabilities: [d0] Power Management version 2 00:02.1 Display controller [0380]: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller [8086:2792] (rev 03) Subsystem: IBM Unknown device [1014:058c] Flags: fast devsel Memory at (32-bit, non-prefetchable) [disabled] [size=512K] Capabilities: [d0] Power Management version 2 00:1b.0 Audio device [0403]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller [8086:2668] (rev 03) Subsystem: IBM Unknown device [1014:05b7] Flags: bus master, fast devsel, latency 0, IRQ 11 Memory at a (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Capabilities: [70] Express Unknown type IRQ 0 Capabilities: [100] Virtual Channel Capabilities: [130] Unknown (5) 00:1c.0 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 [8086:2660] (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 Memory behind bridge: a-a01fffff Capabilities: [40] Express Root Port (Slot+) IRQ 0 Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable- Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8] Capabilities: [a0] Power Management version 2 Capabilities: [100] Virtual Channel Capabilities: [180] Unknown (5) 00:1c.1 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 [8086:2662] (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=03, subordinate=0a, sec-latency=0 I/O behind bridge: -00003fff Memory behind bridge: a-a3ffffff Prefetchable memory behind bridge: 00000000d-00000000d00fffff Capabilities: [40] Express Root Port (Slot+) IRQ 0 Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable- Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8] Capabilities: [a0] Power Management version 2 Capabilities: [100] Virtual Channel Capabilities: [180] Unknown (5) 00:1c.2 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 [8086:2664] (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=0b, subordinate=12, sec-latency=0 I/O behind bridge: -00005fff Memory behind bridge: a-a5ffffff Prefetchable memory behind bridge: 00000000b-00000000b01fffff Capabilities: [40] Express Root Port (Slot+) IRQ 0 Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable- Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8] Capabilities: [a0] Power Management version 2 Capabilities: [100] Virtual Channel Capabilities: [180] Unknown (5) 00:1c.3 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 [8086:2666] (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=13, subordinate=13, sec-latency=0 I/O behind bridge: -00007fff Memory behind bridge: a-a7ffffff Prefetchable memory behind bridge: 00000000d-00000000d01fffff Capabilities: [40] Express Root Port (Slot+) IRQ 0 Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable- Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8] Capabilities: [a0] Power Management version 2 Capabilities: [100] Virtual Channel Capabilities: [180] Unknown (5) 00:1d.0 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 [8086:2658] (rev 03) (prog-if 00 [UHCI]) Subsystem: IBM Unknown device [1014:0565] Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 1820 [size=32] 00:1d.1 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 [8086:2659] (rev 03) (prog-if 00 [UHCI]) Subsystem: IBM Unknown device [1014:0565] Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 1840 [size=32] 00:1d.2 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 [8086:265a] (rev 03) (prog-if 00 [UHCI]) Subsystem: IBM Unknown device [1014:0565] Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 1860 [size=32] 00:1d.3 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 [8086:265b] (rev 03) (prog-if 00 [UHCI]) Subsystem: IBM Unknown device [1014:0565] Flags: bus master, medium devsel, latency 0, IRQ 11 I/O ports at 1880 [size=32] 00:1d.7 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller [8086:265c] (rev 03) (prog-if 20 [EHCI]) Subsystem: IBM Unknown device [1014:0566] Flags: bus master, medium devsel, latency 0, IRQ 11 Memory at a (32-bit, non-prefetchable) [size=1K] Capabilities: [50] Power Management version 2 Capabilities: [58] Debug port 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev d3) (prog-if 01 [Subtractive decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=14, subordinate=17, sec-latency=64 I/O behind bridge: -0000bfff Memory behind bridge: a-b00fffff Prefetchable memory behind bridge: 00000000d-00000000dfffffff Capabilities: [50] Subsystem: Gammagraphx, Inc. Unknown device [0000:0000] 00:1f.0 ISA bridge [0601]: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge [8086:2641] (rev 03) Subsystem: IBM Unknown device [1014:0568] Flags: bus master, medium devsel, latency 0 00:1f.2 IDE interface [0101]: Intel Corporation 82801FBM (ICH6M) SATA Controller [8086:2653] (rev 03) (prog-if 80 [Master]) Subsystem: IBM Unknown device [1014:056a] Flags: bus master, 66MHz, medium devsel, latency 0 I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at 1810 [size=16] Capabilities: [70] Power Management version 2 00:1f.3 SMBus [0c05]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller [8086:266a] (rev 03) Subsystem: IBM Unknown device [1014:056b] Flags: medium devsel, IRQ 11 I/O ports at 18a0 [size=32] 02:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express [14e4:167d] (rev 11) Subsystem: IBM Unknown device [1014:0577] Flags: bus master, fast devsel, latency 0, IRQ 11 Memory at a (64-bit, non-prefetchable) [size=64K] Capabilities: [48] Power Management version 2 Capabilities: [50] Vital Product Data Capabilities: [58] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3 Enable- Capabilities: [d0] Express Endpoint IRQ 0 Capabilities: [100] Advanced Error Reporting Capabilities: [13c] Virtual Channel 14:00.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev b3) Subsystem: IBM Unknown device [1014:056c] Flags: bus master, medium devsel, latency 64, IRQ 11 Memory at b (32-bit, non-prefetchable) [size=4K] Bus: primary=14, secondary=15, subordinate=16, sec-latency=176 Memory window 0: d-d9fff000 (prefetchable) Memory window 1: a-a9fff000 (prefetchable) I/O window 0: -000080ff I/O window 1: -000084ff 16-bit legacy interface ports at 0001 14:00.1 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C552 IEEE 1394 Controller [1180:0552] (rev 08) (prog-if 10 [OHCI]) Subsystem: IBM ThinkPad A/T/X Series [1014:0511] Flags: bus master, medium devsel, latency 64, IRQ 11 Memory at b (32-bit, non-prefetchable) [size=2K] Capabilities: [dc] Power Management version 2 14:00.2 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 17) Subsystem: IBM Thinkpad Z60m [1014:0598] Flags: bus master, medium devsel, latency 64, IRQ 11 Memory at b (32-bit, non-prefetchable) [size=256] Capabilities: [80] Power Management version 2 14:00.3 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 08) Subsystem: IBM Unknown device [1014:0596] Flags: medium devsel, IRQ 11 Memory at b0001c00 (32-bit, non-prefetchable) [size=256] Capabilities: [80] Power Management version 2 14:02.0 Network controller [0280]: Intel Corporation PRO/Wireless 2915ABG Network Connection [8086:4224] (rev 05) Subsystem: Intel Corporation Unknown device [8086:1011] Flags: bus master, medium devsel, latency 64, IRQ 11 Memory at b (32-bit, non-prefetchable) [size=4K] Capabilities: [dc] Power Management version 2
lsmod
Module Size Used by wacom 15168 0 i915 17344 2 drm 61140 3 i915 binfmt_misc 10568 1 ipv6 10 ieee80211_crypt_ccmp 6784 3 cpufreq_ondemand 5744 0 speedstep_centrino 7120 1 cpufreq_userspace 3860 1 freq_table 4292 1 speedstep_centrino ac 5060 0 battery 9476 0 ibm_acpi 24320 0 hdaps 8816 0 sbp2 20744 0 ieee1394 86008 1 sbp2 loop 14536 0 tsdev 7360 0 joydev 8960 0 snd_hda_intel 16916 0 snd_hda_codec 1 snd_hda_intel ipw2200 93568 0 snd_pcm_oss 38112 0 ieee80211 29064 1 ipw2200 ieee80211_crypt 5824 2 ieee80211_crypt_ccmp,ieee80211 snd_mixer_oss 15168 1 snd_pcm_oss firmware_class 9536 1 ipw2200 snd_pcm 68616 3 snd_hda_intel,snd_hda_codec,snd_pcm_oss snd_timer 20868 1 snd_pcm sdhci 16140 0 mmc_core 22608 1 sdhci i2c_i801 7308 0 snd 46564 6 snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer soundcore 9248 1 snd i2c_core 19792 1 i2c_i801 psmouse 34568 0 snd_page_alloc 9480 2 snd_hda_intel,snd_pcm intel_agp 20892 1 rtc 12276 0 evdev 8896 1 agpgart 29360 3 drm,intel_agp sg 31068 0 sr_mod 15716 0 cdrom 32416 1 sr_mod ext3 3 jbd 51816 1 ext3 mbcache 8260 1 ext3 sha256 10944 0 aes 28032 5 dm_crypt 10696 1 dm_mirror 18704 0 dm_snapshot 15324 0 dm_mod 49848 12 dm_crypt,dm_mirror,dm_snapshot ide_generic 1280 0 [permanent] sd_mod 18896 3 generic 5316 0 [permanent] ide_core 2 ide_generic,generic ata_piix 13384 2 ahci 17220 0 libata 90200 2 ata_piix,ahci scsi_mod 6 sbp2,sg,sr_mod,sd_mod,ahci,libata tg3 94020 0 ehci_hcd 27848 0 uhci_hcd 20876 0 usbcore 4 wacom,ehci_hcd,uhci_hcd thermal 13384 0 processor 23724 2 speedstep_centrino,thermal fan 4676 0
/proc/cpuinfo
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Pentium(R) M processor 1.86GHz stepping : 8 cpu MHz : 800.000 cache size : 2048 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx est tm2 bogomips : 1597.51
hdparm -I -tT /dev/sda
/dev/sda: ATA device, with non-removable media Model Number: HTS541080G9SA00 Serial Number: MPBDL0X6H9KRTM Firmware Revision: MB4IC60H Standards: Used: ATA/ATAPI-7 T13 1532D revision 1 Supported: 7 6 5 4 Configuration: Logical max current cylinders heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: LBA user addressable sectors: LBA48 user addressable sectors: device size with M = 1024*1024: 76319 MBytes device size with M = 1000*1000: 80026 MBytes (80 GB) Capabilities: LBA, IORDY(can be disabled) Standby timer values: spec'd by Vendor, no device specific minimum R/W multiple sector transfer: Max = 16 Current = 16 Advanced power management level: 128 (0x80) Recommended acoustic management value: 128, current value: 254 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=240ns IORDY flow control=120ns Commands/features: Enabled Supported: * SMART feature set Security Mode feature set * Power Management feature set * Write cache * Look-ahead * Host Protected Area feature set * WRITE_BUFFER command * READ_BUFFER command * NOP cmd * DOWNLOAD_MICROCODE * Advanced Power Management feature set Power-Up In Standby feature set * SET_FEATURES required to spinup after power up SET_MAX security extension Automatic Acoustic Management feature set * 48-bit Address feature set * Device Configuration Overlay feature set * Mandatory FLUSH_CACHE * FLUSH_CACHE_EXT * SMART error logging * SMART self-test * General Purpose Logging feature set * WRITE_{DMA|MULTIPLE}_FUA_EXT * IDLE_IMMEDIATE with UNLOAD * SATA-I signaling speed (1.5Gb/s) * Host-initiated interface power management * Device-initiated interface power management * Software settings preservation Security: Master password revision code = supported not enabled not locked frozen not expired: security count not supported: enhanced erase 52min for SECURITY ERASE UNIT. Checksum: correct Timing cached reads: 1140 MB in 2.00 seconds = 569.77 MB/sec Timing buffered disk reads: 74 MB in 3.07 seconds = 24.13 MB/sec
References
- This guide is listed at the TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo).