Installation de Debian GNU/Linux Sarge sur un

Transcription

Installation de Debian GNU/Linux Sarge sur un
Auteur : Capt'n Stac
Installation de
Debian GNU/Linux
Sarge sur un DELL
INSPIRON 8600c
par Capt'n Stac
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
Table des matières
Installation de Debian GNU/Linux Sarge.............................................................................................3
Installation et compilation du noyau linux 2.6.9...................................................................................3
Le son....................................................................................................................................................5
L'ACPI...................................................................................................................................................6
Carte Graphique et Accélération 3D.....................................................................................................7
Autres partitions et périphériques de stockage......................................................................................9
Le WiFi..................................................................................................................................................9
Les touches multimédia.......................................................................................................................11
Modem V92 56k..................................................................................................................................12
Liens utiles..........................................................................................................................................13
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
Installation de Debian GNU/Linux Sarge sur un DELL INSPIRON 8600
Je viens de terminer l'installation et surtout la configuration de ma Debian sur mon nouvel
ordinateur portable DELL INSPIRON 8600. J'ai passé beaucoup de temps à tout configurer et j'ai
rencontré beaucoup de problèmes. Je souhaite donc mettre à disposition tout ce que j'ai pu apprendre et
en faire profiter tout le monde.
Mon DELL INSPIRON 8600 a la configuration suivante :
Type
Matériel
Processeur
Intel Pentium 4 M 755 (Centrino)
Mémoire
512 Mo SDRAM DDR 333 Mhz (PC2700)
Chipset
Intel 855PM
Modem
Conexant v.92 56K MDC (Modem AC'97 controler)
Carte Vidéo
Nvidia GeForce FX Go 5200 (64Mo)
Audio
Intel (Audio AC'97 controler)
Ecran
WXGA (1280x800)
Installation de Debian GNU/Linux Sarge
Pour commencer, il faut télécharger l'image CD de Debian Sarge (installation réseau) sur le site
de Debian (www.debian.org). C'est un fichier d'une centaine de méga­octets. On démarre alors sur le
cédérom et on suit tranquillement la procédure d'installation. Pour ma part, étant sur un réseau connecté
à internet, la connection a été immédiatement détectée et configurée. Il est à noter que l'installation ne
fonctionnait pas lorsqu'il y avait une partition Windows. Elle se bloquait à 33% lors de l'installation de
GRUB. Il parait, mais je n'ai pas essayé, que cela marche en passant au mode expert. Pour le choix du
serveur ftp distribuant debian, je vous conseille debian.mines.inpl­nancy.fr, parce que c'est une bonne
école (enfin auprès des DRH, après question formation...).
Après redémarrage, les choses sérieuses commencent. Et on va commencer par installer la
dernière version du noyau.
Installation et compilation du noyau linux 2.6.9
Nous allons commencer par compiler un noyau pour avoir un code binaire optimisé pour les
technologies « centrino ». Nous serons obligés de refaire une compilation dans le but d'installer la carte
graphique. Cependant, avec un peu d'entraînement, on pourra faire les deux en une seule étape.
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
On télécharge donc le dernier noyau disponible sur le site http://www.kernel.org. Le jour où j'y suis allé
le noyau 2.6.9 était disponible, donc nous installerons ce noyau. On décompresse alors l'image dans
« /usr/src/ » et on crée un lien vers le répertoire ainsi créé. Voici les commandes :
tar xvfj linux­2.6.9.bz2
cd /usr/src
ln ­s linux­2.6.9 linux
Ensuite, on passe à la configuration du noyau proprement dite. Sous X, il est possible d'avoir
une belle fenêtre qui s'avère très agréable, mais il faut installer des librairies graphiques telles que GTK
ou Qt. Il est aussi possible d'avoir des menus en mode texte, mais il faut installer la librairie Ncurses.
Autrement, pour les vrais (ou les bourrins), de faire tout en lignes de texte et, dans ce cas, inutile
d'installer quoique se soit. Voici les lignes de commandes pour installer de telles librairies. Dans le
doute, installez les toutes, ce sera toujours utile.
#Pour GTK
apt­get install libglib2.0­dev libgtk2.0­dev
#Pour QT
apt­get install libqt3­mt­dev
#Pour Ncurse
apt­get install libncurses5­dev
On peut alors lancer la configuration du noyau. Les options du noyau sont décrites dans
« .config ». A priori, vous ne devez pas avoir un tel fichier. Et donc il faut tout faire depuis le début. Je
vous donne mon fichier qui sera une bonne base de travail. Néanmoins je précise que celui­ci pourra
être amélioré. Pour configurer le noyau, on tape :
make xconfig make gconfig make menuconfig
#utilise la librairie Qt
#utilise la librairie Gtk
#utilise la librairie Ncurse
Après la configuration, on crée un paquet debian à l'aide de la commande suivante :
make­kpkg ­­revision=2.6.9 kernel_image
En revenant dans le répertoire « /usr/src », on remarque la présence du fichier « kernel­
image2.6.9_2.6.9.deb ». Il ne reste plus qu'à l'installer, ce qui se fait avec la commande suivante :
dpkg ­i kernel­image*.deb
Ce qui est bien avec cette méthode, c'est que tous le fichiers sont copiés aux bons endroits sans
se fatiguer (vmlinuz et System.map dans boot, modification du fichier /boot/grub/menu.lst...). Ensuite,
on fait un initrd.img adapté à notre nouveau noyau.
cd /boot/
mkinitrd ­o initrd.img­2.6.9 2.6.9
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
Ensuite, on ouvre le fichier « /boot/grub/menu.lst », et on ajoute « initrd /boot/initrd.img­2.6.9 »
dans la section de lancement de notre nouveau noyau. Voilà quoi ressemblera la section :
title
root
kernel
initrd
savedefault
boot
Debian GNU/Linux, kernel 2.6.9 (hd0,0)
/boot/vmlinuz­2.6.9 root=/dev/hda1 ro /boot/initrd.img­2.6.9
Le son
A priori, si vous avez pris mon « .config », les pilotes ALSA pour la carte son ont été mis en dur
dans le noyau. Donc tout devrait fonctionner sans avoir à charger quelconque module. Sous XMMS, n'oubliez pas de regarder dans options – préférences et de faire choix des pilotes
ALSA (et non OSS, par défaut). Le problème est que cette configuration ne permettra à aucun autre
programme d'accéder au son (genre GAIM quand quelqu'un veut nous parler). Le mieux est d'autoriser
le multiplexage du son et de télécharger module aRts de XMMS. Réglez aussi tous les programmes qui
utilisent le son de la même manière.
J'ai aussi remarqué que le son émettait des grésillements comme lors d'une saturation. Par
chance, ce n'est pas un problème de pilote, de aRts ou que sais­je encore. C'est juste un léger réglage
dans le mixer. Par défaut, c'est kMix qui est installé avec KDE. Il suffit de ne pas mettre le paramètre
PCM à fond comme le montre la figure ci­dessous :
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
L'ACPI
Toutes les options de l'ACPI sont à mettre en dur dans la configuration du noyau (ce n'est pas
une obligation bien sûr), sauf le module de gestion des ordinateurs DELL (i8k). En effet, il faudra
forcer le chargement du module pour qu'il fonctionne. On pourra aussi avoir une gestion graphique de
tout l'ordinateur en installant le logiciel GkrellM.
Pour avoir la gestion complète DELL, il faut installer le module i8k en le forçant ce qui se fait à
l'aide de la commande suivante :
modprobe i8k force=1
On peut tout automatiser. On crée un petit fichier dans « /etc/modprobe.d » avec pour nom i8k
et on y écrit la ligne suivante :
options i8k force=1
Il reste alors à lancer l'insertion du module i8k en ajoutant le ligne suivante au fichier
« /etc/modules » :
i8k
Normalement, si tout s'est bien déroulé, vous pourrez voir dans le répertoire « /proc » un
« fichier » i8k :
stac@mercure:~/tla_stac$ more /proc/i8k A11 5W7RC1J 55 0 0 0 0 ­1 2
Les codes contenus dans i8k ont une signification bien précise. Par exemple, A11 est la version
de mon BIOS, 55 est la température du processeur. Je conseille d'installer les paquetages i8kutils et
gkrellm­i8k (plug­in pour GkrellM) qui permettrons de configurer l'activation des ventilateurs et de voir
en un clin d'oeil la température du CPU. J'ai réglé le lancement du premier ventilateur à 62°C et le
secondaire à 65°C avec un paramètre d'hysteresis à 5°C. La température est stabilisée entre 49°C et 55°
C pour un profile de performance à 600MHz (ce qui est largement suffisant pour travailler dans le
silence le plus complet, sans ventilateur qui gacherait un symphonie de Dvoräk, ou pour regarder des
DivX).
Si vous ne souhaitez pas installer ces logiciels, vous pouvez toujours contrôler température et
fréquence processeur à l'aide du répertoire /proc. Pour avoir la température, la fréquence ou régler la
politique de gestion processeur, tapez les commandes suivantes :
more /proc/sys/cpu/0/speed
more /proc/acpi/thermal_zone/THM/temperature
echo « 600:1600000:powersave » > /proc/cpufreq
#fréquence
#température
#réglage en économie d'énergie
Avec Klaptop, on peut réaliser cette commande, par un simple clic droit sur l'icône batterie et en
choisissant l'option « Performance profile ... ».
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
Carte Graphique et Accélération 3D
J'ai eu beaucoup de mal à installer la carte graphique. Les pilotes officiels fonctionnaient mais à
chaque redémarrage, il fallait que je les ré­installasse, ce qui était assez ennuyeux. Finalement, j'ai fini
par insérer les pilotes dans le noyau (module chargé à chaque démarrage). Voici la procédure à suivre.
Il faut d'abord aller chercher les paquetages utiles et les installer. Voici les diverses commandes
pour arriver au but :
apt­get install nvidia­kernel­source nvidia­kernel­common
cd /usr/src
tar ­xvfz nvidia­source.tar.gz
Ensuite on reprend la configuration classique du noyau à l'aide la commande non moins
classique :
make xconfig
Et la commande de modification est alors un peu modifiée, car il faut aussi compiler les sources
des pilotes la carte graphique :
cd /usr/src
make­kpkg clean
make­kpkg ­­revision=2.6.9 kernel_image modules_image
Puis à les installer tranquillement ainsi que la bibliothèque GLX:
cd /usr/src
dpkg ­i kernel­image­*.deb nvidia­kernel­*.deb
get­apt install nvidia­glx
Ensuite, on suit le HOWTO de nvidia qui dit que l'on doit modifier le fichier /etc/XF86Config­4
en commentant les lignes « Load dri » et « Load GLCore », en ajoutant au besoin la ligne « Load glx »
et en remplaçant a ligne « Driver nv » par « Driver nvidia ». Cette dernière ligne indique que le serveur
X doit utiliser les pilotes propriétaires (gérant la 3D) et non les génériques. Voici les parties critiques de
mon XF86Config­4 :
Section « Module »
### Load GLCore
### Load driver
Load glx
...
Section « Device »
Identifier « Ma carte graphique NVidia »
Driver « nvidia »
Si besoin, on peut créer un groupe qui aura accès à la vidéo et on s'ajoute à ce groupe :
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
addgroup ­­system video
adduser $USER video
J'ai eu un problème avec l'installation. Lorsque je voulais charger le module nvidia, je recevais
un message d'erreur m'indiquant que __VMALLOC_RESERVE n'était pas accessible. J'ai alors
modifié le fichier « /usr/src/linux/arch/i386/mm/init.c » en ajoutant la ligne « EXPORT_SYMBOL
(__VMALLOC_RESERVE); » après « unsigned int __VMALLOC_RESERVE = 128 << 20; ». Voici
le début du fichier :
...
#include<asm/sections.h>
unsigned int __VMALLOC_RESERVE = 128 << 20;
EXPORT_SYMBOL(__VMALLOC_RESERVE);
DEFINE_PER_CPU(...)
...
Je regarderai plus tard si cette opération est encore utile. Maintenant, si tout s'est bien passé, je
pense que la vidéo fonctionne bien si ce n'est l'écran 16/10 qui n'est pas encore au top et ne fonctionne
pas encore en 1280x800. Pour cela, on édite à nouveau le fichier /etc/XF86Config­4 et on y ajoute la
ligne suivante, dans la section « Monitor » :
Modeline « 1280x800 » 104.35 1280 1360 1496 1712 800 801 804 335
Et voilà, tout fonctionne. Pour vérifier que l'accélération 3D fonctionne aussi, on peut taper la
commande suivante :
glxgears
Mes résultats sont les suivants :
4299 frames in 5.0 seconds = 859.800 FPS
5394 frames in 5.0 seconds = 1078.800 FPS
5338 frames in 5.0 seconds = 1067.600 FPS
5481 frames in 5.0 seconds = 1096.200 FPS
NOTA BENE : Pour le noyau 2.6.10, la fonction « pci_fond_class » a été modifiée en
« pci_get_class » d'où une erreur du type « Symbole non connu : pci_find_class ». Pour palier à ce
problème, modifier dans le code source de nvidia toutes les occurrences de « pci_find_class » en
« pci_get_class ». En pratique, il n'y a que quatre lignes à changer dans le fichier
« /usr/src/modules/nvidia­kernel/nv/nv.c ». A part cela, rien ne change pour l'installation de ce noyau
par rapport au 2.6.9.
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
Autres partitions et périphériques de stockage
J'ai aussi une partition Windows sur la troisième partition de mon disque dur. De plus, je
souhaite avoir accès à mes clefs USB, mon appareil photo et un gros disque dur de 200 GO. Tous ces
périphériques sont des périphériques USB.
Ma partition Windows est de type NTFS. Il n'est pas encore possible d'écrire (ou alors sous
certaines conditions plus que contraignantes). Il faut avoir choisi les options NTFS lors de la
configuration du noyau. Ensuite pour charger automatiquement ma partition Windows, j'ai créé un
dossier windows dans « /mnt/ » et j'ai modifié mon « /etc/fstab »en ajoutant la ligne suivante :
/dev/hda3 /mnt/windows
ntfs
ro,user,uid=1000,gid=1000
0
0
De même pour accéder aux clefs USB et autres périphériques de stockage, on crée un répertoire
dans « /mnt/ », par exemple « usb » et on entre la ligne suivante dans le fstab :
/dev/sda1 /mnt/usb
auto ro,user,uid=1000,gid=1000
0
0
Ainsi, lorsque l'on a besoin de notre clef USB, on la connecte aux ports et on entre la ligne
suivante pour monter la clef dans le répertoire « usb » :
mount /mnt/usb
Lorsque l'on n'en a plus besoin, on la démonte par la commande suivante :
umount /mnt/usb
Il doit être possible de configurer un « automount », mais je ne me suis pas posé le problème vu
que l'intérêt est à mon goût très limité. J'ai aussi un HUB de deux ports USB que je connecte à mon
port PCMCIA. Malheureusement, les pilotes pour ce périphérique ne sont pas encore sortis et risquent
de ne pas voir le jour d'ici un bon moment.
Le WiFi
Nous allons maintenant installer le support WiFi qui est inclus automatiquement avec la
technologie centrino d'Intel. Voici la référence Intel Corp. PRO/Wireless LAN 2100, c'est­à­dire que le
protocole supporté n'est que le 802.11b (donc limité à 11 Mbits/s). Sur certains modèles, le support
802.11g est présent : il est fourni grâce à la Intel Corp. PRO/Wireless LAN 2200. L'installation se déroule sans problème et dans le but d'être le plus exhaustif possible, je vais
décrire l'installation. Je pense que cette installation devrait fonctionner sur les modèles 2200 d'Intel, il
n'y a plus qu'à transposer.
Tout d'abord, il faut télécharger les sources des pilotes ainsi que les firmwares (qui seront utiles
pour les connexions à chaud « hotplug »). Vous les trouverez aux adresses suivantes :
●
http://sourceforge.net/projects/ipw2100/
●
http://ipw2100.sourceforge.net/firmware.php
Ensuite, on installe le support « hotplug » ainsi que tous les outils de gestion de connexion sans
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
fil (parmi lesquels on trouve le fameux iwconfig) :
apt­get install hotplug
apt­get install wireless­tools
Puis on installe l'archive des pilotes à l'aide des commandes classiques :
tar ­xzf ipw2100­0.xx.tgz
cd ipw2100­0.xx
make
make install
On décompresse alors l'archive contenant le firmware, et on copie les trois fichiers « *.fw » dans
le répertoire « /usr/lib/hotplug/firmware » après avoir créé ce dernier dossier. Voici les commandes qui
permettent cela :
tar xvf *.tar
mkdir ­p /usr/lib/hotplug/fimware/
cp *.fw /usr/lib/hotplug/firmware/
Et voilà, c'est fini. Il ne reste qu'à insérer le module dans le noyau et de regarder si tout
fonctionne :
modprobe ipw2100
La configuration de toute connexion WiFi se fait à l'aide de « iwconfig ». Si vous êtes sous
KDE, vous pouvez utiliser l'utilitaire graphique « kwifimanager » (normalement installé par défaut).
Si vous avez installé, comme préconisé plus haut, GkRellM2, vous pouvez aussi mettre le petit
module qui permet la supervision des flux par l'interface WiFi :
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
apt­get install gkrellmwireless
Les touches multimédia
Les ordinateurs de la gamme INSPIRON ont des touches de réglage du son et pour certain (la
gamme 8000 et plus) quatre touches supplémentaires multimédia (Lecture, Stop, Avance, Recule). Pour
que ces touches propres aux ordinateurs DELL fonctionne, il faut que linux reconnaisse ces touches
spéciales. Bien entendu, ici encore i8k est utile. Pour que les touches soient reconnues, on a deux
possibilités. La première est de lancer le démon i8kbuttons et en réglant les touches. Dans ce cas, le
lancement du­dit démon se fait à l'aide de la commande suivante :
i8kbuttons ­u "augmente" ­d "diminue" ­m "muet"
Par exemple,
i8kbuttons ­u "echo augmente" ­d "echo diminue" ­m "echo muet"
Mais ce n'est pas la solution que j'ai choisie. Le module i8k admet comme commutateur
« handle­buttons=1 ». Si, comme préconisé, vous avez créé le fichier « /etc/modprobe.d/i8k », rajoutez
le commutateur à ce qui précède. Votre nouveau fichier i8k devrait ressembler à cela :
#Fichier /etc/modprobe.d/i8k
options i8k force=1 handle_buttons=1
Maintenant, il faut repérer ces boutons. Chaque touche du clavier a un numéro et, en particulier,
toutes ces touches multimédia. Pour repérer les touches, vous pouvez utiliser « xev » et noter les codes
lorsque les touches sont pressées. Voici ce que j'ai trouvé pour mon INSPIRON 8600. Je donne aussi,
le nom que nous donnerons à ces touches (en F** comme les touches de fonctions) :
Touche
Code
Nom donné
Augmentation du volume
176
F29
Diminution du volume
174
F28
Muet
160
F27
Lecture
162
F31
Stop
164
F32
Avance
144
F33
Arrière
153
F34
Les touches étant repérées, on peut alors étendre le clavier avec celles­ci. On va mettre toutes
les informations contenues dans le tableau précédent dans un nouveau fichier « /etc/X11/Xmodmap »
pour que tous les utilisateurs aient accès à ces touches, ou dans « ~/.Xmodmap » pour que seul
l'utilisateur en question y ait accès. Voici alors le contenu du fichier :
! /etc/X11/Xmodmap
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
keycode 162 = F31
keycode 164 = F32
keycode 144 = F33
keycode 153 = F34
keycode 160 = F27
keycode 174 = F28
keycode 176 = F29
Ensuite, il faut charger l'extension de clavier à chaque démarrage de session X. On peut faire
cela à l'aide d'un petit script, que l'on place dans le fichier « /etc/X11/Xsession.d/40custom_xmodmap »
et qui ressemble à cela (c'est exactement le script donné dans la documentation de i8kutils) :
# /etc/X11/Xsession.d/40custom_xmodmap
# Chargement général de Xmodmap
if [ ­x /usr/bin/X11/xmodmap ]; then
if [ ­f $SYSMODMAP ]; then
xmodmap $SYSMODMAP
fi
fi
# Chargement pour un utilisateur de Xmodmap
if [ ­x /usr/bin/X11/xmodmap ]; then
if grep ­qs ^allow­user­modmap $OPTIONFILE; then
if [ ­f $USRMODMAP ]; then
xmodmap $USRMODMAP
fi
fi
fi
Maintenant, toutes les touches de votre clavier sont valides. Il ne reste plus qu'à les utiliser dans
vos applications favorites comme Kaffeine ou Xmms en remplaçant les raccourcis claviers de certaines
fonctions par les touches F**.
Modem V92 56k
La cerise sur le gâteau : le vieux modem qui n'avance pas. Et bien qu'on le veuille ou non, je n'ai
eu aucun problème à le faire fonctionner. En installant « sl­modem­daemon », le modem est
instantanément reconnu (le lien « /dev/modem » est créé et pointe vers « /dev/tty0 ») et fonctionne avec
les pilotes ALSA.
Version dernièrement modifiée le 03/02/2005
Auteur : Capt'n Stac
apt­get install sl­modem­daemon
Pour configurer une connexion PPP, vous pouvez utiliser l'utilitaire « kppp ». Pour vérifier que
le modem est bien reconnu, rendez vous dans la partie Configuration ­> Interrogation du modem.
Liens utiles
●
http://www.andesi.org/index.php?node=77
(Compilation du noyau à la sauce debian)
●
http://www.kernel.org
(Les sources du noyau)
●
http://home.comcast.net/~andrex/Debian­nVidia/installation.html (Installation d'une carte graphique
sous debian)
●
http://sourceforge.net/projects/ipw2100/
●
http://ipw2100.sourceforge.net/firmware.php
●
http://www.lea­linux.org/
(Un site d'entraide francophone)
Version dernièrement modifiée le 03/02/2005