Holger Janßen-Kroll

Beratung · Entwicklung · Internet

Debian auf einem Acer TM 803 lci

Einleitung

Hinweis: Dies ist ein recht alter Artikel. Da ich den erwähnten Laptop nicht mehr besitze, kann ich keinen Support mehr für die Angaben auf dieser Seite leisten.

Auf dieser Seite beschreibe ich meine Vorgehensweise bei der Installation von Debian Linux auf meinem Laptop.

Insgesamt kann ich sagen, dass ich mit dem Gerät sehr zufrieden bin und es jederzeit wieder kaufen würde.

Hardware / Ausstattung

HardwareBeschreibungStatus (unter Linux)
Prozessor1.6 GHz Intel Pentium Mläuft (inkl. enhanced Speed-Step)
ChipsatzIntel 855PMläuft
Arbeitsspeicher512 MB DDR RAM 
GrafikATI Mobility Radeon 9000läuft (inkl. 3D-Unterstützung)
Display15 Zoll, SXGA+ (1400x1050) TFTläuft
Festplatte60 GB (nicht Original!)läuft
NetzwerkBroadcom 10/100 MBitläuft
WLANIntel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (Centrino)läuft
EinschublaufwerkDVD/CD-RW Comboläuft
SoundIntel onboardläuft
MausersatzSynaptic Touchpadläuft
Modem56K ITU V.92noch nicht getestet
AnschlüsseUSB 2.0, 4 Portsläuft
Parallelportläuft
FireWire (IEEE 1394)noch nicht getestet
SondertastenProgrammstarttasten etc.funktionieren

Vorbereitungen

Da ich zusätzlich Windows-XP nutze(n muss), habe ich die Festplatte entsprechend partitioniert und auf der ersten Partition XP installiert. - Ich denke, das sollte nicht weiter schwer fallen ;-)

Via http://www.debian.org/devel/debian-installer/ habe ich mir das Netz-Installations-Image für Debian heruntergeladen und auf eine CD gebrannt

Los geht's

Also CD einlegen und auf geht's!
Im folgenden fasse ich kurz die durchgeführten Schritte zusammen:

  • Booten: Da ich beabsichtige, ein Linux-2.6 System aufzusetzen, gebe ich als Bootparameter direkt "linux26" an.
  • Netzwerk: Als Netzwerkgerät wähle ich eth0 (Broadcom), das bei mir via DHCP konfiguriert werden kann, da ich in einem kleinen Netzwerk arbeite.
    Als nächstes werden dann der Rechner- und der Domainname angegeben.
  • Partitionieren: Da ich zuvor nur die Windows-Partitionen angelegt hatte, habe ich zu diesem Zeitpunkt die manuelle Partitionierung durchgeführt.
    Dabei habe ich eine kleine Boot-Partition (ca. 18MB), eine Haupt- (ca. 12GB) und eine Home-Partition angelegt.
  • Reboot: Nachdem der Installer noch nagefragt hat, ob er alle weiteren installierten Systeme gefunden hat (was er korrekt angezeigt hat), habe ich bestätigt, dass der Boot-Loader (Grub) im Master-Boot-Sektor installiert werden soll. Anschließend folgt der Reboot.
  • Einstellungen: Es folgen die Einstellungen für Zeitzone, Root-Passwort und den ersten Benutzer.
  • Installationsquelle: Da ich eine reine Netzwerkinstallation durchführe, habe ich hier http ausgewählt. Nach der Auswahl des Mirrors beginnt die Installation des Basissystems.

Ein eigener Kernel

Zur Zeit betreibe ich einen 2.6.9er Kernel in der Debian Version, Nach diversen Versuchen (auch in früheren Installationen) läuft mit diesem die Hardware bisher am besten.

Ich werde mich hier auf die wichtigsten Punkte, die spezifisch für dieses Notebook sind, konzentrieren. Bei allen anderen Sachen wird jeder seine persönlichen Vorlieben bzw. Bedürfnisse haben. Wer gerne eine komplette Kernel-Konfigurationsdatei haben möchte, findet meine hier. Die hier angegebenen Einstellungen wurden mittels make menuconfig getätigt. (Falls es damit Probleme gibt sollte man als erstes kontrollieren, ob das Paket ncurses-devel installiert ist (neben make, gcc usw.))

Framebuffer und Grafik

  • Device Drivers
    • Character Devices
      • /dev/agpart (AGP support): Module
      • Intel 440LX/BX/GX, I8xx and E7x05 chipset support: Module
      • Direct Rendering Manager (XFree86 4.1.0 and higher DRI support: yes
      • ATI Radeon: Module
    • Graphic support
      • Support for frame buffer devices: yes
      • ATI Radeon display Support: yes
      • DDC/I2C for ATI Radeon support: yes
      • Console display driver support
        • Video mode selection support: yes
        • Framebuffer Consule support: yes
      • optional: Logo configuration
        • Bootup logo: yes
        • Standard black and white Linux logo: yes
        • Standard 16-color Linux logo: yes
        • Standard 224-color Linux logo: yes
      • All other options: off

Wenn alles bzgl. des Framebuffers direkt in den Kernel eingebunden und nicht als Modul kompiliert wird, hat das den Vorteil, dass man sich später die Initrd sparen kann. Dabei darf aber nicht vergessen werden, das Dateisystem für root ebenfalls direkt mit einzubinden.

Controller

  • Device Drivers
    • ATA/ATAPI/MFM/RLL support
      • ATA/ATAPI/MFM/RLL support: yes
      • Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support: yes
      • Include IDE/ATA-2 DISK support: yes
      • Use multi-mode by default: yes
      • generic/default IDE chipset support: yes
      • PCI IDE chipset support: yes
      • Generic PCI bus-master DMA support: yes
      • Use PCI DMA by default when available: yes
      • Intel PIIXn chipsets support: yes

Sound

  • Device Drivers
    • Sound
      • Sound Card Support: module
      • Advanced Linux Sound Architecture
        • Advanced Linux Sound Architecture: module
        • Sequencer Support: module
        • Sequencer dummy cliens: module
        • OSS Mixer API: module
        • OSS PCM (digital audio) API: module
        • Generic devices
          • Dummy (/dev/null) soundcard: module
        • PCI devices
          • Intel i8x0/MX440, SiS 7012; Ali5455; NForce Audio; AMD768/8111: module

Kernel compilieren

Es hört sich dramatischer an, als es ist. Wenn alles richtig eingestellt ist führt ein make-kpkg kernel-image(im Kernelverzeichnis) zu einem mit dpkg -i [Dateiname] installierbaren Paket.
Fertig!

To be continued ...

Es gibt noch ein paar Dinge auszuprobieren bzw. einzurichten. Der Software-Suspend ist das erste, was mir noch fehlt. Als nächstes käme das interne Modem an die Reihe. Da ich z. Zt. keine Verwendung dafür habe, stehen FireWire und Infrarot-Schnittstelle eher hinten an.

Sound

Die Soundtreiber des Kernels (ALSA, s.o.) funktionieren einwandfrei. Ich hatte nur Probleme, mehrere Soundstreams gleichzeitig abzuspielen, da der Soundchip wohl nicht Voll-Duplex fähig ist. Durch die Benutzung der Pakete esound und esound-clients, bei denen der Sound-Daemon das vorherige Mischen übernimmt, bevor die Signale an das Sound-Device gehen, umgehe ich diese Einschränkung

Der X-Server

Hier ist meine aktuelle XF86Config zu finden.

Es ist kein Problem, den XServer inklusive 3D-Unterstützung zu starten. Der Radeon-Server sollte ohne Probleme laufen. Zusätzlich habe ich noch das Hotplugging für eine (optionale) USB-Maus aktiviert

Für die komplette Nutzung des Touchpads ist das Paket xfree86-driver-synaptics nötig. Mit diesem können die Sonderfunktionen des Touchpads (Scrollen an den Pad-Rändern, Rechtsklick bei Tippen mit zwei Fingern, Klick mit der mittleren Maustaste beim Tippen mir drei Fingern und Sonderfunktionen beim Tippen auf Ecken) aktiviert werden.
Den Anschluss eines separaten Monitors habe ich bisher noch nicht benötigt, weswegen ich ihn auch nicht gesondert konfiguriert habe.

Hotkeys und Sondertasten (Fn-Kombinationen)

Das Notebook hat vier zusätzliche Programmstarttasten, Steuerfunktionen durch Fn-Kombinationen, je eine Bluetooth- und WLAN-Taste und eine E-Mail-Leuchte. (Bis ich den Hotkey-Treiber installiert habe, wusste ich auch nicht, dass diese Leute existiert ;-).
Für die Benutzung dieser Tasten benutze ich den Acer-Hotkey Treiber (zur Zeit in der Version 0.5.16).
Nach dem Herunterladen, kann dieser einfach via

make
make install

als Modul in den aktuellen Kernel eingebunden werden. (Es ist auch möglich, den Treiber komplett in den Kernel einzuarbeiten. Nähere Informationen dazu gibt es in den Anleitungen von acerhk.)
Damit der Treiber nach jedem Starten verfügbar ist, wird die Zeile

acerhk poll=0

in /etc/modules hinzugefügt. Danach sind schonmal die Tasten für E-Mail, Browser und die Lautstärkeregelung (Fn-F8, Fn-Pfeil hoch, Fn-Pfeil runter) verfügbar. Außerdem kann man mittels

echo 1 > /proc/drivers/acerhk/led

die Mail-LED einschalten. Eine 0 schaltet sie entsprechend wieder aus.
Die restlichen Tasten erzeugen Scancodes, die bisher nicht zugewiesen sind (einsehbar via /var/log/messages). Folgende Befehle beheben das Problem:

# P1 button
setkeycodes e074 120

# P2 button
setkeycodes e073 121

# Help (Fn-F1)
setkeycodes e025 122

# Fn-F2
setkeycodes e026 123

# Fn-F3
setkeycodes e027 124

# Bloothoth button (on and off)
setkeycodes e057 128
setkeycodes e058 128

# WLAN button (on and off)
setkeycodes e055 126
setkeycodes e056 126

Um die Tasten nach jedem Booten zur Verfügung zu haben, kann man die Befehle mittels Skript z.B. unter /etc/rcS.d/S60setkeycodes installieren (Skript zum herunterladen).

Damit die Sondertasten nun unter X genutzt werden können, benutze ich das Paket hotkeys, welches sich über die Debian Paketverwaltung installieren lässt. Die folgende Tabelle gibt die Tastencodes unter X an:

Taste(nkombination)X-Keycode
E-Mail178
Browser236
P1139
P2134
Fn-F1121
Fn-F2122
Fn-F3133
Vol +176
Vol -174
Mute (Fn-F8)174
Bluetooth232
WLAN116

Bemerkung: Die Tastenkombination Fn-F7 (Touchpad-An/Aus) hat den nicht zugewiesenen Scancode e072. Da die Funktion dieser Taste aber über das Bios gesteuert wird, also auch unter Linux das Touchpad ausschaltet, habe ich vom weiteren Gebrauch abgesehen. Die einzelnen Keycodes kann man sich z.B. mit xev ansehen.

Mit dieser Tabelle kann man den Tasten nun via Hotkeys Funktionen zuweisen. Ein einfaches Beispiel gibt es hier. Die Datei kann unter /usr/share/hotkeys abgelegt werden.
Ein Aufruf von hotkeys -t acertm (z.B. in der Autostartfunktion des Fenstermanagers oder über die XSession) schaltet nun die Tastenfunktionen frei.

WLAN

Im folgenden bescheibe ich kurz die Schritte, die nötig sind, um die eingebaute WLAN Karte des Notebooks unter Debian Linux zum Laufen zu bekommen. Die in der TM 800er Serie eingebaute WLAN Karte ist die 2100er im Prinzip funktioniert die Installation für die neueren (2200er Serie) Karten genauso. Nur müssen halt die entsprechenden Pakete ausgetauscht werden.

Kernel

Für die Benutzung vom WLAN muss natürlich die WLAN Unterstützung (Device Drivers / Networking support / Wireless LAN drivers) aktiviert sein.
Für WEP benötigt man zusätzlich aus den 'Cryptographic Options' die ARC4- und die CRC32c-Unterstützung. Außerdem muss die CRC32 Unterstüzung unter 'Library Routines' aktiviert sein. Bei allen Einstellungen reicht die Modul-Variante.

Benötigte Programme und Pakete

Es werden die Debian-Pakete iw-tools und ipw2100-source benötigt. (Anmerkung: Für neuere Centrino-Notebooks gibt es ein entsprechendes Paket: ipw2200-source)

Firmware herunterladen

Wie in der Dokumentation zu iwp2100-source (zu finden unter /usr/share/doc/iwp2100-source/README.gz) beschrieben, benötigt man die Firmware zur WLAN-Karte. Diese kann z.B. unter http://ipw2100.sf.net/firmware.php bezogen werden.
Die entpackten Dateien werden unter /usr/lib/hotplug/firmware abgelegt.

Treibermodul kompilieren

Die Quellen für den WLAN Treiber liegen nun unter /usr/src/iwp2100-source.tgz. Dieses sollte in /usr/src mit

/usr/src# tar xzf iwp2100-sourve.tgz

entpackt werden. Die Quelltexte sind danach entpackt unter /usr/src/modules/iwp2100 zu finden.
Im Kernelverzeichnis (z.B. /usr/src/kernel-source-2.6.9) kann nun mit

/usr/src/kernel-source-2.6.9> make-kpkg modules_image

ein zum Kernel passendes Modul-Paket erstellt werden.
Dieses befindet sich anschließend unter /usr/src/iwp-2100-[kernelversion].deb und wird einfach mit

/usr/src# dpkg -i iwp-2100-[kernel-version].deb

installiert.

Testphase

Zunächst wird über

modprobe iwp2100

probiert, ob der Treiber geladen werden kann. Erfolgt keine Fehlermeldung, sollte das Laden fehlerfrei funktioniert haben. Im Zweifel kann mit lsmod überprüft werden, ob sich das Modul tatsächlich im Speicher befindet. Bei Problemen helfen evtl. die Ausgaben von dmesg bzw. die Angaben in /var/log/syslog weiter, den Fehler zu finden.

Die WLAN Karte sollte nun also treibermäßig verfügbar sein. Mit

iwlist scan eth1

können nun die zur Verfügung stehenden Netzwerke angezeigt werden.

Vorausgesetzt, es liegt ein WLAN mit der SSID 'wireless' und dem Schlüssel 'mykey' vor, kann die WLAN Verbindung mit

iwconfig eth1 essid wireless key s:mykey

konfiguriert werden.
Ist die Schnittstelle eth1 entsprechend definiert (Eintrag in /etc/network/devices), kann nun über ein

ifup eth1

die Netzwerkverbindung aktiviert werden.

WLAN an- und abschalten

Die WLAN-Taste an der Frontseite des Notebooks funktioniert nur per Software (vgl. Abschnitt über Hotkeys). Deswegen kann die WLAN-Karte unter Linux nicht (direkt) mit dieser Taste ausgeschaltet werden. Da WLAN jedoch ein nicht zu vernachlässigender Stromverbraucher ist, kann es wünschenswert sein es auszuschalten.
Unter /sys/bus/pci/drivers/ipw2100 gibt es ein Unterverzeichnis für die Hardwareadresse der Karte (bei mir "0000 02 04.0". In diesem befindet sich eine Datei rf_kill.
Über diese kann die WLAN-Funktionalität ein- und ausgeschaltet werden. Ein

echo 1 > /sys/bus/pci/drivers/ipw2100/0000\ 02\ 02\ 04.0/rf_kill

schaltet die Karte aus. Durch das Schreiben einer 0 kann die Karte entsprechend wieder eingeschaltet werden.

In Verbindung mit der Hotkey-Beschreibung kann nun das WLAN "wie üblich" auch über die WLAN-Taste des Laptops betrieben werden.

Ausblick

Evtl. wird diese Anleitung noch für die Aktivierung der WPA-Verschlüsselung erweitert, da WEP prinzipiell als unsicher anzusehen ist. Bisher habe ich allerdings keine Zeit dafür gefunden.

Links

Zurück


Einen Kommentar schreiben

Was ist die Summe aus 8 und 2?