L’objectif de ce document est donc de détailler l’installation de Debian GNU/Linux [1] sur un HP Compaq 8510p [?]. Notons que la procédure expliquée ci-dessous est basée sur une Debian Sid.
Ce document a été rédigé en LaTeX en utilisant l’excellent Vim sous Debian GNU/Linux. Il est disponible aux formats XHTML et PDF. Les sources LaTeX sont disponibles ici : LATEX
Copyright ©2008 Matthieu VOGELWEITH <matthieu@vogelweith.com>.
Vous avez le droit de copier, distribuer et/ou modifier ce document selon les termes de la GNU Free Documentation License, Version 1.2 ou ultérieure publiée par la Free Software Foundation ; avec aucune section inaltérable, aucun texte de première page de couverture, et aucun texte de dernière page de couverture. Une copie de la licence est disponible dans la page GNU Free Documentation License.
Un petit tour d’horizon des périphériques installés avec lspci :
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c) 00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c) 00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection (rev 03) 00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03) 00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03) 00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3) 00:1f.0 ISA bridge: Intel Corporation 82801HBM (ICH8M-E) LPC Interface Controller (rev 03) 00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03) 00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03) 01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 9581 01:00.1 Audio device: ATI Technologies Inc RV630 audio device [Radeon HD 2600 Series] 02:06.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b9) 02:06.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b9) 02:06.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 03) 02:06.3 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 20) 02:06.4 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 10) 10:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 02)
- Installation Etch minimale
# aptitude install vim postfix mtr-tiny less iproute ssh pciutils dnsutils ntp
# aptitude install alsa-base alsa-utils
La carte WLAN présente dans la machine est une Broadcom 4311 (BCM94311MCG rev 02). Pour l’instant je n’ai pas réussi à la faire fonctionner avec le driver bcm43xx, ni avec b43 ou b43legacy. Il reste donc la solution de ndiswrapper pour faire fonctionner la carte. L’installation de ndiswrapper nécessite la compilation d’un module noyau puis le chargement d’un pilote windows à l’aide d’utilitaires fournit par le paquet ndiswrapper-utils-1.9 :
# aptitude install build-essential module-assistant ndiswrapper-source ndiswrapper-utils-1.9 linux-headers-‘uname -r‘
# m-a prepare # m-a a-i ndiswrapper
Avant de continuer, il est sage d’enlever le module bcm43xx et d’éviter qu’il ne se charge automatiquement au démarrage de la machine :
# modprobe -r bcm43xx # modprobe -r ssb # echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist # echo "blacklist ssb" >> /etc/modprobe.d/blacklist
Le module noyau de ndiswrapper est maintenant près, il reste à charger le pilote provenant du pilote windows.
Le pilote de la carte est disponible directement sur le site de HP. Il suffit de le télécharger puis d’extraire l’archive afin d’obtenir le fichier INF qui sera utilisé par ndiswrapper :
# aptitude install cabextract # wget ftp://ftp.hp.com/pub/softpaq/sp36501-37000/sp36684.exe # cabextract sp36684.exe -dpilote_win # ndiswrapper -i pilote_win/bcmwl5.inf # ndiswrapper -m # depmod -a
Il est possible de vérifier que le driver a bien été chargé en éxecutant la commande suivante :
# ndiswrapper -l
bcmwl5 : driver installed
device (14E4:4311) present (alternate driver: bcm43xx)
On peut enfin faire un premier test en scannant les points d’accès disponibles :
# aptitude install wireless-tools # iwlist wlan0 scan
# modprobe ndiswrapper
Si en suivant les indications ci-dessus la carte ne fonctionne toujours pas, la cause du problème est sans doute listée ci-dessous :
Pour l’instant, le lecteur d’empreintes digitales ne permet pas de réaliser facilement l’authentification sur la machine mais le pilote matériel est déja fonctionnel. Il suffit d’installer les paquets suivants :
# aptitude install aes2501-wy imagemagick
Pour tester le scanner, executer la commande suivante avec un utilisateur standard, sous X :
$ sudo aes2501
Si tout fonctionne correctement, après un déplacement d’un doigt devant le scanner, une image de l’empreinte digitale devrait apparaitre.
Le projet libfprint :
# aptitude install libusb-dev libssl-dev libglib2.0-dev libmagick++9-dev libgtk2.0-dev libpam0g-dev # cd /usr/local/src # wget http://ovh.dl.sourceforge.net/sourceforge/fprint/libfprint-0.0.5.tar.bz2 # wget http://mesh.dl.sourceforge.net/sourceforge/fprint/fprint_demo-0.4.tar.bz2 # wget http://ovh.dl.sourceforge.net/sourceforge/fprint/pam_fprint-0.2.tar.bz2 # tar xvjf libfprint-0.0.5.tar.bz2 # tar xvjf fprint_demo-0.4.tar.bz2
- compilation de libfprint
# cd /usr/local/src/libfprint-0.0.5 # ./configure --prefix=/usr/local # make # make install
- compilation de fprint_demo
# cd /usr/local/src/fprint_demo-0.4 # ./configure --prefix=/usr/local # make # make install
Pour que le système puisse changer la fréquence du processeur, il suffit de charger le module acpi_cpufreq et les modules des governors désirés. Pour cela, il suffit d’installer le paquet cpufrequtils qui se chargera de tout faire tout seul.
# aptitude install cpufrequtils
Maintenant que les modules noyaux serant chargés automatiquement au démarrage de la machine, il reste à installer le démon cpufreqd qui régulera la fréquence du processeur en fonction de l’utilisation de la machine est de l’état de la batterie.
# aptitude install cpufreqd
Notons qu’il est possible de faire des réglages très fin avec cpufreqd mais la configuration par défaut est très bien faite.
- Installation de HDparm
# aptitude install hdparm
- Configuration du disque SDA dans /etc/hdparm.conf
/dev/sda {
apm = 254
spindown_time = 0
}
# update-rc.d hdparm defaults
# aptitude install acpid acpi-support acpi
Mettre en la machine en veille (suspend to RAM) :
# /etc/acpi/sleep.sh
Mettre en la machine en hibernation (suspend to DISK) :
# /etc/acpi/hibernate.sh
Les pilotes propriétaires fournit par ATI sont les seuls a fournir un support 3D complet pour les cartes ATI sous linux. En plus d’être propriétaire, ce pilote n’est malheureusement pas de grande qualité. Depuis peu, une alternative libre existe pour les cartes récentes, il s’agit du projet radeonhd [2]. Ce pilote open-source est développé par Novell à partir des spécifications fournies par AMD. Le support 3D n’est pas vraiment complet mais il de très bonne qualité est beaucoup moins instable que le pilote propriétaire.
Ce pilote est maintenant disponible dans sa version 1.0.0 dans Debian Sid. L’installation du pilote se fait donc tout simplement avec la commande suivante :
# aptitude update # aptitude install xserver-xorg-video-radeonhd radeontool
Reste enfin à configurer la section "Device" du fichier /etc/X11/xorg.conf comme indiqué ci-dessous :
Section "Device"
Identifier "ATI Mobility X1600"
Driver "radeonhd"
EndSection
- Installation du module Xorg :
# aptitude install xserver-xorg-input-synaptics
- Configuration de Xorg :
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "TapButton3" "2"
Option "TapButton2" "3"
Option "SHMConfig" "true"
EndSection
Le driver Synaptics permet de régler très finement le comportement du trackpad, toutes les options sont disponibles dans la page man. Une petite astuce pour ne pas redémarrer à chaque modification de la config : utiliser synclient qui applique les modifications à chaud.
Mon fichier de configuration est disponible ici : xorg.conf
Hdparm permet de tester les performances du disque dur de la machine. L’installation se fait comme toujours avec aptitude :
# aptitude install hdparm
Pour lancer le test, il suffit d’éxécuter la commande suivante :
# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 5498 MB in 2.00 seconds = 2754.09 MB/sec Timing buffered disk reads: 120 MB in 3.03 seconds = 39.55 MB/sec
Afin d’évaluer les performances du processeur, on peut par exemple mesurer le temps de compilation du noyau. Pour apprecier les effets du multi-core, le test est réalisé plusieurs fois en modifiant l’option -j de make. Cette option défini le nombre de process lancés simultanément par make.
time make real 8m46.063s time make -j2 real 4m17.045s time make -j3 real 4m7.875s time make -j4 real 4m6.633s
Pout tester les performances de la carte graphique, on peut utiliser glxgears qui est fourni avec le paquet mesa-utils :
$ glxgears 6257 frames in 5.1 seconds = 1236.405 FPS 6204 frames in 5.0 seconds = 1237.433 FPS 6293 frames in 5.1 seconds = 1243.875 FPS 6237 frames in 5.0 seconds = 1239.986 FPS 6237 frames in 5.1 seconds = 1230.079 FPS