ACCUEIL            GUIDE            ANDESI            BREVES      
Debian GNU/Linux sur un portable Dell Latitude D500

Debian GNU/Linux sur un portable Dell Latitude D500

par Arnaud Fontaine

Juillet 2003

Table of Contents

Cette documentation décrit la configuration d'une distribution Debian GNU/Linux sur un portable Dell Latitude D500. Elle explique donc la configuration des principaux composants de ce portable et traite également de la configuration d'un processeur Intel Pentium M avec un chipset Intel 855GM. Notez également que si vous ne modifiez pas le menu de configuration contenu dans le paquet pcmcia-cs, votre portable plantera lors du démarrage du service pcmcia, veuillez donc vous reporter à la section « Configuration du matériel ». Cela concerne particulièrement la version instable (Sid) de Debian, mais cela peut sans doute s'adapter également à Sarge.

1  Aperçu de la configuration

Voici la configuration de ce portable basé sur la technologie Centrino :
  • Processeur Intel Pentium M.
  • Chipset Intel 855GM pour la carte mère.
  • 256Mo de mémoire DDR/SDRam.
  • Carte réseau intégrée Intel Pro/100.
  • Lecteur de dévédéroms et graveur de cédéroms.
Je précise que j'ai choisi de ne pas prendre de modem ainsi que la carte mini-pci Sans-Fil. Cette dernière ne disposant pas pour le moment de pilotes sous license GPL, de plus je voulais pouvoir utiliser une antenne pour la carte Sans-Fil. La configuration d'une carte PCMCIA Sans-Fil basée sur le chipset Prism2 sera décrite dans un prochain article. Je ne décrirai pas non plus l'installation de Debian GNU/Linux, étant donné que la procédure d'installation est exactement la même que pour une machine quelconque.

2  Configuration du noyau

La configuration du noyau pour un ordinateur portable peut paraître toujours délicate mais on va voir que ce n'est pas le cas ici. La configuration de ce portable peut se faire aussi bien pour la version 2.4 que la version 2.6, récemment sortie, sans aucun problème. Si vous choississez de télécharger les sources du noyau depuis www.kernel.org comme indiqué dans cette documentation, je vous conseille de sélectionner au moins la version 2.4.23 qui corrige une faille local du noyau. Cependant les sources du noyau de Debian inférieures à la version 2.4.23 ont été corrigées (voir http://www.debian.org/security/2003/dsa-403). Nous décrirons donc la configuration de la version 2.4 et 2.6, cette dernière se faisant plus facilement car ne nécessitant pas de rustines particulières.

Notez que si vous ne voulez pas passer par cette phase de configuration du noyau, je laisse à votre disposition les paquets Debian des noyaux que j'ai compilé. Pour les utiliser, taper les commandes suivantes :
# echo "deb http://www.andesi.org/public/ unstable main" >> /etc/apt/sources.list
# apt-get update
# apt-get install kernel-image-2.4.23-cpufreq
# apt-get install kernel-image-2.6.0-cpufreq


Une fois l'un de ces deux paquets installés, il ne vous reste plus qu'à passer à la sous-section « Modifier la configuration du gestionnaire d'amorçage ».

2.1  Prérequis

Etant donné que cet article va décrire la configuration et la compilation du noyau, je vous conseille vivement de lire l'article destiné à la « compilation d'un noyau à la sauce Debian » disponible sur Andesi à l'adresse suivante :
http://www.andesi.org/article.php?id=noyau

Vous devez donc installer les paquets cités dans la section Les paquets nécessaires ainsi que le paquet patch :
# apt-get install patch

2.2  Pour la série 2.4 du noyau

La configuration de l'ordinateur portable pour cette série du noyau va nécessiter un patch s'appelant cpufreq afin de permettre de changer de fréquence automatiquement si le portable utilise les batteries ou non. Cela permet bien évidemment un gain très appréciable au niveau de l'autonomie des batteries car on peut baisser la fréquence jusque 600Mhz pour une fréquence maximale de 1200Mhz du processeur.

Commencons donc par télécharger le patch et tout ce qu'il faut à l'adresse :
ftp://ftp.linux.org.uk/pub/linux/cpufreq/cpufreq-LINUX_2_4-20031223.tar.gz

Puis la dernière version du noyau 2.4 qui se trouve être la version 2.4.23 au moment où j'écris ces lignes :
http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.23.tar.bz2

Puis on se place dans le répertoire de l'utilisateur toto et on décompresse les sources dans le répertoire ~/src, à noter que tout cela se fait sous l'utilisateur normal toto :
$ mkdir ~/src && cd ~/src
$ tar xvfj ~/linux-2.4.23.tar.bz2
$ tar zxvf ~/cpufreq-LINUX_2_4-20031223.tar.gz

Puis on patch le noyau et on copie tous les fichiers nécessaires à la compilation du noyau avec cpufreq dans les répertoires qui conviennent :
$ cd ~/src/linux-2.4.23/
$ cp -r ../cpufreq/* .
$ patch -p1 < ../cpufreq/patch
$ cd arch/i386/kernel/
$ mv "cpufreq/*" . && rm -r cpufreq/

Il faut ensuite que nous configurions le noyau afin d'y placer les bonnes options. Vous pouvez retrouver mon fichier de configuration en procédant ainsi :
$ apt-get install wget && wget http://www.andesi.org/articles/autre/d500-2.4.23.config
$ cp ~/d500-2.4.23.config ~/src/linux-2.4.23/.config

Nous compilons enfin le noyau comme indiqué dans la documentation sur la Compilation du noyau à la sauce Debian, normalement lorsque vous verrez aparaître le menu de configuration du noyau, vous devriez avoir la configuration de base, modifiez donc seulement ce dont vous avez besoin : $ make-kpkg clean
$ make-kpkg --rootcmd fakeroot --config menu --append-to-version=-cpufreq --revision=2.4.23-1 kernel-image

Une fois la compilation terminée, il ne vous reste plus qu'à installer votre nouveau noyau en tapant :
dpkg -i ~/src/kernel-image-2.4.23-cpufreq_2.4.23-1_i386.deb

La configuration pour le noyau 2.4 est maintenant terminée. Cela n'est pas si difficile que ça. Cependant avant de redémarrer votre ordinateur et démarrer sur ce nouveau noyau, je vous conseille fortement de lire la section « Cofiguration du système ».

2.3  Pour la série 2.6 du noyau

Le premier noyau stable de la série 2.6 est sorti il y a peu de temps, cela vaut donc le coup d'utiliser cette série du noyau puisque c'est celle qui sera maintenue activement. De plus sur cette version du noyau, on peut descendre la fréquence jusque 200Mhz.

La configuration du noyau 2.6 se fait beaucoup plus aisément que pour la version précédente car cpufreq est déjà inclus. Il vous suffit simplement de récupérer les sources du noyau disponible à l'adresse suivante :
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.bz2

Placez vous ensuite dans le répertoire personnel de l'utilisateur sous lequel vous êtes connecté, puis on décompresse les sources du noyau dans un répertoire src que l'on aura bien évidemment créé avant :
$ mkdir $~/src && cd ~/src/
$ tar xvfj ../linux-2.6.0.tar.bz2

Enfin récupérez le fichier de configuration du noyau généré par moi-même afin de disposer de la configuration de base :
$ apt-get install wget && wget http://www.andesi.org/articles/autre/d500-2.6.0.config
$ cp ~/d500-2.6.0.config ~/src/linux-2.6.0/.config

Maintenant vous pouvez compiler tranquillement votre noyau :
$ make-kpkg clean
$ make-kpkg --rootcmd fakeroot --config menu --append-to-version=-cpufreq kernel-image

Enfin installez votre nouveau noyau :
dpkg -i ~/src/kernel-image-2.6.0-cpufreq_10.00.Custom_i386.deb

La configuration du noyau 2.6 s'avère beaucoup plus simple car de cette série du noyau supporte beaucoup plus de matériel que dans la version précédente. De plus cela est donc beaucoup mieux pris en charge. N'oubliez surtout pas d'installer le paquet module-init-tools, disponible seulement dans la version unstable et testing de Debian, sous peine de ne pas pouvoir manipuler les modules du noyau, pour cela tapez :
# apt-get install module-init-tools

2.4  Modifier la configuration du gestionnaire d'amorçage

Désormais, il vous suffit de modifier le fichier de configuration de votre chargeur d'amorçage. Avec Lilo installé par défaut lors de l'installation de Debian, vous devriez avoir ceci en plus dans /etc/lilo.conf :
# /etc/lilo.conf
image=/vmlinuz-2.4.23-cpufreq
    label=2.4.23-cpufreq
    read-only


Et enfin pour grub en modifiant le fichier de configuration dans /boot/grub/menu.lst :
# /boot/grub/menu.lst
title     Debian GNU/Linux, kernel 2.4.23-cpufreq
root     (hd0,0)
kernel     /boot/vmlinuz-2.4.23-cpufreq root/dev/hda1 ro


Voilà, C'est terminé du côté du noyau... Le plus difficile est donc fait. Pour plus de renseignement au sujet de la configuration du gestionnaire d'amorçage, je vous invite à regarder l'article concernant la « Migration de Lilo vers GNU Grub ».

Note : Si vous utilisez la version 2.6, remplacez simplement vmlinuz-2.4.23-cpufreq par vmlinuz-2.6.0-cpufreq.

3  Configuration du matériel

Dans cette section nous allons décrire la configuration de chaque périphérique du portable. Nous allons cependant décrire la configuration de la gestion de l'énergie dans une autre section. Nous n'allons pas non plus décrire la configuration du graveur de cédéroms puisque c'est exactement la même chose que pour un graveur standard.

Si vous ne souhaitez pas vous embêter avec la configuration du matériel décrit dans cette partie, vous pouvez également utiliser l'utilitaire discover qui recherche intelligemment le matériel dont vous disposez et charge les modules correspondants. Malheureusement, discover ne fonctionne pas encore pour la série 2.6 du noyau. Autrement, pour le 2.4.23, vous pouvez simplement installer discover en tapant la commande suivante et passer ensuite à la section suivante :
# apt-get install discover

3.1  Carte réseau

La carte réseau intégrée est une Intel Pro/100 parfaitement pris en charge dans la version 2.4 et bien sûr dans la version 2.6 du noyau également. Pour pouvoir profiter de celle-ci, il vous suffit de charger le module correspondant :
# modprobe e100

Pour que ce module soit chargé à l'amorçage de votre machine, il faut taper la commande suivante :
# echo "e100" >> /etc/modules

3.2  Carte graphique

La carte graphique peut poser quelques problèmes avec XFree. C'est une carte vidéo à mémoire partagée Intel 855GM intégrée qui peut, suivant la mémoire vive dont vous disposez, avoir 32 voire 64Mo. Cependant, les BIOS de Dell comporte un bug qui ne permet d'avoir que 1Mo de mémoire vidéo. Il existe un patch qui permet de choisir la mémoire que vous allez dédier à votre carte. Pour cela il faut télécharger le fichier à l'adresse suivante :
http://www.chzsoft.com.ar/855patch.tar.gz

Décompressez, compilez ensuite ce petit programme et copiez le dans /usr/bin/:
$ cd ~/src/ && tar zxvf ~/855patch.tar.gz
$ cd ~/src/855patch/
$ make all
# cp 855patch /usr/bin/


Maintenant vous pouvez disposer de 32Mo de mémoire vidéo en tapant : # /usr/bin/855patch 32768

Pour que cela soit effectif à chaque démarrage, vous pouvez rajouter un fichier comme l'exemple ci-dessous dans /etc/init.d/ :
#!/bin/sh # /etc/init.d/855patch

PATH=/bin:/sbin:/usr/bin:/usr/sbin
WHEREIS=/usr/bin/855patch
NAME=855patch

# Modifié RAM pour qu'il convienne à la mémoire vidéo que vous souhaitez mettre (32768 ou 65536)

RAM=32768

# On vérifie aussi qu'il est exécutable

test -x
$WHEREIS || exit 0

case "
$1" in
    start)
        echo -n "Setting size to
$RAM of VideoRAM"
        
$WHEREIS $RAM > /dev/null 2>&1
        echo "."
        ;;
    
*)
        echo "Usage: /etc/init.d/
$NAME start"
        exit 1
esac

exit 0


Puis on tape la commande suivante pour que ce service soit lancé au démarrage :
# update-rc.d 855patch defaults

Pour plus d'informations au sujet de la commande update-rc.d, vous pouvez consulter la documentation « Gérer les services lancés au démarrage ». Il faut ensuite seulement que vous spécifiez le pilote correct dans la section Device. Je vous conseille fortement d'installer la version de XFree disponible en experimental car vous pourrez bénéficier de l'accélération graphique. Pour faire cela, il vous suffit de taper la commande suivante pour ajouter l'entrée correcte dans /etc/apt/sources.list pour la version experimental de Debian et enfin de spécifier la version de Debian que vous utilisez dans /etc/apt/apt.conf (unstable dans cet exemple) :
# echo "deb ftp://ftp.debian.org/debian ../project/experimental main" >> /etc/apt/sources.list
# echo 'APT::Default-Release "unstable";' > /etc/apt/apt.conf


Puis de mettre à jour la liste des paquets et d'installer le serveur graphique :
# apt-get update
# apt-get install -t experimental x-window-system-core


Une fois que cela est terminé, vous pouvez modifier le fichier de configuration de XFree. Un exemple de fichier de configuration est disponible à l'adresse suivante :
http://www.andesi.org/articles/autres/d500-xf86config

De plus vous souhaiteriez certainement utiliser les touches de volumes de votre ordinateur, pour faire cela sous XFree par exemple, vous pouvez utiliser xbindkeys et xbindkeys-config :
# apt-get install xbindkeys xbindkeys-config

Puis vous pouvez utiliser l'interface graphique pour contrôler l'action des touches. Voici un exemple de fichier à mettre dans votre répertoire personnel :
#!/bin/sh
#
~/.xbindkeysrc
# Fichier de configuration de xbindkeys généré grâce à xbindkeys-config
# Pour baisser le volume, aumix est requis : apt-get install aumix
"/usr/bin/aumix -w -"
m:0x0 + c:174
NoSymbol

# Pour augmenter le volume

"/usr/bin/aumix -w +"
m:0x0 + c:176
NoSymbol


Une fois ce fichier de configuration adapté à vos besoins, il faut également modifier le fichier ~/.xsession. Voici un exemple de ce que vous pouvez obtenir, si comme moi vous utilisez waimea comme gestionnaire de fenêtre :
#!/bin/sh
#
~/.xsession
# Exemple pour waimea

xbindkeys -f
~/.xbindkeysrc &
exec /etc/X11/Xsession /usr/bin/waimea

3.3  Carte son

La carte son intégrée est une Intel 810, il vous suffit donc de charger le module correspondant, ce qui donne pour le noyau de la série 2.4 :
# modprobe i810_audio

Puis on ajoute une entrée pour ce module dans /etc/modules afin qu'il soit chargé au démarrage :
# echo "i810_audio" >> /etc/modules

On procède exactement de la même manière avec le noyau 2.6 :
# modprobe snd_intel8x0
# echo "snd
_intel8x0" >> /etc/modules

Comme le noyau 2.6 utilise les pilotes ALSA, il faut aussi que vous installiez le paquet alsa-base :
# apt-get install alsa-base

Dans le menu qui va aparaître choississez l'entrée intel8x0 (PCI: Intel i810/i820/i830/i840/MX440 integrated audio). Maintenant votre carte son devrait marcher à merveille.

3.4  Support des cartes PCMCIA

La configuration du support PCMCIA sur ce portable nécessite une petite manipulation si vous ne voulez pas voir votre portable planter lors du lancement du service pcmcia. Il faut que vous modifiez le fichier /etc/pcmcia/config.opts en le remplaçant par celui-ci :
# /etc/pcmcia/config.opts
# Les portables Dell plantent si quelque chose entre 0x810-0x81f est inclus !

include port 0x100-0x4ff, port 0x800-0x80f, port 0x820-0x8ff, port 0xc00-0xcff
include memory 0xc0000-0xfffff
include memory 0xa0000000-0xa0ffffff, memory 0x60000000-0x60ffffff
include port 0xa00-0xaff
exclude irq 4
exclude irq 12


J'ai trouvé ce fichier sous Knoppix et ça fonctionne très bien depuis. Mais n'oubliez surtout pas de modifier ce fichier sous peine de ne plus pouvoir démarrer votre système d'exploitation et devoir ainsi supprimer manuellement pcmcia à chaque mise à jour du paquet pcmcia-cs.

4  Configuration de la gestion de l'énergie

Nous avons accompli le plus important, c'est à dire la compilation du noyau pour tirer parti des mécanismes permettant l'économie de l'énergie. Il ne reste plus qu'à installer et configurer quelques paquets.

4.1  Configuration de cpufreqd

cpufreqd est un programme en espace utilisateur qui va permettre de réduire la fréquence du processeur automatiquement lorsque l'on travaille sur la batterie. Comme vous avez pû le remarquer, cela va en complément de cpufreq précédemment inclus dans le noyau.

Commencons par installer ce paquet :
# apt-get install cpufreqd

On vérifie ensuite la fréquence minimale que peut supporter le processeur. Celle ci peut être différente selon le noyau que vous utilisez (avec le 2.4 je suis arrivé à descendre seulement jusque 46% de la vitesse maximale du processeur et 12% avec le 2.6) :
# cat /proc/cpufreq
  minimum CPU frequency -   maximum CPU frequency -   policy
CPU 0 161874 kHz ( 12 %) - 1294992 kHz (100 %) -   performance

Puis modifions le fichier de configuration en oubliant pas de remplacer 12% par la valeur que vous avez eu précédemment :
# /etc/cpufreqd.conf
# Quelques paramètres généraux
# voir
`man cpufreqd' et `man cpufreqd.conf'
[General]
pidfile=/var/run/cpufreqd.pid
poll
_interval=2
pm
_type=acpi

# Profil destiné à utiliser la fréquence maximale du processeur

[Profile]
name=perf
minfreq=0
%
maxfreq=100
%
policy=performance

# Profil destiné à utiliser la fréquence minimale du processeur

[Profile]
name=psave
minfreq=12
%
maxfreq=12
%
policy=powersave

# On utilise la fréquence maximale du processeur quand on est branché sur le secteur

[Rule]
name=AC
_on
ac=on
profile=perf

# On veut utiliser la fréquence minimale quand on utilise les batteries

[Rule]
name=AC
_off_psave
ac=off
profile=psave

# On utilise la fréquence maximale pour certains programmes seulement

[Rule]
name=AC
_off_perf
ac=off
programs=mplayer,xine,gcc,bzip2,gmplayer
profile=perf

Une fois que ce fichier a été modifié, il ne vous reste plus qu'à relancer cpufreqd en tapant :
# /etc/init.d/cpufreqd restart

Note : pour la série 2.4 remplacez 12% par 46% dans l'exemple donné ci-dessus. Cela dépend notamment de ce que vous avez obtenu en tapant la commande cat /proc/cpufreq, adaptez donc selon votre configuration matériel. Notez aussi qu'il peut s'avérer nécessaire de redémarrer plusieurs fois le service cpufreqd pour que la fréquence correcte aparaisse lorsque vous taperez la commande cat /proc/cpuinfo.

4.2  Configuration de acpid

ACPI est une technologie qui permet le contrôle totale de la gestion de l'énergie par le système d'exploitation. Cela est censé remplacé APM qui est beaucoup moins puissant. Comme nous disposons de l'ACPI sur ce portable, nous installons donc le service tournant en espace utilisateur :
# apt-get install acpid

Une fois installé vous pouvez spécifier des actions qui seront exécutées une fois le bouton d'allumage de votre ordinateur pressé. Les fichiers de configuration de acpid se trouvent dans /etc/acpi/. Personnellement j'ai utilisé la configuration par défaut de acpid qui permet d'arrêter le portable lorsque l'on presse le bouton d'arrêt. Pour plus d'informations, vous pouvez regarder les différentes documentations données en fin d'article.

5  Quelques liens

Voici quelques liens qui vous seront utiles lors de la configuration de votre portable :
  • « Tuxmobil », http://www.tuxmobil.org
    La configuration de différentes distributions sur des modèles de portables très différents sont référencés sur ce site. A consulter absolument donc.

  • « Linux-dell-laptops FAQ », http://whacked.net/ldl/faq/
    Un FAQ très intéressant sur les ordinateurs portables Dell. Vous pourrez apprendre plein de petites choses qui peuvent vous contrariez lors de la configuration de GNU/Linux sur ce type de portable. Vraiment complet.

  • « Debian GNU/Linux on a Dell Latitude D500 », http://www.physik.uni-freiburg.de/~roland/dell_d500/
    Une autre documentation sur la configuration d'une distribution Debian GNU/Linux sur un ordinateur portable Dell Latitude D500. A lire absolument, une partie sur la configuration de l'ACPI est très intéressante même si cet article est en anglais.

  • « Dell Latitude D600 / Inspiron 600m », http://www.marlow.dk/tech/dell_latitude_d600.php?noframe=yes
    Un article qui décrit assez bien la configuration de cpufreqd et pleins d'autres choses aussi.

This document was translated from LATEX by HEVEA.
   Debian    Valid CSS!