Stoppt die Vorratsdatenspeicherung! Jetzt klicken &handeln! Willst du auch an der Aktion teilnehmen? Hier findest du alle relevanten Infos
und Materialien:

Holgers Web | project2501

Installation von Debian GNU/Linux Sarge auf das Hewlett Packard nx6110

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones Diese Anleitung beschreibt, wie man Debian GNU/Linux (Sarge aka Stable) auf das Notebook-Modell nx6110 der Firma Hewlett Packard installiert.

Wichtig: Inzwischen habe ich das Notebook mit Kubuntu Edgy Eft installiert – diese Installationsanleitung wird also nicht mehr großartig weitergeführt, sondern nur noch marginal gepflegt.

Hardware

Das nx6110 ist in verschiedenen Ausführungen verfügbar. Ich besitze das nx6110 PY500, welches folgende Hardwarekomponenten umfasst:

  • Pentium-M 740 1.73GHz
  • 512MB RAM (DDR SO-DIMM, 333MHz, CL 2.5)
  • 60GB Harddisk
  • DVD+/-RW Laufwerk (fest eingebaut)
  • Chipsatz Intel Centrino 915GM
  • Intel AC97 Onboard Soundkarte
  • Intel GMA900 Onboard Grafik mit max.128MB shared memory
  • USB 2.0
  • LAN Broadcom 440 10/100BaseT
  • WLAN 802.11bg Intel Ipw2200
  • Bluetooth
  • Firewire
  • Modem
  • Synaptics Touchpad
  • 15″ XGA TFT (1024×768)
  • Li-Ionen-Akku
# lspci
0000:00:00.0 Host bridge: Intel Corp. Mobile Memory Controller Hub (rev 03)
0000:00:02.0 VGA compatible controller: Intel Corp. Mobile Graphics Controller (rev 03)
0000:00:02.1 Display controller: Intel Corp. Mobile Graphics Controller (rev 03)
0000:00:1d.0 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
0000:00:1d.3 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev d3)
0000:00:1e.2 Multimedia audio controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
0000:00:1e.3 Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03)
0000:00:1f.0 ISA bridge: Intel Corp. 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
0000:02:04.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
0000:02:06.0 CardBus bridge: Texas Instruments: Unknown device 8031
0000:02:06.2 FireWire (IEEE 1394): Texas Instruments: Unknown device 8032
0000:02:0e.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

Vorbereitungen

Das nx6110 wird mit einem vorinstallierten Microsoft Windows Home ausgeliefert, welches eine Partition über die gesamte Festplatte belegt. Wenn man das Windows nicht löschen möchte, kann die Partition mit ntfsresize des Linux-NTFS Projekts verkleinert werden. Das Programm befindet sich unter anderem auch auf Knoppix.

Basis Installation

Sofern man über einen Internetzugang mittels Router verfügt, über den auch größere Datenmengen übertragen werden können (oder man aber entsprechend Geduld hat), kann eine Netzwerk-Installation durchgeführt werden. Das eingebaute Broadcom 4400 LAN Modul wird
automatisch von der Hardware-Erkennung während der Installation erkannt und mittels DHCP konfiguriert.

Da die Software in Debian Stable immer ein wenig älter ist, und damit für die eine oder andere Hardware zu alt, wird auf Backports zurückgegriffen. Dazu müssen folgende Einträge in /etc/apt/sources.list hinzugefügt werden:

deb http://www.backports.org/debian sarge-backports main
deb-src http://www.backports.org/debian sarge-backports main

Damit nicht automatisch alle Backports installiert werden, sondern nur die gewünschten, wird noch in /etc/apt/preferences die Pin-Priorität für Backports auf 200 gesetzt:

Package: *
Pin: release a=sarge-backports
Pin-Priority: 200

Nun können Backports nur gezielt mit

root@notebook# apt-get install -t sarge-backports paketname

installiert werden.

Kernel

Zum Zeitpunkt der Installation ist Version 2.6.15 der aktuellste Linux-Kernel. Dieser kann als Backport installiert werden:

root@notebook# apt-get install -t linux-image-2.6.15-1-686

Lilo

Als Bootloader verwende ich lilo. Die Konfiguration erfolgt in /etc/lilo.conf:

restricted
boot=/dev/hda
root=/dev/hda5
password=""
compact
install=/boot/boot-menu.b
map=/boot/map
menu-title="Lilo Bootmenu"
prompt
vga=0x317
timeout=50
default=Linux
append="reboot=b"
 
image=/vmlinuz
    label=Linux
    read-only
    initrd=/initrd.img
 
image=/vmlinuz.old
    label=LinuxOLD
    read-only
    optional
    initrd=/initrd.img.old
 
other=/dev/hda1
    label=Windows

Die hier gezeigte Konfiguration kann sowohl Linux mit aktuellem als auch vorletzten Kernel sowie das parallel installierte Microsoft Windows booten. Die Zeile vga=0x317 initialisiert den Vesa-Framebuffer in einer Auflösung von 1024×768. Das Kommando restricted erlaubt die zusätzliche manuelle Eingabe von Kernelparametern im Auswahlmenü nur nach Passwort-Eingabe. Das Passwort wird beim schreiben
von Lilo auf die Festplatte mit dem Kommando lilo abgefragt und verschlüsselt in der Datei /etc/lilo.conf.shs gespeichert.

Damit reboot im Linux-System auf dem nx6110 funktioniert, muss der Parameter reboot=b dem Kernel beim Systemstart übergeben werden. Dies wird durch den Eintrag append="reboot=b" vorgenommen.

CPU Frequency Scaling

Der Pentium-M unterstützt das dynamische takten der CPU um Strom zu sparen. Für Linux gibt es mehrere Dienste, die dieses vornehmen können. Eine einfache Variante ist powernowd, welches auch Intel CPUs unterstützt – anders als der Name vermuten lässt, hat es nämlich nichts mit der gleichnamigen AMD Technologie zu tun.

Der Dienst kann als Paket powernowd installiert werden:

root@notebook# apt-get install powernowd

Für den Betrieb ist sysfs erforderlich, daher ist dies in /etc/fstab zusätzlich einzutragen:

#file system       mount point      type         options          dump       pass
sysfs                   /sys                    sysfs       defaults          0              0

Des Weiteren werden mehrere Kernelmodule benötigt. Damit diese beim Systemstart geladen werden, müssen sie in /etc/modules eingetragen werden:

cpufreq_userspace
speedstep_centrino

powernowd wird nur über die Kommandozeile konfiguriert. Es kennt verschiedene Varianten, um die CPU Frequenz abhängig von der Last einzustellen. Ich habe mich für die Variante PASSIVE entschieden. Um diese beim Systemstart zu aktivieren, kann eine Konfigurationsdatei /etc/default/powernowd angelegt werden, welche dann beim Daemonstart ausgewertet wird:

OPTIONS="-q -m2"

Grafikkarte

Die eingebaute Grafikkarte von Intel wird vom Treiber i810 des X.Org X11-Servers unterstützt. Da X.Org kein Bestandteil von Debian Sarge ist (dort ist nur XFree86 verfügbar), muss auf einen Backport von Backports.org zurückgegriffen werden:

root@notebook# apt-get install -t sarge-backports x-window-system

Danach kann der X11-Server mit folgender Konfiguration in /etc/X11/xorg.conf betrieben werden:

Section "Files"
        FontPath        "unix/:7100"                    # local font server
        # if the local font server has problems, we can fall back on these
        FontPath        "/usr/lib/X11/fonts/misc"
        FontPath        "/usr/lib/X11/fonts/cyrillic"
        FontPath        "/usr/lib/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/Type1"
        FontPath        "/usr/lib/X11/fonts/CID"
        FontPath        "/usr/lib/X11/fonts/100dpi"
        FontPath        "/usr/lib/X11/fonts/75dpi"
EndSection
 
Section "Module"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "evdev"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        Load    "type1"
        Load    "vbe"
        Load    "synaptics"
EndSection
 
Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "de"
        Option          "XkbVariant"    "nodeadkeys"
EndSection
 
Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "Auto"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection
 
Section "InputDevice"
        Driver        "synaptics"
        Identifier    "touchpad"
        Option        "Device"        "/dev/psaux"
        Option        "Protocol"      "auto-dev"
        Option        "LeftEdge"      "1700"
        Option        "RightEdge"     "5300"
        Option        "TopEdge"       "1700"
        Option        "BottomEdge"    "4200"
        #Option        "FingerLow"     "25"
        Option        "FingerLow"     "20"
        #Option        "FingerHigh"    "30"
        Option        "FingerHigh"    "35"
        Option        "MaxTapTime"    "180"
        Option        "MaxTapMove"    "220"
        Option        "VertScrollDelta" "100"
        Option        "MinSpeed"      "0.08"
        Option        "MaxSpeed"      "0.18"
        Option        "AccelFactor" "0.0010"
        Option        "SHMConfig"     "on"
        Option        "TapButton2" "1"
        Option        "TapButton1" "2"
        Option        "UpDownScrolling"       "on"
        Option        "TouchpadOff"   "0"
        #Option       "Repeater"      "/dev/ps2mouse"
EndSection
 
Section "Device"
        Identifier      "Intel onboard"
        Driver          "i810"
        BusID           "PCI:0:2:0"
EndSection
 
Section "Monitor"
        Identifier      "nx6110 TFT"
        Option          "DPMS"
        HorizSync       28-49
        VertRefresh     43-72
EndSection
 
Section "Screen"
        Identifier      "Default Screen"
        Device          "Intel onboard"
        Monitor         "nx6110 TFT"
        DefaultDepth    16
        SubSection "Display"
                Depth           1
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           4
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           8
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           15
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
EndSection
 
Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard" "CoreKeyboard"
        InputDevice     "Configured Mouse" "CorePointer"
#       InputDevice     "touchpad" "AlwaysCore"
EndSection
 
Section "DRI"
        Mode    0666
EndSection

Der Intel Grafikchip verfügt über 3D-Hardwarebeschleunigung, welche auch vom i810-Treiber mittels DRI unterstützt wird. Allerdings funktioniert Unterstützung der Hardwarebeschleunigung nur, wenn die Karte mit einer Farbtiefe von 16 Bit betrieben wird. Eingestellt wird das mit der Option DefaultDepth in der Section Screen.

Soundkarte

Die AC97 Onboard Soundkarte wird von http://www.alsa-project.org mit dem Kernelmodul snd_intel8x0 unterstützt. Sofern der Distributions-Kernel verwendet wird, wird das Modul automatisch beim Systemstart geladen. Um es schließlich nutzen zu
können, sind noch die ALSA-Pakete zu installieren:

root@notebook# apt-get install -t sarge-backports alsa-base alsa-utils

Jetzt können mit alsamixer die Mixer-Einstellungen gesetzt werden. Die Pakete müssen von backports.org bezogen werden, da es ansonsten Probleme mit neueren Versionen von udev geben kann.

Netzwerk

LAN

Der Broadcom 4400 Netzwerk-Chip wird vom Kernel-Modul b44 unterstützt. Bei Verwendung des Distribution-Kernels wird das Modul automatisch geladen.

WLAN

Für das arbeiten mit Wireless-Geräten wird das Paket wireless-tools benötigt. Da der installierte Kernel neuer ist, als der Default-Kernel aus Debian Sarge, wird auch eine neuere Version der wireless-tools benötigt. Diese kann ebenfalls von backports.org bezogen werden:

root@notebook# apt-get install -t sarge-backports wireless-tools

Die im Notebook eingebaute WLAN-Karte IPW2200 von Intel kann mit dem Kernel-Modul ipw2200 betrieben werden. Ab Kernel Version 2.6.15 ist das Modul Bestandteil des Linux-Kernels. Für ältere Versionen muss man den Quellcode separat von der Projekt-Homepage herunterladen. In jedem Fall muss jedoch noch die Firmware von der Homepage heruntergeladen und in /usr/hotplug/firmware abgelegt werden.

Bei meinem Notebook ist nach dem booten von Linux das WLAN-Modul immer ausgeschaltet – obwohl im BIOS eingetragen ist, dass das WLAN-Modul immer aktiv sein soll. Daher muss dem Kernel-Modul beim laden als Parameter mitgegeben werden, die Hardware zu aktivieren:

notebook# modprobe ipw2200 led=1

Damit man den Parameter nicht immer extra angegeben muss, kann das auch in einer Konfigurationsdatei für modprobe abgelegt werden. Dazu ist eine neue Datei im Verzeichnis /etc/modprobe.d/ zu erstellen, welche folgende Zeile beinhaltet:

options ipw2200 led=1

Damit das Netzwerkinterface für die WLAN-Karte immer als wlan0 eingerichtet wird, kann das Programm ifrename verwendet werden. Das Programm ist als Paket ifrename im Debian Sarge Repository verfügbar:

root@notebook# apt-get install ifrename

Die Zuordnung von MAC-Adresse zu Interfacebezeichnung erfolgt in der Datei /etc/iftab:

eth0    mac 00:11:22:33:44:55
wlan0   mac 66:77:88:99:AA:BB

Damit das Kernel-Modul des Centrino WLAN-Moduls auch mit WEP arbeiten kann, müssen mehrere Kernelmodule gestartet werden. Damit das immer beim Systemstart passiert, werden diese zusätzlich in /etc/modules eingetragen:

ieee80211
ieee80211_crypt
ieee80211_crypt_wep

Automatische Konfiguration der Netzwerkinterfaces

Für ein Notebook bietet sich Network Manager für die Konfiguration der Netzwerkinterfaces an. Für KDE und Gnome existieren Applets, welche die Kontrolle über den Network Manager ermöglichen.

Leider ist Network Manager nicht Bestandteil von Debian Sarge. Auch auf backports.org sind keine Pakete verfügbar. Also bin ich selbst aktiv geworden. Die notwendigen Pakete können aus meinem APT Repository bezogen werden.

Für die Installation muss folgendes gemacht werden:

root_at_notebook# apt-get install -t sarge-backports network-manager

Jetzt werden weitere Pakete installiert, unter anderem aktuellere Versionen von dbus, hal und dhcdbd. Für das Gnome-Applet muss zusätzlich das Paket network-manager-gnome installiert werden:

root_at_notebook# apt-get install -t sarge-backports network-manager-gnome

Für KDE existiert das Applet network-manager-kde:

root_at_notebook# apt-get install -t sarge-backports network-manager-kde

Network Manager verwaltet nur Netzwerkinterfaces, welche nicht in /etc/network/interfaces deklariert sind. Daher müssen alle Einträge, mit Ausnahme von lo entfernt werden, so dass die Datei ungefähr so aussieht:

auto lo
iface lo inet loopback

Wenn Network Manager gestartet über das jeweilige Applet gestartet wird, erkennt es automatisch vorhandene Kabel- oder Funknetzwerke. Diese können dann ausgewählt werden, um sich damit zu verbinden.

Networkmanager KDE

PCMCIA

PCMCIA hat nach der Installation funktioniert, die Dienste wurden erfolgreich gestartet. Mangels PCMCIA-Karten kann ich keine weiteren Aussagen machen.

Hibernate und Suspend

Hibernate und Suspend funktionieren nicht mit Debian Sarge. So verweigert nach der Wiederherstellung zum Beispiel eine USB-Maus ihren Dienst. Bei aktiviertem X-Server kann dieser nicht die Grafikkarte korrekt initialisieren, so dass es zu einem schwarzen Bildschirm kommt, in dem der X-Server in einer Endlosscheife hängt. Das System ist aber weiterhin aktiv und zum Beispiel über das Netzwerk erreichbar.

Mit Kubuntu Edgy funktioniert es nun – geholfen hat ein aktuellerer Grafiktreiber für X.Org und die Erkenntnis, das vbetool nicht verwendet werden darf (Blogeintrag). Eventuell kann mit diesen Informationen Hibernate und Suspend auch mit Debian Sarge genutzt werden.

Theme Design by devolux.nh2.me