LUGUM:Debian Sid on Dell Precision M70 englisch

From LUGUM

Jump to: navigation, search

Inhaltsverzeichnis

Debian Linux (sid/unstable) on a Dell Precision M70 tuxmobil_sticker.png

German Version


This page describes how I got Debian Sid up and running on my DELL. Unfortunately I didn't test all the hardware inside my machine..


Hardware

Inside my DELL we have the following:

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


Interfaces

  • 1 Serial Interface
  • 1 Riser slot for Mini-PCI-Card Type IIIA
  • 1 VGA and 1 S-Video-TV-Out
  • 1 Infrared Interface
  • 1 Mic Jack
  • 1 Headphone-/external speakers
  • 4 USB 2.0-Connectors
  • 1 Modem Jack
  • 1 Network Jack
  • A parallel port is available using the DELL D-View (docking station which I don't have..)

The following components have not been tested yet:

  • Serial Interface
  • SmartCard Reader
  • S-Video-TV-Out
  • Infrared Interface

The following components did not work:

  • Modem: Tested until "No Dialtone", didn't work.. giving up.
  • Hotpug: exchanging mediabay with harddrive and CD-ROM


My first impression of the machine was good. Got a fantastic screen, no desiccated eyes after long working hours. And writing with the integrated keyboard is comfortable. It got a touchpad and a trackstick, well, I couldn't get the trackstick to work with all kernel versions. With newer kernels this is no problem anymore. The book just has no more PS/2 connectors, but is equipped with 4 easy accessible USB connectors (2 at the back and 2 at the right side). I can't tell anything about battery lifetime, for I just didn't clock the time.

For the battery lifetime is really depending on e.g. CPU load, I suggest using frequency scaling and decrease the screens brightness settings.

Installation

The machine has been delivered with a preinstalled 90MB "DELL Utility Partition", followed by the Windows XP partition with the remaining space. I had a shrink on the XP partition to free space for linux..

At the beginning I had problems with Woody installer, as well with Sarge prerelease CD I got at the Linuxtag 20004 (can't remember the reasons anymore). So I got me a Debian installation cd from http://wiki.osuosl.org/display/LNX/Debian+on+Dell+Servers http://wiki.osuosl.org with some special drivers for DELL Servers and PCs, also containing the Broadcom tg3 drivers for the onboard LAN chip. During the installation I also changed the apt sources from Woody to sid, so I just skipped Woody completely.

However, I suggest installing with the Debian net install cd from http://cdimage.debian.org/cdimage/etch_di_beta2/i386/iso-cd/debian-testing-i386-netinst.iso Net-Install CD. In fact it's the Debian testing distribution, but the installer got a new feature to let the user choose between stable/sarge testing/etch or unstable/sid

At first boot the kernel needs a parameter to discover and use the cdrom drive, which is: install libata.atapi_enabled=1

Kernel

After sucessfully installation compiling a new kernel was neccessary. Below my kernel configs

which I used to compile my kernels. This has been done by using a script named my-kernel-2.6. The script is really easy to use, optimized for lilo and in addition it's changing settings for the cd drive. If you are going to use GRUB, you can just disable the lilo value in the script.

The kernel has been compiled with all neccessary drivers except for the modem, the smartcard reader and infrared. For in the latest kernel config versions these drivers can be activated too.

If you're going to use bootsplash, get a patch for your running kernel here: hier and put it in /usr/src/patches/ so the script can find and auto patch the kernel, or.using

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

to patch the kernel manually. After successfully compiling the new kernel the script is creating a new folder in /usr/src/patkete/[version und datum]/ where you find your new kernel.deb file. However, the kernel will be automatically installed. You also can do it manually by using dpkg -i.

LILO

After successfully installing the kernel you should adjust your /etc/lilo.conf as following, then run lilo again.

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

# config for my lilo wallpaper
# download here and extract the bmp in /boot and properly adjust the name.
# 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 for my Bootsplash
initrd=/boot/initrd.splash  #Bootsplash initrd Datei
vga=791                     #resolution of Splashscreen e.g. "791" for 1024x768
append="splash=silent"      #or append="splash=verbose"

# default boot kernel
default=2.6.13.1

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

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

# New Kernel
# The following lines has been automatically commented out by the script and must be edited.
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" # With this parameter it is possible 
                                        # to set the CD drive as a SATA device.
                                        # Also you have to "undef ATA_ENABLE_PATA" 
#in "define ATA_ENABLE_PATA"
# in /usr/src/linux/include/linux/libata.h
                                        
                                        # before you start compiling!
                                        # Warning: This driver is in development and you could
                                        # possible loose your data! (I never had problems anyway)

Bootsplash

To install bootsplash edit lilo.conf as above and add

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

in your /etc/apt/sources.list and

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

to update the sources and install bootsplash. (it actually got very quiet on their pages.)


Additional information regarding bootsplash you can find here http://www.bootsplash.de/ andhere http://www.debianforum.de/wiki/Bootsplash

CPU frequency scaling

CPU frequency scaling does work excellent and choce my CPU down to 34Mhz ;o) Most important modules are already compiled in.

cpufreq_userspace
speedstep_centrino

Then you just

 apt-get install powernowd 

to activate it all.

Suspend to RAM/Disk

Suspend to RAM/Disk does work excellent.

Network (Cable & Wireless)

The internal network card using a broadcom chip. The tg3 driver does a wonderful job here.

Before you purchase consider there are 4 types of wireless cards to choose between. There is Intels PRO/Wireless 2915ABG and PRO/Wireless 2200BG, and the Dell Wireless 1370 WLAN and Dell Wireless 1450 WLAN. Better you go for the Intel versions for the DELL cards won't work.

To get the Intel wlan cards up and running, get the latest drivers from http://ipw2200.sourceforge.net/
This one will work with both Intel cards, nevertheless you will need a Closed Source Firmware from Intel.

Installation is conceivable easy, if your self compiled kernel lies in /usr/src/linux.

Get ieee80211 from http://ieee80211.sourceforge.net/, extract it, compile it and install it with

make
make install

So you just need to download the driver for the wireless card from http://ipw2200.sourceforge.net/firmware.php and extract it in /lib/firmware, doesn't matter if the module is self compiled or in the kernel.

Sound

Alsa supports the Sound Chip, why it is not possible to change the volume with the buttons above the keyboard. Anyway I wrote my little helper which you will find below:

so, we need xbindkeys and setmixer. And we install it with

apt-get install xbindkeys setmixer

We create ~/.xbindkeysrc in your "home" directory with this content:

# Decrease Volume
"setmixer vol -3"
    m:0x0 + c:174
      NoSymbol

# Increase Volume
"setmixer vol +3"
    m:0x0 + c:176
      NoSymbol

# Mute on/off.
"~/.soundonoff"
    m:0x0 + c:160
      NoSymbol

and we need a script named ~/.soundonoff which does the mute function for us.
This script has been made by http://bernd-wurst.de/. Many thanks for that. After creating the script it has to be made startable with chmod +x.

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;

If you want setmixer to work properly, it has to be started before your window manager under a users account. You just change code in ~/.xsession

  as following, then start KDE "default Session" 
LANG=de_DE@euro
export LANG
xbindkeys 
eval "$(gpg-agent --daemon)"
exec startkde


Nvidia

The vga card used in the M70 is a Nvidia Quadro FX Go1400, which is installed easy as a snap, for Nvidia is one of the few manufacturers who offers high quality linux drivers for their products, even if they are not open source.

You have 3 possibilities to install these drivers...

Nvidia-Installer

Installation is really easy, if your self compiled kernel is located in /usr/src/linux. Get the drivers from http://www.nvidia.de/ and install with

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

The disadvantage of this method is that you have to install the driver again, if you recompile your kernel.

module-assistant

module-assistant is a debian package which lets you install source code afterwards. Looks like ..

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

my-kernel-2.6

If you want it even more easier, get the kernel script above my-kernel-2.6, apt-get install nvidia-source and tell the script to compile the nvidia driver during its process.

X11

After successful installation change your /etc/X11/xorg.conf.

My config below:


# 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

Dump of 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

Install udev with
apt-get install udev
and make changes in /etc/modules as below..
nvidia
ipw2200


Andreas Kraus lug@ak1301.de

Persönliche Werkzeuge