Linux on the Dell Latitude D600
This document describes and summarizes the installation of
Knoppix 3.2 (April 2003, DE) on my Dell Latitude D600
and subsequent modifications of the opeation system.
The description should be self-explanatory.
However, if there is something not clear, do not hesitate and
ask.
My email address is at the bottom of this page.
Disclaimer:
I am not responsible for anything that happens to you or
your computer if you follow these instructions!
You do this at your own risk!
Table of contents
Introduction
This guide (currently a work in progress) might help you to get the
most out of your Dell Latitude D600.
Mine arrived with Windows XP installed which was useless to me.
I have erased and reconfigured the disk and installed on the entire hard disk
the Debian system
Knoppix 3.2 (April 2003, DE)
from the live-CD.
The present model has the following components:
- 1.4GHz Intel Pentium-M (32KB L1 / 1MB L2 on die, 400 MHz FSB)
- 14'' SXGA+ TFT LCD (supports resolutions up to 1400x1050)
- ATi Mobility Radeon 9000, AGPx4, 32 MB DDR
- 1x 512MB PC2100 DDR RAM
- 40GB hard disk (Hitachi Travelstar 40GNX, 5400 rpm,
IC25N040ATCS05-0, ATA DISK drive)
- Atapi DVD-ROM/CD-RW drive, 8x/24x/10x/24x
(HL-DT-STCD-RW/DVD-ROM GCC-4240N)
- Intel soundcard (ICH3/SigmaTel STAC 9750 AC97)
- 10/100/1000 Mbit Ethernet adapter (Broadcom Corporation
NetXtreme BCM5702, rev 02)
- Conexant D480 MDC V.92/Intel 82801DB AC97 Modem
- Wireless LAN card (Dell TrueMobileTM 1300 (802.11b/g) mini PCI)
Other on-board components:
- 1 PCMCIA slot
- 1 mini-PCI slot
- 2 USB ports
- parallel, vga connectors
- mic in, stereo headphones out
Note:
The following information assumes knowledge of how to install a new linux
kernel at minimum.
Although explicit instructions are given below, knowing how to patch and
configure the kernel source will help.
More help provides the
Linux Kernel HOWTO .
Knoppix installation
Pre-boot
- power-on
- change boot order in the BIOS to have CD/DVD boot before HDD
- save the modifications and reboot
- insert Knoppix CD
Knoppix boot
- The boot screen should have a big Knoppix graphic and waits for
a boot command.
- If you have the SXGA+ screen, type behind the boot prompt
knoppix screen=1400x1050
to check if your "high performance" LCD works properly.
- The system should automatically recognize most of the hardware
and then boot into X with the KDE window manager.
- Open a terminal window.
- In the terminal window, type:
sudo /usr/local/bin/knx-hdinstall
to start the installation of Knoppix onto your hard disk.
- first knx-hdinstall formats the partitions using cfdisk.
My partition table looks like (just an example)
Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 36 289138+ 83 Linux
/dev/hda2 37 97 489982+ 82 Linux swap
/dev/hda3 98 3744 29294527+ 83 Linux
/dev/hda4 3745 4864 8996400 83 Linux
where hda1 is for a tiny debian subsystem and
hda3 is /.
Note:From the partition partion table above you see, that there
is no partition for Windows operation systems.
If you want to keep the pre-installed Windows XP system than you have
have a look on the web page of
Austin Murphy .
- Write your prefered partition table to disk and quit cfdsik.
- Go through the motions to initialize and activate the swap partition
- Go through the motions to initialize and activate the root partition,
ext3 is a good choice.
- Afterwards knx-hdinstall copies the files from CD to HDD. slow...
- The next step is the configuration of the different subsystems
- Say YES to the mailserver
- Say YES to sshd
- Say NO to samba
- Say NO to cups
- Say NO to kdm
- The next stage is network configuration.
If you want DHCP to work, plug in the network cable.
- Set the hostname (any name will do).
- Say YES to automatic network configuration with DHCP.
If you want to do a manual network configuration, skip the DHCP section
and run the utility "netcardconfig", you may need to set
/etc/resolv.conf.
- Set the root password.
- Make an user account.
- Say YES to LILO.
- Say NO to rescue floppy.
- Done with knx-install script.
- Reboot.
Hard disk
The installation of Knoppix on the hard disk has activated the correct DMA
mode automatically.
In the boot script /etc/init.d/bootmisc.sh there is the entry
/sbin/hdparm -qd1 /dev/hda
The command that yields timings is hdparm -tT /dev/hda.
Run the command a few times to make sure its stable and anything else
runs on the computer.
hdparm -tT /dev/hda
/dev/hda:
Timing buffer-cache reads: 128 MB in 0.27 seconds =474.07 MB/sec
Timing buffered disk reads: 64 MB in 2.50 seconds = 25.60 MB/sec
Ethernet
The Broadcom ethernet adapter works with the tg3 module without any problems.
Audio
The OSS i810 driver i810_audio works quite well.
However,
Mike Hardy recommends to install the the corresponding
ALSA drivers to have fully functioning audio.
the OSS driver might have some problems with respect to the clock frequency.
The bothering bell during insertion of pcmcia cards can be switched off with
the entry
CARDMGR_OPTS="-qvf"
in the file /etc/default/pcmcia.
To disable the beeping when tab completes better reads the hints on
http://www.tldp.org/HOWTO/mini/Visual-Bell.html.
I have simply inserted xset -b into the $HOME/.xinitrc file.
PCMCIA
The PCMCIA decive is recognized by the Knoppix Debian kernel and seems to
work.
But the device is not checked yet because I do not have any PCMCIA cards.
USB
The default Knoppix kernel supports USB 1.0 and 2.0.
In principle every kernel compiled with
CONFIG_USB=m
CONFIG_USB_DEVICEFS=y
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_UHCI=m
should provide the necessary modules (ehci-hcd, usb-uhci, usbcore)
that the USB ports work.
Here is my
kernel configuration (.config) file.
The programm usbview is a nice tool to visualize devices connected
with the USB ports.
However usbview needs access to /proc/bus/usb/devices,
i.e. the entry
none /proc/bus/usb usbfs defaults 0 0
should appear in /etc/fstab.
Post-install
LILO config
Adapt /etc/lilo.conf to your wishes.
For example, change the labels in /etc/lilo.conf according
to the name of of the linux version installed (cat /proc/version).
Furthermore change the line
append="hda=scsi hdb=scsi ... hdf=scsi apm=power-off nomce"
to
append="hdc=ide-scsi apm=power-off nomce"
Or just examine lilo.conf
Kernel update
The linux kernel came with Knoppix (2.4.20-xfs) does not support
ACPI
(Advanced Configuration and Power Interface) as well as
the
DRI
(Direct Rendering Inteface) of the ATi Mobility Radeon 9000
graphic card.
ACPI is a standard that defines power and configuration management
interfaces between an operating system and the BIOS.
It is meant to supersede the older APM standard (for power management) and
provide a generic interface for recognition and configuration of hardware
devices.
To use ACPI on the D600 a
DSDT
(Differentiated System Description Table) is necessary.
The table contains the DBB (Differentiated Definition Block), which
supplies the information and configuration information about the base
system.
It is always inserted into the ACPI Namespace by the OS at boot time.
Knoppix 3.2 installs XF86 4.3 but the DRI is not enabled hence no
3D graphic driver for the card is available on the system.
DRI is a hardware accelerated 3D graphics and also
very helpful for DVD playback.
The following procedure describes briefly how to install a new debian
kernel source (2.4.21-rc8) with patches from
http://savannah.nongnu.org/projects/laptopkernel/
(laptopkernel-2.4.21-rc8-laptop1)
and
http://gaugusch.at/kernel.shtml
.
- Become root (su).
- To get the kernel source add the line
deb http://ftp.arege.jp/debian-arege sid kernel-source
to /etc/apt/sources.list and run apt-get update.
- Fetch the kernel source
(apt-get install kernel-source-2.4.21-rc8).
- Move to /usr/src and unpack the new kernel source
(tar -jxvf kernel-source-2.4.21-rc8.tar.bz2).
- Rename the directory of the newer kernel source
(mv kernel-source-2.4.21-rc8 linux-2.4.21-rc8).
- Delete the symbolic link linux
(rm linux).
- Grab the ACPI and DRI kernel patch
(wget
http://savannah.nongnu.org/download/laptopkernel/laptopkernel.pkg/2.4.21-rc8-laptop1/laptopkernel-2.4.21-rc8-laptop1.diff.bz2).
- Uncompress the patch
(bunzip2 laptopkernel-2.4.21-rc8-laptop1.diff.bz2)
and patch the kernel source
(cd linux-2.4.21-rc8; patch -p1 < ../laptopkernel-2.4.21-rc8-laptop1.diff; cd ..).
- Rename the directory of the kernel source to match its version
(mv linux-2.4.21-rc8 linux-2.4.21-rc8-laptop1).
-
Make a new link to linux-2.4.21-rc8-laptop1
(ln -s linux-2.4.21-rc8-laptop1 linux).
- Grap the kernel patch to put the DSDT into the initrd
(wget
http://gaugusch.at/acpi-dsdt-initrd-patch-v0.3-2.4.21-rc1.diff).
- Patch the kernel source
(cd linux-2.4.21-rc8-laptop1; patch -p1 < ../acpi-dsdt-initrd-patch-v0.3-2.4.21-rc1.diff; cd ..).
- In /usr/src/linux/drivers/char/drm/i810_dma.c change the line
#define DO_MUNMAP(m, a, l) do_munmap(m, a, l, 1)
to
#define DO_MUNMAP(m, a, l) do_munmap(m, a, l)
Otherwise the kernel compilation stops with an error.
- Move to the kernel directory (cd linux and use the file
config-2.4.21-rc8-laptop1
to configure your kernel source.
- Build the kernel
(make clean; make dep; make bzImage; make modules;
make modules_install)
- Install the kernel
(cp System.map /boot/System.map-2.4.21-rc8-laptop1;
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.21-rc8-laptop1)
- Modify lilo.conf according to the example given
here and re-run lilo.
- Grab the DSDT of
Martin List-Petersen
(wget
http://www.marlow.dk/tech/src/dsdt-d600-a03.aml)
- Prepare the initrd using the grabed DSDT
echo "INITRDDSDT123DSDT123" >> /boot/initrd
cat dsdt-d600-a03.aml >> /boot/initrd
- Reboot. ACPI should come up and work.
- Run dmesg and compare it to my dmesg output.
ACPI: Power Management
The power management works paritally.
I have installed the acpid daemon (acpid debian package) and
load the acpi modules
ac,
battery,
button,
fan,
processor,
thermal,
and input at system boot.
Here is the output of the battery state
(cat /proc/acpi/battery/BAT0/info):
present: yes
design capacity: 47730 mWh
last full capacity: 47730 mWh
battery technology: rechargeable
design voltage: 11100 mV
design capacity warning: 3000 mWh
design capacity low: 1000 mWh
capacity granularity 1: 200 mWh
capacity granularity 2: 200 mWh
model number: DELL 0001M5
serial number: 21144
battery type: LION
OEM info: Sony
I run the program gkrellm (debian package gkrellm) to control the
battery status.
The current temperature of the system is displayed with
cat /proc/acpi/thermal_zone/THM/temperature.
Intel's Speedstep technology, CPU throttling and performance driver do not
work at the moment.
The acpid daemon reads on line at a time /proc/acpi/events
and calls a custom handler based on the event string.
More information of the daemon provides man acpid
and the web page
Gentoo on Dell Latitude D800
of Andrew Fritz.
Software-power-off works when the power button is pushed.
For that if have installed the perl scripts
handle.pl (has to be copied to /etc/acpi/)
and
default (has to be copied to /etc/acpi/events)
Andrew Fritz.
In principle both script supply the possibility that the notebook starts
sleeping when the lid is closed.
However, this does not work in my case yet.
Suspend and resume do not work yet.
In the
ACPI documentation
is written how the computer components work together to manage system hardware
and which sleep and processor states should exist.
Xserver (ATi Mobility Radeon 9000)
The 2D Xserver works quite well already after the Knoppix installation.
However, to enable DRI and and the 3D driver the
kernel update is necessary because the agpgart part of
the kernel has to be improved.
Note: I have compiled the agpgart stuff into the kernel and not as module!
Have a look in my
kernel config file.
Knoppix 3.2 has the packages for
XF86 4.3.
Nevertheless, I have updated the xlibmesa4 (4.3.0-0ds4) packages from
ftp://ftp.skolelinux.no/debian-unofficial/x4.3/sid/i386.
Here is my XF86Config-4 file.
The DRI test program glxgears yields about 800 fps with
approximately 10% CPU usage (on average).
The linux stuff of ATi can be found
here.
ATi provides rpm packages of their
binary only drivers for XF86 4.1 and 4.2.
You may get the drivers by going through their menus and accepting their
license.
CDRW/DVD
To read/write CD-RWs the ide-scsi module must be loaded and
append="hdc=ide-scsi" has to appear in the appropriate stanza in
/etc/lilo.conf
Furthermore, [re]link cdrom and dvd under /dev.
rm cdrom
ln -s sr0 cdrom
ln -s sr0 dvd
The configuration of cdrdao is quite easy.
The configuration file /etc/cdrdao.conf looks like the following:
write_buffers: 32
write_device: "0,0,0"
write_driver: "generic-mmc"
read_device: "0,0,0"
read_driver: "generic-mmc"
write_speed: 24
and you should be up and running.
The configuration of cdrecord is found in
/etc/defaults/cdrecord and looks like this:
CDR_DEVICE=hlds
CDR_FIFOSIZE=4m
hlds=0,0,0 -1 -1 ""
For more on cd writing see
http://www.tldp.org/HOWTO/CD-Writing-HOWTO.html
and elsewhere for ide based cdrw drives and cd writing.
To play DVD's upgrade to libdvdread3...
apt-get update
apt-get install libdvdread3
...and run the script that is included in Debian and Knoppix:
/usr/share/doc/libdvdread3/examples/install-css.sh
I use xine --auto-play --auto-scan dvd to watch whole DVD movies.
In principle the optical drive is hot-swappable, with full operating system
support.
This means, the Combo DVD/CD-RW drive can be taken out and another device
that fits into the open slot (e.g. floppy can be plugged in.
For that the idectl script can be used.
Normally the script comes with hdparm
(ls -la /usr/share/doc/hdparm/examples/idectl.
With idectl 1 off the optical drive can be taken out and put the, e.g.
a floppy in.
The optical drive works again with idectl 1 on.
NOTE:Use the script on your own risk!
It does not work with any ide-scsi stuff loaded.
As a check, first remove all the scsi/ide-scsi modules,
run idectl 1 off, plug the Combo DVD/CD-RW drive out of the slot and
in again and run idectl 1 on.
Or just invoke idectl 1 rescan and check whether the Combo DVD/CD-RW
works fine.
Keyboard - special keys
The fn keys like volume up and down and the mute buttons and the the Windows
button are driven by the hotkeys packages.
Here is my
hotkeys configuration file.
The volume keys are associated with the sound mixer aumix
and mute/unmute with the
aumute script.
The script is adapted from
mute/unmute script of Ted Guild for his Dell Inspiron 600m.
When the CD eject key is activeted in the
hotkeys configuration file the keyboard
freezes.
I recommend not to define the CD eject button the configuration file.
Save the
hotkeys configuration file in your
~/.hotkeys as, e.g. latd600.def and run
hotkeys -t latd600 when your window manager starts.
Modem
A linux driver is provided by the manufacturer of the modem chip, Conexant,
and it works well.
Add the entry hsfserial in /etc/modules that the appropriate
modules are loaded at system boot.
Infrared device
In principle it work provided the kernel supplies the appropriate models.
I did not check the device because I do not have a printer, a mobile phone or
something similar which use an infrared device.
Anyway, visit also the pages of
Ted Guild
and
Martin List-Petersen.
Wireless LAN device
There are two wrapper programs that use the appropriate Windows XP WLAN drivers
within Linux:
NdisWrapper costs nothing.
For the Linuxant DriverLoader you have to pay a very small amount of money,
in principle nothing.
I have checked both programs and both are running fine, at least for my
purposes.
NdisWrapper as well as the Linuxant DriverLoader provide understandable and
almost self-explanatory installation manuals.
Status
Subsystem
|
Status
|
Updated
|
Info
|
Hard
Disk - IDE/(U)DMA
|
|
07/17/2003 |
25.60 MB/sec throughput after installation of Knoppix 3.2
|
Ethernet
|
|
07/17/2003 |
Working out of the box with drivers provided by Knoppix 3.2 |
Audio
|
|
07/17/2003 |
Works out of the box with drivers provided by Knoppix 3.2
|
| USB |
|
07/30/2003 |
Works out of the box, but has apparently some problems with external SCSI HDD |
Modem
|
|
07/17/2003 |
Found a driver that works well.
|
ATi Mobility Radeon 9000
|
|
07/17/2003 |
3d (DRI) is enabled
|
DVD-ROM/CD-RW
|
|
07/17/2003
|
reads CD-RW and DVDs, burns CD-RW
|
WLAN (Mini-PCI)
|
|
03/24/2004 |
Works with wrapper programs that use Windows XP drivers within Linux
|
| PCMCIA |
|
07/17/2003 |
Seems to work out of the box, but is not really checked yet |
Keyboard - special keys
|
|
07/17/2003 |
partial functional after configuration |
ACPI: power Management
|
|
07/17/2003 |
requires kernel 2.4.21-rc8 + patches for ACPI/DSDT, but
some things do not work (cpu performance, throttling) |
Floppy
|
|
07/18/2003
|
Needs more tests
|
Infrared
|
|
07/17/2003 |
Haven't even tried it yet.
|
[ Green - Working/tested ] [ Yellow - Partly working / tested
] [ Orange - Untested ] [ Red - Not working ]
Summary
07/31/2003 --
It turns out to be very easy to use
Knoppix to do
a Linux install on these relatively "cutting edge" pieces of hardware.
However, to support all of the hardware of the notebook (e.g. ACPI, DRI)
a new Kernel is necessary and requires much work
(at least 1-2 days).
Acknowledgements
First, let me acknowledge that this page is adapted from the pages of
Mike Hardy and
Austin Murphy about linux on the Dell Latitude D800 and
IBM T40, respectively.
Additionally, Ted Guild's instructions for
running Debian Linux on an Dell Inspiron 600m was my starting point
for my installation and very helpful.
For related info and install HOWTO's for other centrino laptops, check out
centrino.html .
March 2004 Rene Windiks
Paul Scherrer Institute,
Condensed Matter Theory Group