LUGUM:Debian Sid auf Dell Precision M70
From LUGUM
Inhaltsverzeichnis |
Debian Linux (sid/unstable) auf einem Dell Precision M70
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 einapt-get install udevdanach sollte man aber in /etc/modules
nvidia ipw2200
einfügen, da es sonst zu Problmen kommen kann.
Andreas Kraus lug@ak1301.de



