user: pass:
Artikel von Henrik Hasenkamp <henrik (at) 3-freun (dot) de>

Hallo Welt!
Heute möchte ich euch von meinen Erfahrungen über das IBM Thinkpad T43 und dem Einsatz von Linux berichten.
Wie immer könnte es sein, dass in diesem Artikel Fehler enthalten sind und daher übernehme ich keine Haftung
für Schäden, Datenverluste oder etwaige andere Missgeschicke die aus der Verwendung dieser Anleitung resultieren.

Bei Fragen stehe ich euch gerne zur Verfügung, schreibt mich einfach mal an.

Systembeschreibung:
IBM Thinkpad T43 2669-74G
- Prozessor: Intel Pentium M Prozessor 760 mit 2000 MHz, 2 MB L2 Cache
- Festplatte: 5400 U/min; 80 GB Festplatte ATA 100 mit Active Protection System
- Laufwerk: DVD/CD-RW Combolaufwerk V
- Display: TFT Display; 1400x1050 (SXGA+); 14,1 Zoll (35,8 cm)
- Grafikkarte: ATI Mobility RADEON x300; 64 MB DDR2 SDRAM
- Kommunikation: 10/100/1000 LAN, IBM Mini PCI 802.11 a/b/g Wireless Lan, Infrarot, 56K Int. Modem, Bluetooth
- Sound System: Sound Blaster 16 kompatibel
- Zeigegerät: IBM UltraNav (Touchpad+TrackPoint)
- Schnittstellen: 1 x Parallel, 2x USB 2.0-Ports, VGA, S-Video out, Infrarot, Kopfhörer, externes Mikrofon, RJ-11, RJ-45
- PC Card Erweiterung: 1 x PCMCIA Typ I oder II und ExpressCard/54
- Sicherheitseinrichtungen: IBM Embedded Security Subsystem 2.0 & IBM Fingerprint integriert

Software:
Ich setze Debian GNU/Linux ein und somit bezieht sich diese Beschreibung auch auf diese Distribution ;) Aber es sollte
bei allen anderen Distributionen ähnlich sein, ausser bei SuSE, da geht alles von alleine.


Wir gehen in dieser Anleitung natürlich nicht darauf ein, wie Windows auf dem System installiert wird. Mein erster Schritt
ist demzufolge auch, im BIOS das Predesktop-System zu deaktivieren.

Beim starten in die Installation unter Debian GNU/Linux ist zu beachten, daß die Festplatte als IDE-Laufwerk erkannt wird.
Ein DMA Modus steht hier nicht zur Verfügung, dieses liegt daran, daß die Festplatte über eine SATA Schnittstelle angeschlossen
ist und wir den Kernel auch entsprechend anpassen müssen. Dazu aber mehr später...



Das System wird wie gewohnt auf dem Laptop installiert. Also Ethernetkarte findet hier die 10/100/1000 MBit-Karte von Broadcom
verwendung. Das Modul könnt Ihr wärend der Installation laden um Internet bzw. Netzwerkzugriff zu erhalten.
Nach Abschluss der Installation installiert Ihr bitte noch kurz die notwendigen Pakete zum Übersetzen eines Kernels. Unter anderem
sind das ncurses-dev, make, tar, bzip und ein aktueller GCC.
Nachdem die Pakete installiert sind, ladet euch einen aktuellen Kernel der Version 2.6.12 herunter, da in der Version 2.6.11 leider
der SATA Support nicht richtig funktioniert. Ich setze derzeit den Kernel 2.6.12-RC6 ein und bin damit soweit ganz zufrieden.
Meinen Config-File könnt Ihr unter http://projekte.wuplug.org/kernel-2.6.12-rc6.config herunterladen. Die Datei einfach in das
entpackte Kernelverzeichniss kopieren und nach .config umbenennen. Anschliessend ruft Ihr den Befehl

>> make oldconfig

auf und ergänzt gegebenfalls Angaben die sich seit der von mir verwendeten Kernelversion geändert haben. Wenn Ihr den Befehl
durchgegangen seit, dann könnt Ihr noch mit

>> make menuconfig

eigene Anpassungen vornehmen, wer es braucht ;)
Ich habe den Kernel nicht sonderlich modular aufgebaut, vielleicht mag der ein oder andere es jedoch lieber mit Modulen zu
arbeiten, von daher ändert soviel wie Ihr wollt, jedoch auf eigenes Risiko :-)

Sooo jetzt schnell den Kernel mit

>> make ;make modules_install

übersetzten und installieren, anschließend mit

>> cp arch/i386/boot/bzImage /boot/$kernelname

den Kernel in das boot-Verzeichniss kopieren und dann den Eintrag in der menu.lst (Grub-Konfiguraton) vornehmen. Ich habe
in meinem Grub dazu folgendes stehen:

-- Snip --
title linux 2.6.12-rc6
root (hd0,1)
kernel /boot/2.6.12-rc6 vga=834 root=/dev/sda2
-- Snap --

Wichtig ist auf jeden Fall der Parameter "root=/dev/sda2" damit der Kernel auch die korrekte Partition laden kann, denn mit dem
neuen Kernel habt Ihr nun nur noch SATA Support.

Dann könnt Ihr auch schon fast neustarten, wenn da noch noch eine kleine Anpassung in der FSTAB notwendig wäre, denn diese
Datei weiss ja noch gar nichts von SCSI/SATA Geräten. Daher bitte dort alle Einträge ergänzen. Die Devices in dem von mir
erstellten Kernel müssten /dev/sda[1-9] sein. Bitte also kurz in der FSTAB das Device austauschen und die Datei speichern.
Bei mir sieht es wie folgt aus:

-- Snip --
# /etc/fstab: static file system information.
#
#
/dev/sda2 / reiserfs defaults 0 0
/dev/sda3 /usr xfs defaults,ro 0 0
/dev/sda5 /var xfs defaults 0 0
/dev/sda6 /home reiserfs defaults,loop=/dev/loop3,encryption=*** 0 0
/dev/sda7 none swap sw 0 0
-- Snap --

Nun könnt Ihr euer System booten und habt schonmal "eine schnelle Festplatte", denn mit den vorherigen 4 MB/s kann man ja
gar nicht arbeiten.
Wenn ihr jetzt noch das Programm hdparm installiert, dann seht Ihr das nun eine Geschwindigkeit von etwa 30 - 35 MB/s erreicht.

-- Snip --
krabbe:/home/hh# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 104 MB in 3.04 seconds = 34.23 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device
krabbe:/home/hh#
-- Snap --

Der komische Fehler da ist übrigens Vernachlässigbar.

Nun wollt Ihr sicherlich noch ein X haben oder? Also kurz den Browser links2 installieren mitteils

>> apt-get install links2

Dann noch die ganzen X-libs und den Xfree-Server und halt das was man alles unter Debian braucht... Eine Konfiguration muss nicht
stattfinden, die machen wir nachher von Hand. Soo wenn Ihr nun alle Pakete installiert habt, dann solltet Ihr auf die ATI-Seite
gehen. Dort findet Ihr einen Installer. Der Installer ist leider sogut versteckt, dass man Ihn mit einem Konsolenbrowser nicht
wirklich findet. Tippt daher am einfachsten folgendes ab ;-)

>> wget http://www2.ati.com/drivers/linux/ati-driver-installer-8.14.13.run

Falls ATI die Datei mal wieder umbenennt, dann müsst Ihr halt mal suchen, evtl. habt Ihr ja auch noch einen zweiten Rechner mit
Internet, dann könntet Ihr darüber suchen.
Anbei eine kleine Bemerkung: Ich verstehe sowieso nicht, warum die kommerziellen Treiberhersteller Ihre Treiber in der Regel
immer so ablegen, dass man diese nur mit einem Bilder-Browser finden kann. Das nervt wirklich ab...

Ok weiter im Text:
Nachdem Ihr die Treiber heruntergeladen habt müsst Ihr das "Skript" ausführen. Dazu einfach

>> ./ati-driver-installer-8.14.13.run

aufrufen. Wenn dann alles stimmt, wird eine Ncurses-Oberfläche aufgehen und euch was abfragen. Einfach immer OK und Weiter
betätigen, dann sollte es funktionieren. Sollten Fehler auftauchen, dann schaut bitte in die Logdatei und versucht die Fehler
zu lokalisieren. Andernfalls sind typische Fehler:

Im Kernel ist das agpgart-Modul nicht als Modul drinnen sondern fest oder gar nicht.
Im Kernel sind irgendwelche Grafikkarten-Treiber fest drinn ;)
Oder Ihr habt nicht auf mich gehört und was anderes gemacht. Da ich nicht wirklich viel getestet habe, könnte es sein das
noch zahlreiche andere Fehler auftauchen, wenn Ihr partu nicht weiterkommen solltet, dann schreibt mich mal an.

Also wir gehen davon aus, dass die Treiberinstallation erfolgreich quittiert ist. Dann geht es jetzt daran euren X-Server zu
konfigurieren. Ich gebe euch einfach dazu mal meine XF86config-4 zum herunterladen ( http://projekte.wuplug.org/T43_XF86config-4 ). Ihr solltet die Einträge da alle jedoch nicht
zu ernst nehmen, da auch bei z.B. der dual-Betrieb noch nicht funktioniert. Ich habe den Laptop ja auch erst gestern eingerichtet ;)

Also Wenn Ihr die Konfigurationsdatei erstellt/angepasst habt, dann solltet Ihr euren X-Server starten können. Falls nicht, dann
untersucht bitte das Log-File vom X-Server und überprüft wo der Fehler liegt. Wenn der Server das Modul "fglrx" nicht finden kann
dann rät es sich an, zu suchen ob es überall korrekt verlinkt ist. Dazu müsste folgendes existieren:

-- Snip --
./lib/modules/dri/fglrx_dri.so
./lib/modules/drivers/fglrx_drv.o
./lib/modules-dri-trunk/fglrx_dri.so
./lib/modules-dri-trunk/fglrx_drv.o
-- Snap --

Wie schon zuvor erwähnt, lasst euch von den modules-dri-trunk nicht iritieren ;)

Tja, eigentlich ist damit schon fast alles gesagt. Nun müsst Ihr den X-Server starten. Naja wenn das geschehen ist, dann installiert
Ihr euch noch alle möglichen Programme oder gleich son Ressourcenkiller wie GNOME / KDE und dann habt Ihr auch nen Browser.
Darauf jedoch gehen wir hier ja nicht ein.

Soo jetzt gilt es noch zum Schluß das WLAN zum laufen zu bekommen. Dazu greifen wir auf madwifi-Projekt zurück. Wenn Ihr noch kein
CVS-Client installiert habt dann holt das jetzt nach. Anschließend führt Ihr folgende Befehle aus:

>> cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi login
>> cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi

Dann in das Verzeichniss madwifi gewechselt und mittels

>> make ;make install

die Module übersetzen und installieren. Ihr könnt die Module dann mit

>> modprobe ath_pci

in den Kernel laden und mittels iwconfig die Karte konfigurieren. Ihr habt noch kein iwconfig installiert?

>> apt-get install iwconfig


Kommen wir zu dem eingebautzen Blauzahnsystem. Die Blootoothkarte ist eine von der Firma Broadcom. Die Module für den Kernel existieren
auch bereits und sind in der o.s. Kernelkonfiguration enthalten. Fall ihr einen eigenen Kernel backen möchtet, so aktiviert im Networking
bitte zunächst die Option bluetooth. Ich habe dies als Modul einkompiliert. Dann müssen noch folgende Sachen aktiviert werden:

Device Drivers ->
Networking support ->
[M] Bluetooth subsystem support ->
Bluetooth device drivers ->
[M] HCI USB driver
[*] SCO (voice) support (Ich möchte mal versuchen mein Headset anzusprechen, daher die Sprachunterstützung
[M] HCI BCM203x USB driver

Abschliessend braucht Ihr noch ein paar Tools. Am besten installiert Ihr folgendes:

>> apt-get install bluez-bcm203x bluez-firmware bluez-hcidump bluez-pin bluez-utils usbutils

Ihr werdet dann noch gefragt ob die ein oder anderen Libarys mitinstalliert werden sollen, was bestätigt werden muss und schon --> Fertig ;)
Der Befehl

>> hcitool dev

müsste euch dann ein Ergebniss bringen. Bei mir sieht es wie folgt aus:

-- Snip --
krabbe:/home/hh# hcitool dev
Devices:
hci0 00:0E:9B:DD:DE:9E
krabbe:/home/hh#
-- Snap --

Nun könnt Ihr mit den ganzen Tools die es so im Netz gibt auch schon anfangen zu Snarfen, oder euer Handy zu sichern bzw. andere Spielereien zu machen ;)
Falls Ihr eine Sammlung von Tools für Bluetooth sucht, dann nutzt mal Google und tippt dort "auditor" ein, das ist eine CD wo schon diverse Programme
installiet sind. Auf der Webseite von auditor findet Ihr auch eine Aufstellung der installierten Programme, falls Ihr euch diese selber installieren möchtet.



So ich habe fertig. Viel Spaß mit der Anleitung.
Es werden in Kürze folgen:

- Installation und Einrichtung des Fingerprintsystems
- Installation und Einrichtung des Dualdisplays und evtl. später noch TV-Out, mal sehen ob ich Lust dazu habe ;)

Viel Spass

Grüsse Henrik