Premier pas

Le portable a été livré avec Windows 7, système qui permet de vérifier que le matériel est fonctionnel (ce n'est pas une précaution superflue, le clavier du premier portable que j'ai reçu comportait quatre touches défectueuses, j'ai dû le renvoyer pour échange standard).

Il embarque un BIOS American Megatrend. Pour afficher les écrans du BIOS, appuyer sur F2 au démarrage. Par défaut, le portable démarrait sur le disque dur, j'ai modifié le BIOS pour qu'il essaye d'abord de démarrer sur le lecteur de DVD.

L'appareil était livré avec une barrette de 4 Go de mémoire vive (DDR3 1333 - PC3-10600). Pour commencer, j'ai testé l'intégrité de la mémoire avec MemTest86+. En l'absence d'erreur, j'ai installé une deuxième barrette de 4 Go, puis j'ai retesté. Toujours pas d'erreur, tout va bien.

Le portable a été livré avec un disque dur de 640 Go divisé en trois partitions :

  • une première partition "cachée" de 27 Go, formatée en FAT, contenant une sauvegarde du système Windows ;
  • une deuxième partition de 256 Go, formatée en NTFS, contenant le système Windows et les logiciels préinstallés ;
  • une troisième partition NTFS, consacrée aux données, qui occupe tout le reste du disque.

J'ai conservé les deux premières partitions et j'ai supprimé pendant l'installation la partition de données afin de récupérer le restant du disque pour Linux.

Installation de Debian Squeeze

J'ai téléchargé l'image du CD d'installation Netinst de Squeeze en version 64 bits (debian-6.0.4-amd64-netinst). Dans le menu de démarrage, j'ai choisi l'installation dite "expert" en mode texte (interface classique Curse).

Je ne détaille pas les étapes standard de l'installation, voyons seulement deux points qui ont posé problème :

1. Accès au réseau

Pour l'installation en réseau (netinst), j'ai branché le portable sur le réseau local avec un câble RJ45. L'appareil est cependant équipé du composant réseau Realtek r8169 dont le microcode, non libre, ne figure pas sur le CD d'installation. Un message réclamant le fichier rtl_nic/rtl8168e-2.fw est apparu.

Ce fichier se trouve dans le paquet firmware-realtek, que j'ai téléchargé sur le site de Debian, décompressé sur un ordinateur de bureau, et placé sur une clef USB contenant deux partitions (une Windows, en FAT32, et l'autre Linux, en ext2).

Le programme d'installation n'a apparemment pas réussi à monter automatiquement les partitions, j'ai dû le faire à la main en ouvrant un terminal (Alt + F1) et en montant la partition Linux (mount -t ext2 /dev/sdb2 /media).

Pas de problème ensuite pour accéder au réseau et poursuivre l'installation.

2. Partitionnement

Organisation du disque dur : je voulais installer un Squeeze chiffré avec LVM. J'ai dû m'y reprendre à deux fois avant de trouver la bonne méthode. Ordre des opérations :

  1. Supprimer la partition de données pour récupérer de l'espace sur le disque.
  2. Créer une petite partition primaire, de 500 Mo par exemple, pour monter /boot. Je l'ai formatée en ext3. La partition de démarrage ne peut pas être placée dans le volume chiffré. La rendre amorçable et monter /boot dessus.
  3. Créer ensuite une grande partition étendue (100 Go chez moi) qui contiendra le volume chiffré. Comme type, j'ai choisi "volume chiffré".
  4. Configurer le volume chiffré (l'option se trouve en haut de l'écran de partitionnement) en sélectionnant la partition créée à l'étape précédente. Tout le volume est initialisé avec des données aléatoires, ça prend un bon moment. On saisit le mot de passe qui donnera accès à la partition.
  5. Quand le volume chiffré est prêt, configurer LVM en créant un groupe de volumes. Comme volume physique, choisir le volume chiffré créé précédemment. Dans ce groupe de volumes, créer ensuite des volumes logiques. Il en faut un par partition. J'ai donc créé des volumes pour /, /var, /home, /tmp et un volume de swap. Il est conseillé de leur donner des noms clairs, comme debian-root, debian-var, etc. Revenir ensuite à l'écran de partionnement.
  6. Il ne reste plus qu'à indiquer un format (ext4, sauf la partition de swap) et un point de montage pour chacun des volumes logiques créés à l'étape précédente.

L'installation se poursuit de la manière habituelle. J'ai ensuite pu démarrer sans problème sur le nouveau système Debian Squeeze.

Affichage

Le portable est équipé de deux composants graphiques : un composant intégré Intel Sandy Bridge et une carte nVidia (système Optimus). Pour le moment, je ne m'occupe pas de la carte complémentaire nVidia. Mon premier objectif est de faire fonctionner correctement le composant Intel.

$ lspci | grep VGA

00:02.0 VGA compatible controller: Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation Device 1051 (rev a1)

Le noyau par défaut de Debian Squeeze (2.6.32) est trop ancien pour exploiter correctement le composant graphique Intel. Par défaut, X.org démarre avec un pilote VESA et GNOME apparaît en 800 x 600, alors que l'écran au format 16/9 a une résolution maximum de 1366 x 768.

Pour régler le problème, il a suffi d'installer le noyau 3.2 disponible dans le dépôt squeeze-backports :

$ apt-cache search linux-image* | grep 3.2 | grep amd64

linux-headers-3.2.0-0.bpo.1-amd64 - Header files for Linux 3.2.0-0.bpo.1-amd64
linux-image-3.2.0-0.bpo.1-amd64 - Linux 3.2 for 64-bit PCs

# apt-get install -t squeeze-backports linux-image-3.2.0-0.bpo.1-amd64
(...)

Le paquet xserver-xorg-video-intel doit également être installé (la version stable suffit chez moi), mais normalement ça devrait être déjà fait.

MISE A JOUR : la version stable semblait suffir, mais la lecture de vidéo et la webcam ne fonctionnaient pas. Le problème disparaît si on installe les versions squeeze-backports du pilote et du serveur X.Org.

# apt-get install -t squeeze-backports xserver-xorg-video-intel xserver-xorg xserver-xorg-core

Après redémarrage, l'affichage est géré par le pilote i915 et la résolution passe à 1366 x 768 dans GNOME.

Optimisation : j'ai l'habitude de désactiver l'affichage du contenu des fenêtres pendant leur déplacement ou leur redimensionnement, pour économiser les ressources, bien que ça ne soit pas nécessaire sur le matériel récent. Pour ce faire, lancer gconf-editor (en qualité d'utilisateur normal) et, dans la branche /apps/metacity/general, donner la valeur True au paramètre reduced_resources.

Son

Je n'avais pas de son après l'installation. Informations sur le matériel :

# cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xdf000000 irq 22

# cat /proc/asound/modules 
 0 snd_hda_intel

# lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation Cougar Point High Definition Audio Controller (rev 05)

# aplay -l | grep card
card 0: PCH [HDA Intel PCH], device 0: ALC269VB Analog [ALC269VB Analog]
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]

# cat /proc/asound/card0/codec#* | grep -i Codec
Codec: Realtek ALC269VB
Codec: Intel CougarPoint HDMI

Documentation sur les paramètres du système ALSA pour le composant ALC269 :

ALC269
======
  basic         Basic preset
  quanta        Quanta FL1
  laptop-amic   Laptops with analog-mic input
  laptop-dmic   Laptops with digital-mic input
  fujitsu       FSC Amilo
  lifebook      Fujitsu Lifebook S6420
  auto          auto-config reading BIOS (default)

Source

Pour faire fonctionner le son correctement, il a suffit d'ajouter le paramètre :

options snd-hda-intel model=auto

dans le fichier /etc/modprobe.d/alsa-base.conf.

Ensuite, recharger ALSA en saisissant :

# alsa force-reload

Le micro est coupé par défaut, l'activer si nécessaire dans Système > Préférences > Son.

On peut aussi contrôler le niveau des différents canaux avec l'utilitaire alsamixer.

Wifi

Composant réseau sans fil non reconnu au départ, mais j'ai trouvé des infos très complètes sur le wiki de Debian. Voir les documents :

Identification du composant Wifi du portable :

03:00.0 Network controller [0280]: Intel Corporation Centrino Wireless-N 100 [8086:08ae]
        Subsystem: Intel Corporation Centrino Wireless-N 100 BGN [8086:1005]

Dans le noyau 3.2, ce composant est géré par le pilote iwlwifi (dans les versions précédentes, c'était le pilote iwlagn).

Les fichiers de microcode sont dans le paquet firmware-iwlwifi, qui se trouve dans la section non-free des dépôts Debian.

Le paquet wireless-tools est également nécessaire, mais normalement il est préinstallé sur un portable.

Après installation du paquet du microcode, recharger le pilote :

# modprobe -r iwlwifi ; modprobe iwlwifi

Des messages apparaissent dans le journal du système, le composant Wifi est bien reconnu :

Mar 13 21:23:42 portable kernel: [ 6086.684040] Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
Mar 13 21:23:42 portable kernel: [ 6086.684048] Copyright(c) 2003-2011 Intel Corporation
Mar 13 21:23:42 portable kernel: [ 6086.684165] iwlwifi 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
Mar 13 21:23:42 portable kernel: [ 6086.684186] iwlwifi 0000:03:00.0: setting latency timer to 64
Mar 13 21:23:42 portable kernel: [ 6086.684240] iwlwifi 0000:03:00.0: pci_resource_len = 0x00002000
Mar 13 21:23:42 portable kernel: [ 6086.684246] iwlwifi 0000:03:00.0: pci_resource_base = ffffc900057b0000
Mar 13 21:23:42 portable kernel: [ 6086.684252] iwlwifi 0000:03:00.0: HW Revision ID = 0x0
Mar 13 21:23:42 portable kernel: [ 6086.684387] iwlwifi 0000:03:00.0: irq 50 for MSI/MSI-X
Mar 13 21:23:42 portable kernel: [ 6086.684457] iwlwifi 0000:03:00.0: Detected Intel(R) Centrino(R) Wireless-N 100 BGN, REV=0x6C
Mar 13 21:23:42 portable kernel: [ 6086.684567] iwlwifi 0000:03:00.0: L1 Disabled; Enabling L0S
Mar 13 21:23:42 portable kernel: [ 6086.704723] iwlwifi 0000:03:00.0: device EEPROM VER=0x166, CALIB=0x6
Mar 13 21:23:42 portable kernel: [ 6086.704732] iwlwifi 0000:03:00.0: Device SKU: 0X50
Mar 13 21:23:42 portable kernel: [ 6086.704738] iwlwifi 0000:03:00.0: Valid Tx ant: 0X1, Valid Rx ant: 0X3
Mar 13 21:23:42 portable kernel: [ 6086.704789] iwlwifi 0000:03:00.0: Tunable channels: 13 802.11bg, 0 802.11a channels

... mais un fichier manque encore :

Mar 13 21:25:44 portable kernel: [ 6208.218765] iwlwifi 0000:03:00.0: request for firmware file 'iwlwifi-100-5.ucode' failed.
Mar 13 21:25:44 portable kernel: [ 6208.218776] iwlwifi 0000:03:00.0: no suitable firmware found!
Mar 13 21:25:44 portable kernel: [ 6208.219039] iwlwifi 0000:03:00.0: PCI INT A disabled

Le fichier de microcode iwlwifi-100-5.ucode ne figure pas dans le paquet firmware-iwlwifi de Squeeze, il faut utiliser la version de squeeze-backports.

# apt-get install -t squeeze-backports firmware-iwlwifi

J'ai dû redémarrer le système pour que l'interface WiFi soit visible avec la commande iwconfig :

# iwconfig

lo        no wireless extensions.

pan0      no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=14 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          
eth0      no wireless extensions.

Les points d'accès WiFi avoisinnants sont ensuite visibles dans l'utilitaire NetworkManager de GNOME.