Installing Debian-AMD64 GNU/Linux on a
Asus L5000D Laptop


CREATED: Oct 18, 2004
UPDATED: Oct 18, 2004


WARNING!

Any steps described here are to be carried out at YOUR OWN RISK! I believe them to be safe, and have tested them on my own laptop. If your computer breaks, you get to keep the pieces. Please read through the entire document before doing anything to your hardware.

Introduction

This webpage is an overview of the steps necessary to install Debian Sid on a AMD64 Laptop, the Asus L5000D. This guide will mostly detail the installation of the 64bit port of Debian (Debian-amd64). I encountered some problems during installation and configuration, so I hope you won't have the same with this page.
The plan and the style of this page are fully copied from Ted's page. Thank you Ted !

Installing Debian Sid Base System

First, you have to have a good Internet connection. All installer and packages will be downloaded from the official Debian AMD64 repository. Then, download the monotithic install image for Debian-amd64 here: http://debian-amd64.alioth.debian.org/install-images/sid-amd64-monolithic.iso. The netinstall I tried two weeks ago had a package dependency problem. Burn this to a disk, put it in the drive and reboot. You can choose the boot-device by pressing the "Esc" key during the "Asus" logo display. During installation, you'll have to enter the site from where you will download the install system and packages. debian-installer shows you a list of country. Go to the first entry, choose it and enter the following URL: http://debian-amd64.alioth.debian.org. After that, the install folder must be "pure64" (and not "debian"). Install everything you want. If you decide to directly install XFree, choose "nv" on the drivers list, because XFree configurator won't be able to recognize your chipset automatically. But don't worry, "nv" works ;-)

discover

discover is debian HW discovering utility. It is very usefull when you don't know exactly what's on your box. In many cases, it will load proper modules for proper hardware. Great job. But as we will see later, it will bring some confusion in the sound configuration. So, as I will explain what module to load for what componant, you can disable "discover" from the init scripts.
$ cd /etc/rcS.d $ mv S36discover _S36discover

Configuration Overview

Dear google robot, get this list and expand it to the Web, this will help some users to configure their Laptop.
Dear reader, what you'll see here is the result "lspci" command, which lists all your PC configuration.
#> lspci
0000:00:00.0 Host bridge: nVidia Corporation nForce3 Host Bridge (rev a4)
0000:00:01.0 ISA bridge: nVidia Corporation nForce3 LPC Bridge (rev f6)
0000:00:01.1 SMBus: nVidia Corporation nForce3 SMBus (rev a4)
0000:00:02.0 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
0000:00:02.1 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
0000:00:02.2 USB Controller: nVidia Corporation nForce3 USB 2.0 (rev a2)
0000:00:06.0 Multimedia audio controller: nVidia Corporation nForce3 Audio (rev a2)
0000:00:06.1 Modem: nVidia Corporation: Unknown device 00d9 (rev a2)
0000:00:08.0 IDE interface: nVidia Corporation nForce3 IDE (rev a5)
0000:00:0a.0 PCI bridge: nVidia Corporation nForce3 PCI Bridge (rev a2)
0000:00:0b.0 PCI bridge: nVidia Corporation nForce3 AGP Bridge (rev a4)
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:01:00.0 VGA compatible controller: nVidia Corporation: Unknown device 031b (rev a1)
0000:02:00.0 Ethernet controller: Marvell Technology Group Ltd. Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (rev 13)
0000:02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
0000:02:01.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ab)
0000:02:01.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 03)
0000:02:01.3 System peripheral: Ricoh Co Ltd: Unknown device 0576 (rev 01)
0000:02:01.4 System peripheral: Ricoh Co Ltd: Unknown device 0592
0000:02:02.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)

Hardware
or
Feature

Steps to Configure
(Details in Next Section)

Useful Files

CPU

The Athlon64 CPU supports frequency scaling with the powernow-k8 kernel module and the powernowd userspace daemon. NONE

ACPI

The ACPI modules load and successfully report the remaining battery, etc. Unfortunately, I have not yet been able to get suspend/hibernate to work... ACPI configuration

Network

The sk98lin module loads perfectly. NONE

Video
Card

If you need 3D hardware acceleration, the nvidia video card requires the proprietary nvidia drivers. Nvidia recently released version 6106 of their driver, which fixes many problems. You can download it from the Nvidia website. XF86Config-4

Wireless

The internal wireless chip is brought to us by Broadcom, who have refused to release any specs on their chipsets. We are using amd64, so unfortunately the ndiswrapper code is not 64bit-clean, and the kernel module does not compile. Even if it did compile, I don't know if it is possible to use a 32bit binary windows driver with a 64bit kernel wrapper... NONE

USB

Works perfectly. NONE

IEEE1394

The controller seems to work and the kernel module loads... I don't have any devices to try with it though. NONE

PCMCIA

The controller seems to work and the kernel module loads... I don't have any devices to try with it though. NONE

Sound

Sound works well with ALSA drivers. The external volume/mute buttons show up as X keys, and can be configured to adjust the sound levels. NONE

Configuration Details

CPU Frequency scaling

First, don't forget to load some usefull modules:
# CPU frequency
freq_table
cpufreq_userspace
# powernow
powernow-k8
the "sysfs" filesystem must be mounted on /sys folder.
To change CPU frequency, the powernowd utility is perfect.
$ apt-get install powernowd
$ /etc/init.d/powernowd start
$ cd /sys/devices/system/cpu/cpu0/cpufreq
$ ls cpuinfo*
cpuinfo_cur_freq cpuinfo_max_freq cpuinfo_min_freq
powernowd will dynamicaly change your CPU freq from 800 to 1200, end then to 1800 MHz depending on the CPU charge. Look at "man powernowd" for precision.

ACPI

# ACPI modules
thermal
processor
fan
battery
ac
button
One of the biggest downsides currently with this laptop is that the ACPI suspend/hibernate features don't work :-( On the bright side, however, the linux ACPI support has come a LONG way, and hopefully these advanced features will improve greatly in the next few kernel releases.
To use acpi, install acpid :)
$ apt-get install acpid
$ acpi_listen
# Push some buttons on top of the keyboard
# This will print some ugly lines, but very usefull for acpid.
Install the acpid_conf.tar.gz tar ball from my resources to your /etc folder. This will bring you the configuration for the 5 buttons in front of the keyboard, including the "power" button. Now you can properly halt your laptop by simply pressing the "power" button.
With the help of the acpi_listen command, you can configure the buttons in the front panel ("Stop", "play" etc.)

Network

Add the sk98lin module to your /etc/modules file.
You can find configuration help page here.

XFree86

You can either use the open-source "nv" X driver, or the close-source "nvidia" X driver.
"nv" will bring 2D acceleration, with no 3D. It is already installed on your system. It works good, but you won't be able to use the "F1 -> F6" virtual consoles, because it has conflicts with Frame Buffer.
"nvidia" driver will bring 2D AND 3D acceleration. The only problem with this driver, is that it is proprietary. To install it:
Get the NVIDIA package from NVIDIA site here Run the install script. Choose the options to NOT download a pre-compiled module. It will ask if you want to compile the module for your running kernel - say YES. Before you can use the nvidia module, make sure that you have the following devices in /dev:
crw-rw-rw- 1 root root 195, 0 May 21 10:20 /dev/nvidia0
crw-rw-rw- 1 root root 195, 1 May 21 10:20 /dev/nvidia1
crw-rw-rw- 1 root root 195, 2 May 21 10:20 /dev/nvidia2
crw-rw-rw- 1 root root 195, 3 May 21 10:20 /dev/nvidia3
crw-rw-rw- 1 root root 195, 4 May 21 10:20 /dev/nvidia4
crw-rw-rw- 1 root root 195, 5 May 21 10:20 /dev/nvidia5
crw-rw-rw- 1 root root 195, 6 May 21 10:20 /dev/nvidia6
crw-rw-rw- 1 root root 195, 7 May 21 10:20 /dev/nvidia7
crw-rw-rw- 1 root root 195, 255 May 21 10:20 /dev/nvidiactl
If you don't have these, create them with mknod. For example:
mknod /dev/nvidiactl c 195 255
for nn in 0 1 2 3 4 5 6 7 ; do
    mknod /dev/nvidia$nn c 195 $nn
done
chown root.video /dev/nvidia*
chmod 0666 /dev/nvidia*
Now add the following to /etc/modutils/aliases
# nvidia driver
alias char-major-195 nvidia
and then run update-modules.

In order to use the touchpad, first make sure that you load these modules in /etc/modules:

# Touchpad
tsdev
evdev
mouse
psmouse

Sound

Sound is automatically recognized by the "discover" utility. But in my installation, it did load OSS _and_ ALSA drivers, so the configuration was not clear. So, as I explained at the beginning, disable discover, and only add ALSA modules on your /etc/modules file:
# ALSA modules
snd_intel8x0
To get sound working well, apt-get install alsa-base, alsa-headers, and alsa-utils.

USB

Works with no problems.

IEEE1394 (FireWire)

I have no devices to test, but the controller seems supported, so I would imagine everything works fine. The ieee1394 module will do the job.

PCMCIA

I don't have any PCMCIA card yet, but I think it's working, because cardmgr starts. It works with the yenta_socket module.

S-Video

Not tested.

Flash Media Reader

CardBus is supported using the yenta_socket module. I didn't test it neither.

Modem

I can't figure out what kind of modem is installed on this machine. I know this is a winmodem. I know that _maybe_ the slmodem drivers can make it work, but it didn't for me.
If someone found out how to make it work, please please contact me at greg _at_ doodoo _dot_ darktech _dot_ org ! Thank you !

Useful Links



Go Back To Ted's Main Web Page