J’ai fait l’acquisition de cette nouvelle machine suite à l’autodestruction de mon ancien portable – un Dell XPS 15 qui n’était pourtant pas si vieux. Je devais bien entendu y installer ma distribution favorite, à savoir Debian (Sid parce que pour un desktop, c’est la meilleure version quand on connait un peu).
Vu que je l’utilise de temps en temps, je désirais conserver l’OS Microsoft™ (version 8) pré-installé gentiment par HP, donc ce sera une installation multiboot (du coup pas de tout repos).
Le matériel
lshw -short -sanitize -numeric Chemin matériel Périphérique Classe Description ============================================================ system HP ENVY dv7 Notebook PC (E3C85EA#ABF) /0 bus 181D /0/0 memory 6GiB Mémoire Système /0/0/0 memory 2GiB SODIMM DDR3 Synchrone 1600 MHz (0,6 ns) /0/0/1 memory 4GiB SODIMM DDR3 Synchrone 1600 MHz (0,6 ns) /0/c memory 128KiB BIOS /0/38 processor Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz /0/38/3a memory 32KiB L1 cache /0/38/3b memory 256KiB L2 cache /0/38/3c memory 6MiB L3 cache /0/39 memory 32KiB L1 cache /0/100 bridge 3rd Gen Core processor DRAM Controller [8086:154] /0/100/1 bridge Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:151] /0/100/1/0 display GF108M [GeForce GT 635M] [10DE:DE3] /0/100/2 display 3rd Gen Core processor Graphics Controller [8086:166] /0/100/14 bus 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1E31] /0/100/16 communication 7 Series/C210 Series Chipset Family MEI Controller #1 [8086:1E3A] /0/100/1a bus 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 [8086:1E2D] /0/100/1b multimedia 7 Series/C210 Series Chipset Family High Definition Audio Controller [8086:1E20] /0/100/1c bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 1 [8086:1E10] /0/100/1c.1 bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 2 [8086:1E12] /0/100/1c.1/0 generic RTS5229 PCI Express Card Reader [10EC:5229] /0/100/1c.3 bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 4 [8086:1E16] /0/100/1c.3/0 wlan0 network RT3290 Wireless 802.11n 1T/1R PCIe [1814:3290] /0/100/1c.3/0.1 generic RT3290 Bluetooth [1814:3298] /0/100/1c.5 bridge 7 Series/C210 Series Chipset Family PCI Express Root Port 6 [8086:1E1A] /0/100/1c.5/0 eth0 network RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10EC:8168] /0/100/1d bus 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1E26] /0/100/1f bridge HM77 Express Chipset LPC Controller [8086:1E57] /0/100/1f.2 storage 82801 Mobile SATA Controller [RAID mode] [8086:282A] /0/100/1f.3 bus 7 Series/C210 Series Chipset Family SMBus Controller [8086:1E22] /0/1 scsi0 storage /0/1/0.0.0 /dev/sda disk 1TB HGST HTS541010A9 /0/1/0.0.0/1 /dev/sda1 volume 399MiB Windows NTFS volume /0/1/0.0.0/2 /dev/sda2 volume 259MiB Windows FAT volume /0/1/0.0.0/3 /dev/sda3 volume 127MiB reserved partition /0/1/0.0.0/4 /dev/sda4 volume 146GiB Windows NTFS volume /0/1/0.0.0/5 /dev/sda5 volume 28GiB Windows NTFS volume /0/1/0.0.0/6 /dev/sda6 volume 755GiB LVM Physical Volume /0/2 scsi4 storage /0/2/0.0.0 /dev/cdrom disk DVD A DS8A9SH /1 power MO06062 /2 power OEM_Define5
Comme je pense la plupart des machines récentes, l’antique BIOS a été remplacé par UEFI. Il y a également 2 cartes graphiques, la carte Intel intégrée et une GeForce Nvidia, le tout saupoudré de technologie Optimus. Les cartes réseaux nécessitent des micrologiciels propriétaires, les paquets suivants devront donc être installés :
- firmware-ralink
- firmware-realtek
Préparation
Afin d’avoir ces micrologiciels dès l’installation, j’ai choisi d’utiliser le média d’installation alternatif comme indiqué sur le wiki Debian
Il faut également de la place pour installer Debian sur le disque, j’ai choisi la facilité : réduire la taille de la partition Windows™ avec gparted en démarrant sur un SystemRescueCd.
Je ne m’amuse plus à graver de CD depuis un moment, donc autant pour SystemRescueCd que pour Debian, le démarrage aura lieu sur une clé USB. Pour SystemRescueCd, c’est bien expliqué sur le site officiel, pour l’ISO netinstall de Debian, c’est simple, il suffit d’utiliser la commande dd.
Concernant Secure Boot, je n’ai pas eu envie de chercher, je l’ai juste désactivé pour le moment.
Installation
L’installation est très classique pour qui a déjà installé une Debian, il est même possible de lancer le téléchargement des paquets en Wi-Fi, attention cependant, à ce jour, la configuration Wi-Fi n’est pas conservée dans le fichier /etc/network/interfaces donc pas de réseau au premier boot…
Afin d’éviter les surprises, et réinstaller tout ce que j’avais sur l’ancienne machine, j’ai réalisé une installation minimale puis j’ai réinstallé tous les paquets installés manuellement dont je récupère la liste grâce à la commande suivante :
aptitude search -F%p ~i\!~M
Il y a ensuite plusieurs façons d’installer cette liste de paquets, j’ai choisi la suivante :
cat installed |xargs aptitude -s install cat installed |xargs aptitude -y install
Pour récupérer mes données, j’ai commencé par éditer /etc/passwd et /etc/group pour recréer mon login avec les mêmes valeurs, un coup de passwd pour inscrire mon mot de passe dans /etc/shadow. Puis un rsync de mon /home depuis le disque de l’ancien portable vers le nouveau.
UEFI HP et dual-boot
Le sélecteur de démarrage est bogué, il ne retient pas l’ordre indiqué par efibootmgr ou son équivalent sous Windows™, j’ai essayé diverses solutions glanées sur le net et testé rEFInd, rien à faire, le démarrage par défaut se fait toujours sous Windows™. Et rEFInd finalement fait double emploi avec GRUB. J’ai donc opté pour une solution manuelle :
- Tout d’abord, il faut récupérer la configuration générée par GRUB pour démarrer Windows™ dans /boot/grub/grub.cfg, ça va nous servir :
menuentry "Windows Boot Manager (UEFI on /dev/sda2)" --class windows --class os { insmod part_gpt insmod fat set root='(hd0,gpt2)' search --no-floppy --fs-uuid --set=root 3EE5-0D31 chainloader /EFI/Microsoft/Boot/bootmgfw.efi }
- Ensuite, on neutralise la configuration par défaut en déplaçant le fichier /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi (je l’ai mis dans le répertoire /boot/efi/EFI/Microsoft) et en renommant le fichier /boot/efi/EFI/Boot/bootx64.efi (qui n’est q’une copie du premier) en .old par exemple.
- À ce stade, je me suis retrouvé avec grub comme boot par défaut, si d’autres installations existent et entrent en conflit, il faudrait copier le fichier grubx64.efi correspondant en /boot/efi/Boot/bootx64.efi (j’ai préféré ne pas le faire pour m’éviter d’oublier cette opération manuelle à la prochaine mise à jour de GRUB). Je me retrouve donc avec la liste d’éléments bootables suivante :
sudo efibootmgr BootCurrent: 0002 Timeout: 0 seconds BootOrder: 3002,0003,0004,2001,2002,2003 Boot0002* debian Boot0003* Network Adapter (IPv4 UEFI) Boot0004* Network Adapter (IPv6 UEFI) Boot2001* USB Drive (UEFI) Boot2002* Internal CD/DVD ROM Drive (UEFI) Boot3002* Internal Hard Disk or Solid State Disk
- Le Windows™ n’est plus bootable, et le générateur de configuration GRUB ne le trouve plus non plus, il faut l’ajouter manuellement en copiant la configuration récupérée précédemment à la fin du fichier /etc/grub.d/40_custom, ajuster les chemins en fonction de l’endroit où on a déplacé le fichier bootmgfw.efi. Enfin il faut mettre à jour la configuration de GRUB (sudo update-grub).
Conclusion
Tout fonctionne à peut près correctement, kdm se lance sans toucher à la configuration de xorg (franchement, je ne m’y attendais pas), même si je ne sais pas quelle carte graphique est utilisée, le fichier de log xorg montre le chargement des pilotes intel et nouveau (je pense essayer Bumblebee bientôt). Le bluetooth intégré à la carte Wi-Fi ne fonctionne pas, d’après ce que j’ai lu rapidement, un pilote existe sur le site du constructeur, mais il ne compilerait pas sur un noyau plus récent que le 3.2. Je mettrais un billet si j’arrive à en sortir quelque chose.
Comments
Comments powered by Disqus