On m'a demandé dernièrement d'installer Primtux sur 2 "anciens" ordinateurs portables fournis par la région Occitanie/Languedoc-Roussillon aux lycéens. Autant il n'y a eu aucun problème sur le modèle le plus ancien mais ça n'a pas du tout été le cas pour le plus récent qui est un modèle HP Probook x360 11 G1 EE avec écran tactile.

En effet, impossible de booter directement sur mes clés USB habituelles sous Easy2Boot ou Ventoy ! Ceci est dû à un sale tour de HP/Microsoft empêchant le démarrage à partir du booloader GRUB que l'on trouve dans beaucoup de distributions GNU/Linux. Qu'à cela ne tienne car il est possible de contourner cet obstacle. Comme quoi même en compliquant la vie des simples utilisateur⋅rices, il existe souvent une solution de contournement aux blocages des constructeurs (mais c'est vrai que ça complique quand même les choses). En tout cas, cela conforte mon idée d'éviter d'acheter du HP et du Microsoft.

Sources :

 

A- Désactiver le secure boot dans le BIOS de loRdi

  1. Pour désactiver le Secure Boot, il faut appuyer au démarrage de l'ordinateur sur la touche Échap avec de petits appuis rapides et répétitifs afin d'arriver à accèder au menu général du BIOS. Si on a un message demandant de répondre Yes/No, on appuie un coup de plus sur la touche Échap pour avoir un menu graphique avec 6 grandes entrées.
    Remarque : Il est fort probable qu'il faille s'y reprendre à plusieurs fois avant de réussir car la "fenêtre de tir" est très limitée. Si on rate, on peut appuyer sur la touche de mise sous tension pendant 5 secondes pour forcer l'extinction puis recommencer (gain de temps car on se fiche de ce que ça pourrait causer à Windows qui sera de toute façon supprimé 😉).
  2. Ensuite on appuie sur la touche F10 (ou on clique dessus avec la souris ou en tactile) qui permet de régler le BIOS (Bios Setup).
  3. On va sur le menu de gauche "Advanced" -> Boot Options (en haut de la liste) -> SecureBoot -> et on choisit Disable (à la place de Enable).
  4. Ensuite on revient sur le menu de gauche "Main" -> "Save Changes and Exit" . On confirme en cliquant sur "Yes".
  5. Lorsque l'ordinateur redémarrage, comme la modification qu'on vient de faire touche un réglage sensible, on a un message qui demande de rentrer un code aléatoire (qui change tout le temps) à 4 chiffres + ENTER pour confirmer le changement effectué dans le BIOS. On tape ce code directement sur les touches numériques de la 2e rangée du haut du clavier (sans appuyer sur la touche Shift ou une autre) puis sur la touche ENTRÉE. Rien de s'affiche quand on tape mais si c'est bon, l'ordinateur redémarre.

 

B- Création de la clé USB bootable sous rEFInd

Comme une clé USB bootable basée sur GRUB ne pourra pas démarrer, on va utiliser une clé USB bootable basée sur le bootloader rEFInd. Pour cela, vous pouvez suivre cet excellent tutoriel en français : https://papy-tux.legtux.org/doc1245/index.html#mozTocId965

ATTENTION lorsqu'on utilise la commande "dd", si vous vous trompez de destination, vous pouvez perdre toutes vos données !!! À utiliser avec une EXTRÊME PRUDENCE !!!

Dans mon cas la clé usb bootable se trouve en /dev/sdc (et non pas /dev/sdb comme dans le tutoriel). Voici donc les différentes commandes adaptées à mon cas, à taper dans un terminal (ordinateur sous Linux Mint 21.2) :

- Pour effacer complètement la clé usb :
sudo dd if=/dev/zero of=/dev/sdc count=500MB bs=1 status=progress && sync
C'est une opération qui prend pas mal de temps surtout si la clé a une grosse capacité et/ou est faible en vitesse d'écriture, il faudra donc être patient⋅e. Par exemple, pour ma vieille clé de 2 Go Flash Voyager GT, il m'a fallu 20 minutes.

- Création de la table de partition :
sudo parted /dev/sdc mklabel gpt

- Créer une partition fat32 d'au moins 510MB :
sudo parted /dev/sdc mkpart primary fat32 1 551

- Attribuer le flag "boot" à la partition fat32 :
sudo parted /dev/sdc set 1 boot on

- Nommer la partition ESP :
sudo parted /dev/sdc name 1 ESP

- Formater la partition ESP en fat32 :
sudo mkfs.fat -F32 /dev/sdc1

- Vérifier la clé :
sudo parted /dev/sdc print

Si tout s'est bien passé, vous devriez avoir ces lignes (ou quelque chose de similaire) dans le terminal :

Modèle : Corsair VoyagerGT (scsi)
Disque /dev/sdc : 2047MB
Taille des secteurs (logiques/physiques) : 512B/512B
Table de partitions : gpt
Drapeaux de disque :
Numéro Début Fin Taille Système de fichiers Nom Drapeaux
1 1049kB 551MB 549MB fat32 ESP démarrage, esp

 

C- Installation de rEFInd sur la clé usb

  • On installe le paquet rEFInd avec la commande :
    sudo apt install refind
    ATTENTION !!! Lors du dépaquetage, il faut REFUSER l'installation de rEFInd sur son ordinateur !!!
  • On installe rEFInd sur sa clé USB (dans mon cas, elle est en sdc1) avec la commande :
    sudo refind-install --usedefault /dev/sdc1 --alldrivers

Si tout s'est bien passé, on doit obtenir un message de ce style :
ShimSource is none
Installing rEFInd on Linux....
Note: IA32 (x86) binary not installed!
Copied rEFInd binary files
Copying sample configuration file as refind.conf; edit this file to configure
rEFInd.

La clé est prête !!!

D- Installation de rEFInd sur loRdi

  • On branche la clé USB et on démarre loRdi en choisissant la clé USB (appuis répétitifs sur la touche F9 au démarrage).
  • Dans le menu "EFI Boot Device", on doit voir la clé USB dans "USB Device" et on clique dessus.
  • Une fenêtre "rEFInd" apparaît. On peut naviguer sur les différentes parties à l'aide des touches fléchées et on valide le choix en appuyant sur la touche ENTRÉE.
    Remarque : Attention, le temps est limité : pour ne pas être "pressé⋅e", il suffit d'appuyer sur une touche fléchée pour arrêter le compte-à-rebours initial de 20 secondes.
  • Là, on voit qu'il est possible d'installer rEFInd dans l'EFI existant de Windows (1ère icone avec une flèche bleue dans un carré bleu "Install rEFInd to disk") et on le fait.
  • On nous demande de choisir une partition pour installer rEFInd mais comme il n'y en a qu'une, on appuie sur la touche ENTRÉE.
  • Puis on appuie à nouveau sur ENTRÉE pour revenir au menu principal de rEFInd.
  • On sélectionne la croix rouge et on valide pour sortir de rEFInd.
  • rEFInd réapparaît pendant 20 secondes avant de démarrer automatiquement sur Windows.
  • On peut éteindre l'ordinateur.

Désormais, lorsqu'on démarrera l'ordinateur on tombera sur le le menu rEFInd et les clés USB d'installation habituelles seront reconnues (Ventoy et Easy2Boot).

E- Installation de Primtux sur loRdi

  • On branche la clé USB d'installation de Primtux et on allume loRdi.
  • Le menu rEFInd apparaît et on choisit la partition où se trouve Ventoy : on voit 2 pingouins et on choisit le premier où est indiqué "Boot EFI/BOOT/grubx64_real.efi from VTOYEFI".
  • Là, dans la fenêtre Ventoy, on choisit l'image Primtux (ou d'une distribution autre) voulue.
  • Dans la nouvelle fenêtre, on choisit "Boot in normal mode".
  • On arrive sur le menu permettant de tester Primtux en Live ou de l'installer. On choisit de l'installer.
  • Lors de l'installation, j'ai choisi de complètement supprimer les anciennes partitions (notamment EFI de Windows ce qui va poser quelques petits problèmes par la suite... mais vite surmontés).
  • L'installation se termine par un message d'erreur fatale "Impossible d'installer GRUB dans /dev/sda" mais c'est "normal"... On clique sur "Valider".
  • On redémarre l'ordinateur et là on arrive sur une belle page noire avec l'invite "grub>". Qu'à cela ne tienne, on recommence l'opération permettant d'installer rEFInd sur le disque dur (voir partie précédente "D- Installation de rEFInd sur loRdi") et une fois la réinstallation de rEFInd faite, on redémarre à partir du menu (double flèches jaunes).
  • Maintenant on retrouveau démarrage le menu rEFInd et on ne choisit pas la première partition Linux avec le sigle d'Ubuntu (qui s'appuie sur GRUB) mais celle avec le pingouin GNU/Linux avec un disque dur en bas à droite.
  • Primtux se lance et on ce connecte en tant que prof (pieuvre Poe) avec le mot de passe "tuxprof".

 

  • Pour éviter des conflits ultérieurs lors de la mise à jour du noyau/kernel, il est nécessaire de désinstaller complètement Grub. Pour cela, une fois qu'on a démarré Primtux en tant que prof (attention le pavé numérique est activé par défaut et on le désactive en appuyant sur les touches Fn + Ver Num), dans un terminal, taper cette commande :
    sudo apt-get -y remove grub2-common grub-common grub-pc grub-pc-bin
  • Quand une fenêtre surgissante affiche un avertissement concernant la suppression de Grub, on confirme en appuyant sur "Oui".
  • Maintenant au démarrage, rEFInd affichera pendant 20 secondes une fenêtre de démarrage. Le choix par défaut sera le système choisi lors du démarrage précédent. Primtux correspond au pingouin GNU/Linux.
  • Diminution du délai de connexion automatique de 20 à 5 secondes en éditant le fichier /boot/efi/EFI/refind/refind.conf et en modifiant la ligne timeout en mettant "timeout 5" à la place de "timeout 20". Pour éditer ce fichier, taper la commande (je ne sais pour quelle raison mais la complétion automatique ne marche pas comme si ce fichier n'existait pas) :
    sudo nano /boot/efi/EFI/refind/refind.conf
  • Cette commande est inutile avec Primtux 8 mais je la garde pour mémoire
    Suppression de l'entrée GRUB dans le menu rEFInd au démarrage avec la commande qui supprime 2 fichiers :
    sudo rm -v /boot/efi/EFI/ubuntu/grub*

Attention : Lors d'une mise à jour du kernel/noyau dans Primtux (pas fréquent mais ça arrive), le choix par defaut de rEFInd est perdu. Il faudra alors à nouveau choisir le pingouin au redémarrage.

 

F- Désactiver le pavé numérique au démarrage

Lorsqu'on démarre Primtux, le pavé numérique est actif, ce qui empêche de saisir correctement les caractères du clavier.
Pour le désactiver, il faut utiliser la combinaison de touches Fn + Ver Num qui se trouve dans la rangée du haut(4ème touche avant la fin).
Ensuite, si on veut retrouver cet état au prochain démarrage, il faudra aller dans l'application "Clavier" et cocher l'option "Restaurer l'état du verrouillage numérique au départ" :

 

G- Problème d'activation du Wifi, accès à Internet

J'ai rencontré un problème de wifi sur un LoRdi où il était systématiquement désactivé. Après pas mal de recherche, la solution a été trouvé avec cette ligne de commande :
nmcli radio all on

C'est assez "tordu" (mais très simple quand on connaît...) car il ne s'agissait ni d'un problème de pilote, ni d'un conflit entre le Bluetooth et le wifi, ni d'une mise en veille du composant au démarrage (problème qu'on rencontre majoritairement sur Internet). De plus, en Live USB Linux Mint, le wifi marchait correctement : ce qui excluait un problème dû à la distribution.

À titre d'information (car ça pourrait resservir surtout si ça se désactive à nouveau pour on ne sait quelle raison), voici comment faire.
En fait, il existe un interrupteur logiciel pour le wifi et le Bluetooth (qui agit comme un interrupteur physique) régit par la commande en ligne :  "nmcli" (pour gérer les réseaux en lignes de commande via l'application NetworkManager).
La commande pour ré-activer le wifi (et le bluetooth) est "nmcli radio all on" (c'est comme ça qu'on peut gérer le mode "avion" rapidement).
Plus d'info ici : https://www.thegeekdiary.com/nmcli-radio-command-examples-in-linux/

Autre info, le portable fonctionne très bien pour accéder à Internet via le Bluetooth d'un ordiphone (ça peut dépanner si on ne peut pas se brancher avec un câble réseau, solution qui fonctionne toujours, d'où privilégier des machines possédant une prise RJ45 d'origine).

 

Conclusion

Ça n'a pas été une sinécure mais ça fonctionne parfaitement !
Voir aussi cette page sur l'installation de Primtux sur un Chromebook de marque ... HP justement : [Primtux] Installation sur un Chromebook HP x360.
En fait, les tablettes sous GNU/Linux sont largement à portée de main et les fabricants, dont HP, pourraient les proposer sans problèmes, en particulier pour les écoles... La commande publique a tout son rôle à jouer pour faire en sorte d'orienter le marché en ce sens. Il faudrait "juste" une volonté politique après une prise de conscience salutaire pour nos finances, nos libertés et notre planète.