Gentoo Linux On a Dell Latitude E5400 Laptop

Installing and running Gentoo Linux on the Dell Latitude E5400

Guido Flohr

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found at http://www.gnu.org/licenses/fdl.txt.

June 27th, 2009

Revision History
Revision 0.5August, 28th 2009
Remarks on keyboard (Qt and dead keys on Greek keyboard layout)
Revision 0.4July, 3rd 2009
Keyboard and touchpad
Revision 0.3June, 30th 2009
Sound, SD card reader, CPU
Revision 0.2June, 28th 2009
DVD/R+W tested and described
Revision 0.1June, 27th 2009
Initial release

Table of Contents

1. Introduction
1.1. Summary
1.2. Conventions
1.3. Important Configuration Files
1.3.1. Kernel Configuration
1.3.2. /etc/make.conf
1.3.3. /etc/X11/xorg.conf
1.4. Status Of This Document
2. Mass Storage
2.1. Internal Hard Drive
2.2. DVD/R+W
2.3. SD Card Reader
2.3.1. Kernel Configuration
2.3.2. Mounting
3. Networking
3.1. Network Card
3.2. Wireless (WLAN) Card
3.2.1. Kernel Configuration
3.2.2. Hotplugging and Firmware
3.2.3. Network Configuration and wpa_supplicant
3.2.4. Troubleshooting
3.2.5. Stability
4. Graphics System
4.1. Pre-Flight Checklist
4.1.1. X11 Related Things In /etc/make.conf
4.1.2. DBUS
4.1.3. The Hardware Abstraction Layer Daemon - Hald
4.1.4. Initialize X11
4.2. Graphics Card
4.2.1. X Configuration
4.2.2. Hardware 3D Acceleration - DRI
4.3. Display
5. Input Devices
5.1. Xorg and Hal
5.2. Keyboard
5.2.1. X11 configuration
5.2.2. Dead Keys in KDE/Qt
5.2.3. Console Settings
5.3. Touchpad, Pointing Stick, and Mouse
6. Other Devices
6.1. Sound
6.1.1. Kernel Configuration
6.1.2. ALSA Configuration
6.1.3. Troubleshooting
7. CPU
7.1. Kernel Configuration
7.2. Compilation Options
7.3. ACPI
7.3.1. Suspend
7.3.2. Hibernation
7.3.3. CPU Scaling
8. See Also

1. Introduction

This guide should give you a complete walk-through for getting Linux to run on the E5400 laptop or others from the Dell Latitude E series. It is focussed on Gentoo Linux, and the Latitude E5400, but it is probably useful for other distributions, and other laptops from the Latitude E series, like E5500, E6400, and E6500.

The Dell Latitude E5400 replaced my older Latitude D820, which became dodgy recently, with spurious monitor failures. The first impression did not exactly make me ecstatic. Compared to the D820, the new gadget looks cheap, and not half as classy as its predecessor. On the other hand it is very light (2.49 kg plus 0.45 kg for the AC adaptor, your milage may vary depending on the exact production configuration), silent, and everything functional.

All sockets and connectors are on the sides of the device, the rear side is not used at all. The reason for this will remain a secret of the designers at Dell.

The coolest thing is actually the power supply. The plug has a very stylish blue, glowing LED ring as an indicator. Looks great, especially at night.

Apart from that, I'm not exactly happy with the notebook. The wireless is not working stable, it currently crashes (and freezes!), when watching videos with VLC, it has issues with the display, and - very annoying - the fan is almost constantly running. I could only manage to turn it off by cooling it externally. I would not recommend the notebook to anybody.

1.1. Summary

This is an overview of the hardware in my E5400:

Table 1. Hardware

TypeVendorModelDataState
Hard driveSeagate Momentus 7200.3 ST9160411ASGS-ATA 160 GB, 7.200 r/pmworks as /dev/sda
DVD/R+WPhilips & Lite-On Digital Solutions Corp. (PLDS)DS-8A3S Rev. HD11 works as
Network cardBroadcomNetXtreme BCM5756ME Gigabit Ethernet PCI ExpressGigabitworks out of the box with the Tigon3 (tg3) driver
Wireless (wlan) cardIntelWireless WiFi Link 5100802.11a/g/nworks with the iwlagn driver, but unstable
Graphics cardIntelGMA 4500 MHD-works out of the box with xf86-intel-video driver
DisplayDell 14.1” WXGA+ (1440x900)works out of the box
Sound chipIntel  works with the hda-intel driver
Bluetooth   not yet tested
USB ControllerIntel82801I (ICH9 Family)3xUSB UHCI, 1xUSB2 EHCIworks out of the box
SD Card ReaderRicohR5C847 works
PCMCIA (CardBus Bridge)Ricoh Co. Ltd.RL5c476 II (rev ba) can't test
FireWire (IEEE1394)Ricoh Co. Ltd. R5C832 (rev 04) can't test
CPUIntelCore 2 Duo P86002.40 GHzworks out of the box
KeyboardDell German keyboard layout (qwertz)works out of the box
Mouse, TouchpadALPSAlpsPS/2 ALPS DualPoint TouchPad basically works

1.2. Conventions

Commands are formatted like this: ls -l, filenames like this: /etc/passwd.

Longer commands, or content of text files are formatted as a block:

$ lspci | grep Broadcom
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5756ME Gigabit Ethernet PCI Express

In such blocks, lines starting with a dollar sign ($) are commands that can or should be executed as an unprivileged user. Lines starting with a hash sign (#) are either commands to be executed as root, or sometimes comments in files. If you cannot tell from the context, better not type anything at all.

1.3. Important Configuration Files

If you got stuck, my central configuration files may be of interest for you.

1.3.1. Kernel Configuration

Download: config.txt.

Make sure that /usr/src/linux is a symbolic link to your actual kernel source directory, and then install the file as /usr/src/linux/.config. Even if your kernel version does not exactly mine (check line 3 of the config file for my version), you can probably still use it as a starting point. Just don't forget to run "make menuconfig" so that the file fits your kernel.

Then go on as follows:

# make clean
make menuconfig
make -j3
make modules
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz-guido

In /boot/grub/menu.list have an entry like this:

title=Kernel configuration by Guido Flohr
root (hd0,5)
kernel /boot/vmlinuz-2.6.30-gentoo-r4 root=/dev/YOUR_ROOT_PARTITION_GOES_HERE

Make sure that you fill in the correct root partition (copy it from other entries?). And, of course, you can use other identifiers wherever I refer to my name.

If you wonder why there is nothing said about init ram disks or file systems (initram or initramfs), well, simply under normal circumstances you just don't need that. It only complicates kernel building.

1.3.2. /etc/make.conf

Download: make.conf.txt.

This is my /etc/make.conf. You should only use that for informational purposes because it will almost certainly not fit for your own system.

1.3.3. /etc/X11/xorg.conf

Download: xorg.conf.txt.

You should install this file as /etc/X11/xorg.conf, and please make a backup before. The file fits for the WXGA+ display (maximum resolution 1440x900). There are other E5400 flavors with a lower resolution of 1280x860. Please check that before you use the file.

Please note that I have a German keyboard layout. Please change the layout from "de" to yours or check the chapter Keyboard for better instructions how to change that.

1.4. Status Of This Document

This document is currently work in progress. Take it as my private protocol of installing Gentoo on the system, and getting all hardware that I need to work with it. Some sections are currently missing. If a section that you desperately need is still missing, drop me a line at guido@imperia.net.

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones