Installing Debian 3.1 (Sarge) on a ThinkPad T43
Contents
This is how I slapped Debian/Sarge onto my shiny new T43, which seems quite a nice machine all in all. It's a very new type, being based on the Sonoma platform with PCI Express, SATA and other happy things. Does Intel marketing really call Sonoma a "platform"? Oh well.
Installation
Repartitioning/Resizing the Windows Partition
This is only necessary if you want to keep your Windows installation for dual booting. I kept mine just so I could update the BIOS more easily in case it becomes necessary.
I was able to boot Knoppix 3.7, but only with the 2.4 kernel. Then resizing the existing 70-odd GB NTFS partition presented no problems at all, but it was rather slow (no DMA mode) due to the ICH6 IDE/SATA controller not being recognized properly. Use ntfsresize, or if you don't trust your knowledge of this rather powerful and potentially confusing tool, try QtParted. Both are available in Knoppix' K menu. Don't be worried if nothing happens while you resize your partition, it took more than an hour on mine.
To repeat myself: You cannot boot Knoppix (at least up to 3.7) using the 2.6 kernel. Use 2.4.
The big switcharoo: /dev/hda becomes /dev/sda
When initially installing Sarge from the rc3 Debian Installer images, the installation disc's 2.4 kernel saw the hard drive as /dev/hda. Since the ICH6 controller doesn't support DMA that way, transfers are extremely slow. Therefore I started by installing a base system with a compiler so I could build my own kernel. After building my kernel with options to support ICH6 (CONFIG_SCSI_ATA_PIIX=y), the drive is seen through libata's SCSI emulation as /sev/sda, though.
To change that, you can boot to 2.4, edit /etc/fstab and /boot/grub/menu.lst (or your preferred bootloader's configuration file). Replace all occurences of "hda" with "sda" and reboot to your new 2.6 kernel. If things go wrong and your 2.6 doesn't boot properly, use the Debian installer CD as rescue system and change your fstab and bootloade rconfiguration back to hda, then retry with new kernel options. I will post my working .config as soon as I figure out how to upload non-image files here :)
Hardware
Network
The network card identifies to lspci as "Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express" and works with the tg3 module, both on kernel 2.4 and 2.6. I didn't find anyhting special here. Haven't tested it on an actual gigabit network, though, so nothing to benchmark with.
Bluetooth
Seems to work under 2.6.11.7. Make sure to enable RFCOMM in your kernel, and you will also need support for ibm-acpi. then:
apt-get install bluez-utils echo "enable" > /proc/acpi/ibm/bluetooth /etc/init.d/bluez-utils start
And you can try using "hcitool scan" to scan for nearby devices. My Sony Ericsson T630 was found immediately and I could back up its contens using MultiSync.
Buttons
ThinkLight | Fn + PgUp | Just worked (can also be toggled through ibm-acpi's /proc/acpi/ibm/light) |
Display brightness + | Fn + Home | Just worked (no software necessary) |
Display brightness - | Fn + End | Just worked (no software necessary) |
Backlight off | Fn + F3 | Supported with ibm-acpi, acpid and radeontool |
Backlight off
I turned this into something more like a backlight toggle by using this script as /etc/acpid/backlight.sh for acpid:
#!/bin/bash
RADEONTOOL='/usr/local/sbin/radeontool'
status=`$RADEONTOOL light`;
if "$status" = "The radeon backlight looks on" ; then
$RADEONTOOL light off
elif "$status" = "The radeon backlight looks off" ; then
$RADEONTOOL light on
fi
You must first grab radeontool and copy it to /usr/local/sbin for this to work, of course. The script itself was stolen from someone else (whose name I forgot -- sorry!) and modified to work with the current version of radeontool.
My /etc/acpid/events/backlight looks like this:
event=ibm/hotkey.*1003 action=/etc/acpi/backlight.sh
Various Information
lspci Output
To have all the hardware show up with its proper name, I had to get a new pci.ids file from the Linux PCI ID Repostiory and copy it to /usr/share/misc/pci.ids. I believe newer distributions and kernels won't need that file anymore.
0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03) 0000:00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03) 0000:00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03) 0000:00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 03) 0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03) 0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03) 0000:00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03) 0000:00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03) 0000:00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03) 0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3) 0000:00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)\ AC'97 Audio Controller (rev 03) 0000:00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03) 0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03) 0000:00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03) 0000:00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03) 0000:01:00.0 VGA compatible controller: ATI Technologies Inc M22 [Radeon Mobility M300] 0000:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 11) 0000:04:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d) 0000:04:02.0 Network controller: Intel Corporation: Unknown device 4224 (rev 05)
Things are up and running, WLAN and all, and I will update this article with the details once I have the time :)
... To be continued ...