LUGUM:Debian Sid auf Dell Precision M70

From LUGUM

Jump to: navigation, search

Inhaltsverzeichnis

Debian Linux (sid/unstable) auf einem Dell Precision M70 tuxmobil_sticker.png

English Version

Diese Seite beschreibt, wie ich Debian auf meinem Dell zum Laufen bekommen habe. Leider habe ich nicht alles getestet, was dieser Rechner an Hardware mitbringt.


Die Hardware

Ich habe mir folgende Hardware zusammengestellt:

  • Intel(R) Pentium(R) M processor 1.86GHz (Centrino)
  • 15.4" WSXGA+ TFT Display (1680x1050)
  • nVidia Quadro FX Go1400 PCI-Express 3D OpenGL Grafikkarte mit 256 MB Speicher
  • 80 GB IDE ATA-100 Festplatte (5.400 U/Min.)
  • 1 GB 533 MHz DDR2-SDRAM (2x 512 MB)
  • Internes 56k Modem (Winmodem, Intel ICH6)
  • 24x CD-RW/8x DVD Combo Laufwerk
  • WLAN Karte, Intel PRO/Wireless 2915ABG
  • Gigabit Netzwerkkarte, Broadcom NetXtreme BCM5751
  • Texas Instruments SmartCard Reader
  • Dell TrueMobile Bluetooth-Modul


Schnittstellen

  • 1 Serieller Anschluss
  • 1 Steckplatz für Mini-PCI-Karte Typ IIIA
  • 1 VGA und ein S-Video-TV-Out-Ausgang
  • 1 Infrarot Schnittstelle
  • 1 Mikrofoneingang
  • 1 Kopfhörer-/Lautsprecherausgang
  • 4 USB 2.0-Anschlüsse
  • 1 Modemanschluss
  • 1 Netzwerkanschluss
  • Der Druckeranschluss wird über eine Docking Station bereitgestellt, die ich aber nicht besitze.


Folgende Komponenten sind nicht getestet:

  • Serieller Anschluss
  • SmartCard Reader
  • S-Video-TV-Out-Ausgang
  • Infrarot Schnittstelle

Folgende Komponenten sind nicht funktionsfähig:

  • Modem: Ich hab es bis zu "No Dialtone" getestet, funktioniert aber nicht auf anhieb und habe dann auch nicht weiter getestet
  • Hotpug des Mediabay zwischen Festplatte und CD-ROM


Der erste Eindruck war gut. Der Monitor ist klasse, auch bei sehr langem Arbeiten, und mit der Tastatur ist das Schreiben auch sehr angenehm. Der Laptop besitzt ein Touchpad und ein Trackstick, wobei ich den Trackstick nicht unter allen Kerneln zum Funktionieren überreden konnte, jedoch unter aktuellen kerneln kein Problem mehr war. Der Laptop hat zwar keinen PS/2 Anschluss, dafür aber 4 sehr gut erreichbare USB ports (2 hinten und 2 an der rechten Seite). Über die Akkulaufzeit kann ich nichts sagen, da ich es noch nicht gestoppt habe.

Da die Akkulaufzeit stark von von der CPU Geschwindigkeit abhängt, empfehle ich frequency scaling und die Helligkeit des Monitors zu verringern.

Installation

Bei der Auslieferung ist auf der Festplatte erst eine kleine 90 MB "Dell Utility" Partition, gefolgt von der Windows XP Partition die den Rest des Platzes einnimmt. Ich habe die XP Partition auf 10 GB geschrumpft um genug Platz für Linux zu haben.


Da ich Probleme mit der Woody CD, sowie der Sarge Prerealease CD vom Linuxtag 2004 hatte (Die Gründe weiß ich leider nicht mehr), hab ich mir von http://wiki.osuosl.org eine Debian Installations CD heruntergeladen, die speziell alle wichtigen Treiber für Dell Server und PC's besitzt. Diese CD besitzt vorallem den tg3 Treiber für die Netzwerkkarte. Während der installation habe ich gleich die Quellen auf sid geändert und habe komplett woody übergangen.

Allerdings empfehle ich jetzt die Installation direkt mit der Debian Net-Install CD. Das ist zwar der installer für Testing, aber als neues Feature kann man auswählen ob man stable/sarge testing/etch oder unstable/sid installieren will.

Beim booten muss man auf jeden Fall install libata.atapi_enabled=1 eingeben damit das CD-ROM erkannt wird.

Kernel

Nach der Installation habe ich direkt einen eigenen Kernel 2.6 compilliert. Hier sind ein Paar meiner Kernel-Configs

mit der ich die aktuellen Kernel compilliert habe. Das habe ich mit der Hilfe von dem Script my-kernel-2.6 gemacht. Dieses Script ist sehr leicht bedienbar und ändert auch gleich die Einstellungen für das CD-ROM. Es ist auf Lilo ausgelegt, da ich hauptsächlich lilo nutze. Möchte man Grub nutzen kann man die Lilo abfragen per Variable deaktivieren.

Im Kernel sind alle von mir benötigten Treiber fest eincompilliert, je nach Version aber nicht der Treiber für das Modem, den Smartcardreader und Infrarot.

Für den Bootsplash sollte man sich von hier den Patch für den aktuellen kernel holen und in /usr/src/patches/ legen damit das script my-kernel-2.6 den Kernel automatisch Patcht oder mit


cd /usr/src/linux && patch -p1 < /pfad_zum_patch/bootsplash-<versionsnummer>.diff

den Kernel per Hand patchen. Nach dem Compillieren erstellt das Script in /usr/src/patkete/[version und datum]/ einen neuen Ordner in dem ein .deb paket des neuen Kernels liegt, welches mit dem Script auch Automaisch Installiert wird oder das man mit dpkg -i einfach installieren kann.

LILO

Nach der Installation des Kernels sollte man seine /etc/lilo.conf folgendermaßen anpassen und danach nochmal lilo ausühren.

# Standard Werte
lba32
boot=/dev/sda
root=/dev/sda3

# config für mein lilo Hintergrundbild
# Hier herunterladen und das bmp bild nach /boot entpacken und Name anpassen.
# http://www.kde-look.org/content/show.php?content=11098
#

install=/boot/boot-bmp.b       # means you will use grafical version
bitmap=/boot/handy.bmp     # background path
bmp-colors=38,68,53,112,38,25  # text color
bmp-table=114p,347p,2,7        # label position on the screen p=pixel
bmp-timer=470p,336p,25,0,11    # timer position on the screen p=pixel


map=/boot/map
delay=20
prompt
timeout=150

# config für mein Bootsplash
initrd=/boot/initrd.splash  #Bootsplash initrd Datei
vga=791                     #Auflüsung des Splashscreenbildes z.B "791" für 1024x768
append="splash=silent"      #oder append="splash=verbose"

# Standardmäßig gebooteter Kernel
default=2.6.13.1

# Windows XP Auswahl
other=/dev/sda2
  label="Non_OS"

# Bootfloppy Kernel
image=/boot/vmlinuz-2.4.29-bf2.4
        label=2.4.29
        read-only

# Neuer Kernel
# Die nachfolgenden Zeilen sind beim Einfügen durch das Script auskommentiert und müssen editiert werden.
image=/boot/vmlinuz-2.6.13.1-0
        label=2.6.13.1
        read-only

image=/boot/vmlinuz-2.6.15.1
        label=2.6.15.1
        read-only
        append="libata.atapi_enabled=1" # Mit diesem Parameter ist es möglich 
                                        # das CD-Rom als SATA Device anzupassen.
                                        # zudem muss in /usr/src/linux/include/linux/libata.h
                                        # "undef ATA_ENABLE_PATA" in "define ATA_ENABLE_PATA"
                                        # vor dem kompillieren geändert werden.
                                        # Achtung! Der Teiber ist in Entwicklung und es kann
                                        # zum Datenverlust führen (Hatte aber noch keine Probleme damit)

Bootsplash

Für die Installation von Bootsplash ändert man wie oben die lilo.conf und sollte

deb http://debian.bootsplash.de unstable main
deb-src http://debian.bootsplash.de unstable main

in die /etc/apt/sources.list einfügen und per

apt-get update
apt-get install  bootsplash-theme-slide bootsplash sysv-rc-bootsplash

die bootsplash Pakete installieren. (auf der Seite ist es im Moment etwas ruhig geworden.)


Weitere Informationen dazu unter http://www.bootsplash.de/ und http://www.debianforum.de/wiki/Bootsplash

CPU frequency scaling

CPU frequency scaling funktioniert wunderbar und drosselt die CPU auf bis zu 34 Mhz :-) . Die wichtigen Module sind in meinem Kernel schon eingebaut.

cpufreq_userspace
speedstep_centrino

Dann einfach per

 apt-get install powernowd 

aktivieren.

Suspend to RAM/Disk

Suspend to RAM/Disk funktioniert wunderbar

Netzwerk (Kabel & Wireless)

Die eingebaute Netzwerkkarte benuzt einen Broadcom Chip. Der tg3 Treiber im Kernel funktioniert wunderbar.

Bei Kauf kann man zwischen 4 verschiedenen wlan Karten auswählen. Von Intel die PRO/Wireless 2915ABG und die PRO/Wireless 2200BG, sowie von die Dell Wireless 1370 WLAN und die Dell Wireless 1450 WLAN. Die beiden Karten von Dell sind nicht zu empfehlen, da sie einen Broadcom Chipsatz haben, der unter Linux nicht funktionieren soll.

Für die Intel Wlan Karten gibt es Open-Source Treiber von http://ipw2200.sourceforge.net/
Dieser geht mit beiden Karten von Intel, es wird aber eine Closed Source Firmware von Intel benötigt.

Die Installation ist denkbar einfach, wenn der selbst gebackene Kernel in /usr/src/linux liegt.

Dazu lädt man es von http://ieee80211.sourceforge.net/ herunter, entpackt es, compilliert und installiert es per

make
make install

Danach benötigt man noch den eigentlichen Treiber von http://ipw2200.sourceforge.net/firmware.phpherunterzuladen und nach /lib/firmware entpacken, unabhängig davon, ob das Modul im Kernel ist oder selbst compilliert.

Sound

Alsa unterstützt den Sound Chip, allerdings ist es nicht möglich über die Tasten am Laptop, die Lautstärke zu ändern. Da ich bis jetzt nichts fertiges fand, hier ein kleines Helferlein:

dazu brauchen wir xbindkeys und setmixer. Das intallieren wir per

apt-get install xbindkeys setmixer

danach legen wir eine ~/.xbindkeysrc im eigenen "home" Verzeichnis mit folgendem Inhalt an:

# Leiser Taste
"setmixer vol -3"
    m:0x0 + c:174
      NoSymbol

# Lauter Taste
"setmixer vol +3"
    m:0x0 + c:176
      NoSymbol

# Stumm schalten und wieder Laut.
"~/.soundonoff"
    m:0x0 + c:160
      NoSymbol

danach benötigen wir noch ein script namens ~/.soundonoff was für das Stumm schalten zustäntig ist.
Dieses Script ist von http://bernd-wurst.de/ übernommen, Vielen Dank meinerseits. Nach Erstellen des Scriptes, muss es per chmod +x noch ausfürbar gemacht werden.

if [ "`setmixer -V|grep -e '^[ ]*vol'|awk '{print $3;}'`" == "0,0" ];
        then if [ -f /tmp/mixer_prev_val ];
                then
                       setmixer vol `cat /tmp/mixer_prev_val`;
                else
                       setmixer vol 50;
               fi
        else
             echo "`setmixer -V|grep -e '^[ ]*vol'|awk '{print $3;}'`" > /tmp/mixer_prev_val;
             setmixer vol 0,0;
fi;

Damit setmixer funktioniert, muss es vor dem Windowmanager als user gestartet werden. Ich hab dazu einfach in der ~/.xsession

  folgende zeilen ergänzt, und starte dann unter KDM die "default Session" 
LANG=de_DE@euro
export LANG
xbindkeys 
eval "$(gpg-agent --daemon)"
exec startkde


Nvidia

Die im Precision M70 eingebaute Nvidia Quadro FX Go1400 ist sehr einfach einzurichten, da Nvidia einer der wenigen Hersteller ist, der qualitativ hochwertige wenn auch nicht Open-Source Linux-Treiber anbietet.

Es gibt 3 Möglichkeiten den Treiber zu Installieren

Nvidia-Installer

Die Installation ist denkbar einfach, wenn der selbst gebackene Kernel in /usr/src/linux liegt. Dazu von http://www.nvidia.de/ den Treiber Herunterladen und per

sh NVIDIA-Linux-x86-1.0-<versionsnummer>-pkg1.run

installieren. Das ganze hat aber den Nachteil, das der xserver Teile vom Treiber beim upgrade überschreibt, und man das Script immer wieder mal nach einem Upgrade ausführen muss

module-assistant

module-assistant ist ein debian Paket mit dem man einfach Treiber die nicht im Kernel sind installieren kann.

 m-a a-i nvidia
 depmod -a
 modprobe nvidia

reicht um den Treiber zu installieren.

my-kernel-2.6

Soll es noch einfacher gehen, nutzt man das oben beschriebene Script my-kernel-2.6 zum Kompillieren und sagt einfach das das Nvidia Paket mit installiert werden soll.

X11

Nach der Installation muß die /etc/X11/xorg.conf angepasst werden.

Hier ist meine Config:


# xorg.conf.dpkg-new (Xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf.dpkg-new manual page.
# (Type "man xorg.conf.dpkg-new" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
#   cp /etc/X11/xorg.conf.dpkg-new /etc/X11/xorg.conf.dpkg-new.custom
#   md5sum /etc/X11/xorg.conf.dpkg-new >/var/lib/xfree86/xorg.conf.dpkg-new.md5sum
#   dpkg-reconfigure xserver-xorg

Section "Files"
    FontPath    "/usr/share/fonts/X11/misc"
    FontPath    "/usr/share/fonts/X11/100dpi:unscaled"
    FontPath    "/usr/share/fonts/X11/75dpi:unscaled"
    FontPath    "/usr/share/fonts/X11/Type1"
    FontPath    "/usr/local/share/fonts"
EndSection


Section "Module"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
#       Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        Load    "type1"
        Load    "vbe"
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          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ImPS/2"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
        Option          "Buttons"               "5"
EndSection


Section "Extensions"
        Option "Composite" "Enable"
EndSection


Section "InputDevice"
        Identifier  "PS/2 Mouse"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option          "ZAxisMapping"          "4 5"
        Option      "Device" "/dev/psaux"
        Option      "Emulate3Buttons" "true"
        Option          "CorePointer"
        Option      "Emulate3Timeout" "70"
        Option      "SendCoreEvents"  "true"
EndSection


Section "Device"
        Identifier      "Generic Video Card"
        Driver          "nvidia"
        BusID           "PCI:1:0:0"
        Option          "AllowGLXWithComposite" "true"
        Option          "UseEdidFreqs" "off"
        Option          "IgnoreEDID" "True"
EndSection


Section "Monitor"
        Option       "CalcAlgorithm" "CheckDesktopGeometry"
        DisplaySize  320 240
        HorizSync    27-90
        Identifier   "Generic Monitor"
        ModelName    "1400X1050@60HZ"
        Option       "DPMS"
        VendorName   "--> LCD"
        VertRefresh  40-60
        UseModes     "16:10"
EndSection


Section "Modes"
        Identifier "16:10"
        # 1280x800 @ 75.00 Hz (GTF) hsync: 62.62 kHz; pclk: 107.21 MHz
        Modeline "1280x800"  107.21  1280 1360 1496 1712  800 801 804 835
        # 1280x800 @ 85.00 Hz (GTF) hsync: 71.40 kHz; pclk: 123.38 MHz
        Modeline "1280x800"  123.38  1280 1368 1504 1728  800 801 804 840
        # 1280x800 @ 100.00 Hz (GTF) hsync: 84.80 kHz; pclk: 147.89 MHz
        Modeline "1280x800"  147.89  1280 1376 1512 1744  800 801 804 848
        # 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
        Modeline "1680x1050"  147.14  1680 1784 1968 2256  1050 1051 1054 1087
        # 1680x1050 @ 75.00 Hz (GTF) hsync: 82.20 kHz; pclk: 188.07 MHz
        Modeline "1680x1050"  188.07  1680 1800 1984 2288  1050 1051 1054 1096
        # 1680x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 214.51 MHz
        Modeline "1680x1050"  214.51  1680 1800 1984 2288  1050 1051 1054 1103
        # 1680x1050 @ 100.00 Hz (GTF) hsync: 111.20 kHz; pclk: 256.20 MHz
        Modeline "1680x1050"  256.20  1680 1808 1992 2304  1050 1051 1054 1112
        # 1920x1200 @ 75.00 Hz (GTF) hsync: 93.97 kHz; pclk: 246.59 MHz
        Modeline "1920x1200"  246.59  1920 2064 2272 2624  1200 1201 1204 1253
        # 1920x1200 @ 85.00 Hz (GTF) hsync: 107.10 kHz; pclk: 282.74 MHz
        Modeline "1920x1200"  282.74  1920 2072 2280 2640  1200 1201 1204 1260
        # 1920x1200 @ 100.00 Hz (GTF) hsync: 127.10 kHz; pclk: 337.58 MHz
        Modeline "1920x1200"  337.58  1920 2072 2288 2656  1200 1201 1204 1271
EndSection


Section "Screen"
        Identifier      "Default Screen"
        Device          "Generic Video Card"
        Monitor         "Generic Monitor"
        DefaultDepth    24
        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           "1680x1050" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection


Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
        InputDevice     "PS/2 Mouse"
EndSection


Section "DRI"
        Mode    0666
EndSection

Ausgabe von lspci

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: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: nVidia Corporation NV41 [Quadro FX Go1400] (rev a2)
0000:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)
0000:03:01.0 CardBus bridge: Texas Instruments PCI6515 Cardbus Controller
0000:03:01.5 Communication controller: Texas Instruments PCI6515 SmartCard Controller
0000:03:03.0 Network controller: Intel Corporation PRO/Wireless 2915ABG MiniPCI Adapter (rev 05)

Udev

Um udev zu Installieren, genügt ein
apt-get install udev
danach sollte man aber in /etc/modules
nvidia
ipw2200

einfügen, da es sonst zu Problmen kommen kann.



Andreas Kraus lug@ak1301.de

Persönliche Werkzeuge