Debian GNU/Linux sur un portable Dell Latitude D500

Article écrit et wikisé par Arnaud Fontaine, mis à jour le 02/05/05.

FIXME : Liens internes

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.

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 ni de carte mini-pci 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.

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. Nous décrirons la configuration de la branche 2.6, cette dernière se faisant plus facilement car ne nécessitant pas de rustines (ou patchs) 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/pub/ unstable main" >> /etc/apt/sources.list
# apt-get update
# apt-get install kernel-image-2.6.11.8-d500

Notez que ce paquet n'est pas encore disponible dans le dépôt cité ci-dessus. En attendant, vous pouvez utiliser celui-ci : deb http://andesi.org/public/work/apt ./ à la place de l'adresse précédente. La procédure d'installation du paquet étant exactement la même.

Une fois l'un de ces deux paquets installés, vous pouvez vous rendre à la sous-section « Modifier la configuration du gestionnaire d'amorcage ».

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 ».

Vous devez donc installer les paquets cités dans la section « Les paquets nécessaires » ainsi que le paquet patch :

# apt-get install patch

Je décrit la procédure uniquement pour la branche 2.6 du noyau car cpufreq fonctionne mieux chez moi avec celle ci.

Pour la branche 2.6 du noyau

Le premier noyau stable de la série 2.6 est sorti il y a déjà longtemps maintenant, cela vaut donc le coup d'utiliser cette série du noyau puisque c'est celle qui est maintenue activement. 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 d'installer le paquet Debian correspondant :

# apt-get install kernel-source-2.6

Choississez ensuite un des paquets qui vous est proposé, je considère que vous utilisez la version 2.6.11.6 dans la suite de cet article.

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 /usr/src/kernel-source-2.6.11.6.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/static/autres/d500-2.6.11.config
$ cp ~/d500-2.6.11.config ~/src/linux-2.6.11.6/.config

Maintenant vous pouvez compiler tranquillement votre noyau :

$ make-kpkg clean
$ make-kpkg --rootcmd fakeroot --config menu --append-to-version=-d500 --revision=2.6.11.6-cpufreq-1 kernel-image

Enfin installez votre nouveau noyau :

# dpkg -i ~/src/kernel-image-2.6.11.6-d500_2.6.11.6-d500-1_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. 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

Si vous utilisez la version stable de Debian, vous pouvez toujours utiliser des rétroportages des paquets modutils et module-init-tools en procédant ainsi :

# echo "deb http://www.backports.org/debian/ woody module-init-tools" >> /etc/apt/sources.list
# echo "deb http://www.backports.org/debian/ woody modutils" >> /etc/apt/sources.list"
# apt-get update
# apt-get install modutils module-init-tools

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 :

image=/vmlinuz-2.6.11.6-d500
    label=2.6.11.6-d500
    append="vga=773"
    read-only

Et enfin pour grub en modifiant le fichier de configuration dans /boot/grub/menu.lst :

title Debian GNU/Linux, kernel 2.6.11.6-d500
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.11.6-d500 root/dev/hda1 vga=773 ro

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

vga=773 permet d'utiliser le FrameBuffer pour disposer d'une console en 1024×768, utilisable si et seulement si vous avez inclus le support du FrameBuffer dans le noyau (avec le fichier de configuration du noyau mis à disposition sur Andesi, cela devrait marcher sans problème).

Configuration du matériel

Dans cette section nous allons décrire la configuration de chaque périphérique du portable. Notez que la configuration de la gestion de l'énergie sera décrite 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. Vous avez tout simplement à installer discover en tapant la commande suivante et passer ensuite à la section suivante :

# apt-get install discover

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

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 892Ko 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 à cette adresse.

Notez toutefois qu'avec Xorg, tout semble fonctionner correctement sans ce petit programme. Vous pourrez trouver un fichier de configuration de Xorg à cette adresse : http://www.andesi.org/static/autres/d500-xorg.conf

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 "."
        ;;
    stop)
    ;;
    *)
        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 ne vous reste plus qu'à spécifier le pilote correct dans la section Device. Je vous conseille fortement d'installer la version 4.3 afin de profiter pleinement de l'accélération graphique. Pour faire cela, il vous suffit de taper la commande suivante pour installer les paquets X et Gnome :

# apt-get install x-window-system gnome

Une fois que cela est terminé, vous pouvez modifier le fichier de configuration de XFree. Un exemple de fichier de configuration est disponible à cette adresse. Vous souhaitez probablement utiliser les touches de volume de votre ordinateur ; pour faire cela sous X 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 gnome comme gestionnaire de fenêtre :

#!/bin/sh
# ~/.xsession
# Exemple pour gnome
xbindkeys -f ~/.xbindkeysrc &
exec /usr/bin/gnome-session

Carte son

La carte son intégrée est une Intel 810, il vous suffit donc de charger le module correspondant, ce qui donne :

# modprobe snd_intel8x0

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

# 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.

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.

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.

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 par la commande suivante :

# cat /proc/cpufreq
minimum CPU frequency - maximum CPU frequency - policy
CPU 0 60000 kHz ( 46 %) - 1294992 kHz (100 %) - performance

Puis modifions le fichier de configuration en n'oubliant pas de remplacer 46% 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

Configuration du « Software Suspend »

Cette fonctionnalité permet de sauvegarder le contenu de la mémoire sur le disque dur et d'arrêter ensuite l'ordinateur. Cela permet de retrouver exactement le même bureau et applications lancés, lors du prochain redémarrage. Cela vous évite de perdre du temps à relancer toutes vos applications favorites à chaque démarrage et permet également d'arrêter rapidement l'ordinateur.

Si vous souhaitez utiliser cette fonctionnalité, je vous conseille vivement d'utiliser le paquet debian du noyau que j'ai construit, car ceci nécessite un patch sur le noyau. Je vais considérer que vous utilisez cette version du noyau dans la suite de ce paragraphe.

La manière la plus simple d'utiliser le « Software Suspend 2 » est d'utiliser le script hibernate. Pour cela :

# apt-get install hibernate
# wget http://www.andesi.org/static/autres/d500-hibernate.conf -O /etc/hibernate/hibernate.conf

Je vous conseille vivement de lire le fichier de configuration hibernate.conf et de l'adapter en fonction de vos besoins. Pour lancer une « hibernation », vous pouvez faire :

# hibernate

N'oubliez pas de modifier la configuration de Lilo ou GNU Grub en ajoutant ceci à GNU Grub par exemple sur la même ligne que celle du noyau (en considérant que votre partition swap est /dev/hda6 :

resume2=/dev/hda6

Liens intéressants

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 contrarier 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.
  • « Software suspend 2: HOWTO », http://www.suspend2.net/HOWTO, un HOWTO sur l'utilisation du « Software Suspend 2 ».
 
installation/debian-gnu-linux-sur-un-portable-dell-latitude-d500.txt · Dernière modification: 11/12/2010 18:25 par orgrim