Installation de Debian Etch sur un portable Thinkpad (Lenovo) T60, version 1953-EAU.
English Version
DebianThinkpadT60en
posté sur
Tuxmobil.org
Cette page est en cours de rédaction.
Configuration matérielle du Thinkpad en question:
Processeur: Intel Core Duo T2400 1.83 Ghz
Carte Graphique: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller
Carte Reseau Sans Fil: Intel PRO/Wireless 3945ABG
Disque Dur SATA 100G 7200 rpm
Ce qui marche:
-- reconnaissance des deux cores du processeur + dynamic frequency scaling
-- carte ethernet
-- accélération 3D
-- wifi
-- modem
-- bluetooth (probablement, le voyant s'allume :). Pas de périphérique bluetooth pour tester.
Ce qui ne marche pas
-- Augmenter la resolution maximale (1024x768) avec l'utilitaire 915resolution. Ca ne fonctionne pas. Il semblerait qu'un nouveau pilote pour les cartes Intel, sans limitation de resolution soit en developpement.
Ce qui reste à configurer:
-- mise en veille (RAM) et hibernation
-- lecteur d'empreintes digitales.
Brève description de l'installation du système de base
Je decris ici tres brievement la demarche que j'ai suivie pour installer le systeme de base. Pour plus de details, je conseille fortement les deux liens suivants:
1) Guide d'installation et de survie pour Debian testing :
http://michauko.org/docs/
2) Formation Debian :
http://people.via.ecp.fr/~alexis/formation-linux/
Partitionnement du disque dur
Bien que ce partitionnement puisse se faire avec le CD d'installation (voir plus bas), je préfère utiliser l'excellent System Rescue CD, qui contient l'utilitaire QTparted, un programme similaire à Partition Magic. Il suffit de booter sur le CD et de lancer la commande: run_qtparted à l'invite en ligne de commande. Ceci démarrera un l'utilitaire de partitionnement en mode graphique.
Au départ le disque contient deux partitions: une partition NTFS (sur laquelle se trouve Windows XP) et une "petite" partition fat32 (environ 5Go quand même) qui peut être utilisée pour restaurer le système dans son état initial. J'ai choisi de créer des disques de secours depuis Windows pour pouvoir regagner la place occupée par cette partition. Elle peut cependant être conservée, en la laissant à la fin du disque (pas touche quoi).
La première chose à faire est de redimensionner la partition NTFS pour créer de l'espace libre sur lequel Linux sera installé. Le partitionnement est une affaire de gout. Personnellement, j'ai une grosse partition (DATA) au format ext2 de 50 Go qui contiendra photo, musique ... et une partition au format ext3 sur laquelle j'ai installé le système. Dans tous les cas il faudra créer une partition d'échange (swap). La partition DATA est accessible depuis Windows en utilisant le driver (freeware) qu'on peut trouver ici:
http://www.fs-driver.org. J'ai fixé sa taille a approximativement la quantité de RAM (1 Go) car cette partition sera utilisée plus tard pour mettre le portable en hibernation. En effet, tout le contenu de la RAM lors de l'hibernation doit pouvoir y tenir.
choix du CD d'installation
J'ai choisi d'utiliser une net-install. J'ai commencé par utiliser la version beta2 de l'installeur Debian. Celui-ci n'a pas reconnu la carte réseau au boot, ce qui est un problème pour une net install :) Je me suis donc rabattu sur la version "nightly build" de l'installeur, f34r ! En fait tout s'est bien passé et je me suis retrouvé avec un système minimal sur lequel on va pouvoir travailler.
Noyau
Le noyau de l'installeur sur lequel le systeme boote apres une installation toute fraiche est un 2.6.16, donc plutot recent.
Le hic, c'est qu'il n'a pas le support pour plusieurs processeurs. Ce serait dommage de ne pas profiter de notre tout nouveau Core Duo, on installe donc le noyau qui va bien:
-- linux-image-2.6.16-2-686-smp
A noter que je vais essayer de configurer le systeme en evitant de recompiler un noyau. Par flemme mais egalement pour ne pas me soucier des mises a jour de securite et autre patch, Debian s'en occupera pour moi :) Si je tombe sur un gros os, on se lancera dans la recompilation, en attendant jusqu'ici tout va bien.
Un petit souci assez ennervant meme si pas grave, ce message apparaissant au boot:
select() to /dev/rtc to wait for clock tick timed out
C'est un probleme qui semble lie a k'interaction driver rtc et au processeur core duo. La solution est de modifier la ligne commencant par HWCLOCKPARS dans les fichiers /etc/init.d/hwclock.sh et /etc/init.d/hwclockfirst.sh pour obtenir ceci:
HWCLOCKPARS =--directisa
Bug et workaround Debian #277298:
http://lists.debian.org/debian-kernel/2004/12/msg00397.html
Processeur : Activer le Dynamic frequency scaling
Pour faire fonctionner le changement dynamique de la fréquence du processeur, il faut tout d'abord charger certains modules. Editer le fichier /etc/modules et ajouter:
battery
ac
thermal
processor
speedstep_centrino
cpufreq-userspace
Ensuite, il faut installer le demon powernowd qui va se charger de modifier la fréquence en fonction de la demande:
apt-get install powernowd
Et voila :)
Plus d'info voir
http://www.thinkwiki.org/wiki/How_to_make_use_of_Dynamic_Frequency_Scaling (en anglais)
Carte Graphique : Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller
Le driver de cette carte, inclus dans le noyau 2.6.16, est i810.
J'ai trouve la marche a suivre pour activer l'acceleration 3D sur cette page:
http://www.larsen-b.com/Article/231.html
A noter, qu'il faut installer des paquets mesa issus de experimental:
-- libgl1-mesa-dri
-- libglu1-mesa
-- libgl1-mesa-glx
il faut donc
1) ajouter le depot experimental de Debian dans le fichier /etc/apt/sources.list. Ajouter la ligne
deb
ftp://ftp.debian.org/debian experimental main
2) Mettre a jour apt: apt-get update
3) Upgrader les paquets:
apt-get install -t experimental libgl1-mesa-dri
apt-get install -t experimental libglu1-mesa
(note: la premiere commande upgrade aussi le paquet libgl1-mesa-glx)
On obtient ainsi le tant attendu:
bertrand@ulysse:~$ glxinfo | head
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
Carte Reseau Wifi: Intel Corporation PRO/Wireless 3945ABG
Pour l'instant il n'y a pas de driver integre au noyau linux (et il n'y en aura probablement pas venant de chez Intel car ce driver utilise un logiciel closed-source pour fonctionner). Il n'existe pas encore de paquet Debian. Il faut donc installer le driver a la main, mais ce n'est pas hyper complique. Le driver, les dependances ainsi que la procedure d'installation sont disponibles sur le site
http://ipw3945.sourceforge.net. Quelques remarques cependant:
1) Le paquet wireless-tools inclus dans Debian Etch est suffisant
2) Il faut bien installer la derniere version du systeme ieee80211. La procedure d'installation remplace celui fournit avec le noyau Debian. Il faut donc noter qu'en cas de mise a jour du noyau, il faut probablement reinstaller le tout.
3) La procedure d'installation decrite necessite quelques precisions pour Debian:
- - le script sed donne pour reperer le repertoire ou placer le firmware ne fonctionne pas (pas de fichier /etc/hotplug/firmware.agent). Il faut placer le firmware dans le repertoire /lib/firmware.
- - Pour installer le pilote au boot, il faut creer un fichier ipw3945 dans le repertoir /etc/modprobe.d/ contenant les lignes suivantes:
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945 /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945
Cependant ca ne fonctionne pas chez moi : le driver est installe au boot, mais j'ai l'impression que le demon n'est pas lance. Il faut que je fasse une modprobe -r ipw3945 suivi d'un modprobe ipw3945 pour lancer le pilote proprement. Je planche sur ce probleme
J'ai trouvé la solution sur cette page:
http://www.atworkonline.it/~bibe/etch/index.html
L'auteur de cette page fournit un script (
http://www.atworkonline.it/~bibe/etch/ipw3945) qui permet de charger le pilote ipw3945 proprement au démarrage. Pour installer le script dans les services lancés au boot, il faut taper les commandes suivantes :
# install -m 755 /chemin/vers/ipw3945 /etc/init.d/
# update-rc.d ipw3945 start 40 S . stop 40 0 1 6 .
Et voila, on peut alors ajouter une entree dans le fichier /etc/network/interfaces pour configurer l'association a un point d'acces sans fil. Par exemple, j'ai ajoute:
# Wifi network interface.
allow-wireless eth1
iface eth1 inet dhcp
wireless-essid XXXX
wireless-key YYYYY
en remplaçant XXXX par le nom de votre réseau et YYYY par votre clef. La connection s'effectue ensuite par un simple ifup eth1 (en root).
Reste a faire:
1) regler le probleme du lancement au demarrage
2) creer des regles ifupdown pour identifier l'environnement reseau et s'associer au reseaux disponibles:
j'ai commencé à explorer comment résoudre ce problème. Si vous utilisez le bureau Gnome ou KDE, il y a un utilitaire assez sympatique a priori: network-manager. Il suffit d'installer les paquets network-manager, network-manager-gnome ou network-manager-kde. Personnellement j'utilise XFCE, donc je ne les ai pas installé, car les dépendances sont assez nombreuses (dbus et hal en particulier).