Installer Debian GNU/Linux sur un Dell Inspiron 8600

Parts available in English

Mise à jour : 03/06/04

Ce qui reste à faire :

0. Introduction

L'Inspiron 8600 est une machine dont je suis satisfait, elle est basée sur l'architecture Centrino, et possède un écran de 15,4 pouces très agréable. Elle chauffe peu, est peu bruyante, et possède une bonne autonomie (4 heures en utilisation normale, avec une seule batterie).
Voilà plus d'informations :
00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03)
00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03)
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 01)
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 01)
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 01)
00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 01)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01)
00:1f.1 IDE interface: Intel Corp. 82801DBM Ultra ATA Storage Controller (rev 01)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Controller (rev 01)
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation: Unknown device 0324 (rev a1)
02:00.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)
02:01.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)
02:01.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller
02:03.0 Network controller: Broadcom Corporation BCM94306 802.11g (rev 02)
Cette page est destinée à rapporter mon expérience de l'installation de Linux sur cette machine. Merci aux auteurs de ces pages, qui m'auront été très utiles : http://www.users.fast.net/~eclectic/debian-8600.html et http://www.softlab.ece.ntua.gr/~amanous/Inspiron-Linux/
Vous pouvez également vous référer au manuel de Woody, disponible sur le site de Debian : http://www.debian.org/releases/stable/i386/install.fr.html

1. Redimensionner la partition NTFS

J'ai eu quelques problèmes pour redimensionner la partition NTFS, puisqu'elle était fragmentée à l'origine et que le défragmenteur de Windows ne pouvait rien faire... L'utilitaire ntfsresize ne pouvait donc la réduire qu'à 35 Go. Heureusement, Partition Magic a fonctionné sans problème et m'a permis de la réduire à 10 Go.

2. L'installation de Debian Woody 3.0r2 à partir du CD officiel

Lorsque j'ai effectué l'installation de mon portable, Debian Sarge n'était pas encore utilisable. Je vous recommande maintenant de l'installer directement, plutôt que Woody. Les versions beta 4 et ultérieures fonctionnent parfaitement. Les informations qui suivent sont toujours valables.
J'ai entré le paramètre bf24 au boot, pour effectuer l'installation depuis un noyau 2.4. J'avais en effet eu des problèmes lors d'une première installation depuis un noyau 2.2 que je n'ai pas rencontrés cette fois.
L'installation ne m'a posé aucun problème par la suite. Il m'a suffit de suivre les étapes :

3. Un peu de configuration

J'ai fait pointer /dev/cdrom vers le lecteur de cdrom, ce qui n'est pas le cas par défaut :
rm /dev/cdrom
ln -s /dev/hdc /dev/cdrom
Puis j'ai configuré mon /etc/fstab :
# /etc/fstab: static file system information.
#
#                        
/dev/hda6       /               ext2    errors=remount-ro       0       1
/dev/hda5       none            swap    sw                      0       0
proc            /proc           proc    defaults                0       0
/dev/fd0        /floppy         auto    user,noauto             0       0
/dev/cdrom      /cdrom          iso9660 ro,user,noauto          0       0
/dev/hda7       /home           auto    defaults                0       0
/dev/hda8       /medias         vfat    defaults                0       0
Plus tard, il me faudra gérer le montage automatique des CD-ROM, avec supermount.

J'ai ensuite installé avec dselect les éléments dont j'aurai besoin pour compiler le noyau. Pour cela, j'ai exécuté dselect, puis j'ai choisi un accès par CD-ROM. Voilà les paramètres que j'ai donné pour la lecture du CD :
Distribution top level : none
_main_ binary dir : /debian/pool/main
_main_ 'Packages' file : /dists/stable/main/binary-i386/Packages
none pour tout le reste, puisque je ferais la véritable installation par le réseau.
J'ai installé cpp, dpkg-dev, gcc, kernel-package, libncurses5-dev, make et leurs dépendances.

J'ai également modifié mon .bashrc pour ajouter la colorisation de ls et la complétion avancée. Voilà les lignes que j'ai ajoutées :
export LS_OPTIONS='--color=auto'
eval `dircolors`
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

source /etc/bash_completion
Enfin, j'ai configuré l'impression grâce à l'interface web de cups, accessible par http://localhost:631.

4. Passage au noyau 2.4.24

Les pilotes pour le contrôleur Ethernet ne sont pas livrés avec Woody, que ce soit dans le kernel 2.2.20 ou 2.4.18 (le module s'appelle b44). Ils sont disponibles dans le noyau à partir de la version 2.4.22, j'ai donc décidé de passer au noyau 2.4.24. Le noyau 2.6.1 est stable à l'heure où j'écris, mais il semble incompatible avec les outils de compilation fournis avec Woody.

Pour mémoire, la compilation d'un noyau "à la sauce Debian" :

5. Passage à Sarge

Je suis ensuite passé de Woody à Sarge, pour avoir des logiciels plus récents. Voilà le contenu de mon etc/apt/sources.list :
deb http://ftp.fr.debian.org/debian testing main contrib non-free 
deb http://non-us.debian.org/debian-non-US testing/non-US main 
deb http://security.debian.org testing/updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian testing main contrib non-free
deb-src http://non-us.debian.org/debian-non-US testing/non-US main
dselect a fait automatiquement la migration, et j'en ai profité pour installer tous les paquets dont j'aurai besoin, et qui seront compatibles avec le noyau 2.6.

6. Installation de X

L'installation de X a été beaucoup plus facile que je ne l'imaginais. Il a d'abord fallu récupérer les pilotes de la carte 3D, constitués dans Sarge des paquets nvidia-glx, nvidia-kernel-source et nvidia-kernel-common. Toutes les informations pour la compilation sont ensuite disponibles dans le fichier /usr/share/doc/nvidia-kernel-source/README.Debian. Ce pilote gère bien entendu l'accélération 3D !
Il a ensuite fallu trouver les paramètres de l'écran, dont la résolution (1680x1050) est assez atypique... J'ai trouvé les bons paramètres ici : http://www.mail-archive.com/xfree86@xfree86.org/msg10830.html. J'ai enfin pu modifier mon fichier /etc/X11/XF86Config-4, dont voici les sections qui concernent la carte 3D et l'écran :
Section "Module"
        Load    "GLcore"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        Load    "speedo"
        Load    "type1"
        Load    "vbe"
EndSection

Section "Monitor"
        Identifier      "LCD Monitor 1680x1050"
        HorizSync       28-90
        VertRefresh     40-60
        Option          "DPMS"
        UseModes        "Modes"
EndSection

Section "Modes"
  Identifier   "Modes"
  Modeline      "1680x1050" 147.14 1680 1784 1968 2256 1050 1051 1054 1087
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "GeForce FX 5200 Go"
        Monitor         "LCD Monitor 1680x1050"
        DefaultDepth    24
        SubSection "Display"
                Depth           1
                Modes           "1680x1050" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           4
                Modes           "1680x1050" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           8
                Modes           "1680x1050" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           15
                Modes           "1680x1050" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1680x1050" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1680x1050" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

7. Passage au noyau 2.6

J'ai utilisé la version 2.6.6 du noyau. Si vous souhaitez vous en inspirer, voilà mon fichier .config. Ce noyau intègre l'ACPI, le son avec ALSA, la gestion de l'USB, et les "wireless extensions". Il m'a fallu recompiler les drivers nvidia, mais tout le reste a fonctionné sans aucune configuration supplémentaire dès le redémarrage de l'ordinateur. Les modules "joydev" et "evdev" ont été nécessaires pour faire fonctionner mon adaptateur EMSUSB2, pour utiliser des joysticks de Playstation sur le PC. Le module "usb-hid" est lui utilisé pour gérer ma souris externe, branchée en USB.

8. Le WiFi

Ma carte WiFi (une TrueMobile 1300) fonctionne parfaitement (y compris le cryptage WEP 128 bits), grâce au chargeur de pilotes ndiswrapper, qui permet d'utiliser des pilotes Windows sous Linux. J'ai tout d'abord copié les fichiers bcmwl5.sys et bcmwl5.inf, depuis ma partition Windows. Le fichier README de ndiswrapper explique très bien comment se déroule la compilation et l'installation du module dans le noyau. Je vous conseille de vous y référer pour cette étape. Si vous rencontrez des problèmes lors de l'installation, consultez la FAQ de ndiswrapper, qui est très bien faite. Il vous faut ensuite configurer le fichier /etc/network/interfaces pour l'interface WiFi (ce sera généralement wlan0). En théorie, la commande ifup wlan0 devrait activer la carte WiFi et effectuer l'association au point d'accès, mais cette étape ne fonctionne pas chez moi (j'ignore si c'est une erreur de configuration ou bien un bug de ndiswrapper ou de ifup). Il me faut donc exécuter les commandes suivantes pour l'activer (dans cet ordre, sinon ça ne marchera pas, pour une raison inconnue) :
iwconfig wlan0 mode Managed
iwconfig wlan0 key restricted XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX
Il faut bien sûr utiliser ici les valeurs correspondant à votre réseau. Vous pouvez également inclure ces commandes dans un script de démarrage, pour automatiser le travail. Notez que j'utilise la version 0.7 de ndiswrapper à la date de l'installation, et que cela fonctionnera peut-être sans problème avec version ultérieure.
Je vous conseille d'installer le démon ifplugd, qui peut activer et désactiver dynamiquement les interfaces réseau. Je vous recommande également wavemon, pour contrôler l'état de la liaison WiFi.