Primtux8 icone

Une école avait acheté par erreur lors du confinement en 2020 un ordinateur portable HP x360 12b-ca0005nf sous Chromebook et du coup, cet équipement n'était pas du tout utilisé. Lors d'une de mes visites, en discutant, j'ai proposé d'essayer de le passer sous Primtux mais sans garantir le résultat sachant les complications que mettent les fabricants et Google pour verrouiller leurs appareils... Politique qui devrait être clairement combattue de façon législative pour éviter ce gaspillage de ressources inacceptable. On ferait mieux d'agir contre ça plutôt que de faire culpabiliser avec les courriels ou en conseillant de faire pipi sous la douche car on agirait à une échelle beaucoup plus efficace, tout comme en luttant contre la publicité en ligne ou dans la vie réelle. Fin de la parenthèse 😉.

Je relate sur cette page mon cheminement pour arriver à installer sur ce Chromebook un système d'exploitation sous GNU/Linux et en particulier Primtux (qui pour la version 8 est une distribution basée sous Linux Mint 21.3) particulièrement adaptée pour une utilisation à l'école.

Sources :

I- Caractéristiques du Chromebook

Sources :

  • Intel® Celeron® N4000 (1.1 GHz base frequency, up to 2.6 GHz burst frequency, 4 MB cache, 2 cores)
  • Mémoire : 4 GB LPDD4-2400 SDRAM (onboard)
  • Graphisme : Intel UHD Graphics 600
  • Stockage : 32 GB eMMC, extensible par carte microSD
  • Écran : 30.4 cm (12") diagonal HD+ IPS anti-glare micro-edge WLED-backlit touch screen (1366 x 912)
  • Sans fil : Intel Wireless-AC 9560 802.11a/b/g/n/ac (2x2) Wi-Fi and Bluetooth 5 Combo
  • Branchements : 2 USB 3.1 Gen 1 Type-C (5 Gb/s signaling rate, Power Delivery 3.0, DisplayPort 1.2); 1 USB 3.1 Gen 1 Type-A (Data Transfer Only); 1 headphone/microphone combo

 

II- Démarrage du Chromebook impossible :

Avant de me lancer dans l'installation, j'ai branché l'ordinateur sur secteur et j'ai essayé de le démarrer mais mis à part le bouton de mise sous tension qui clignotait, rien de se passait. Seule indication : le voyant de charge de la batterie restait orange, pas de clignotement, pas de couleur blanche. Ça commence bien... En fait, comme il s'agit d'un écran tactile, en le touchant on voit un beau message apparaître : "Chrome OS est manquant ou endommagé. Veuillez débrancher tous les appareils connectés et lancer la restauration."

On va donc aller chercher le manuel de l'ordinateur sur Internet :  http://h10032.www1.hp.com/ctg/Manual/c06593883.pdf. La solution se trouve apparemment en page 23 : il va falloir utiliser une clé USB d'au moins 8 Go ou une carte microSD et y installer un utilitaire de récupération de Chrome récupéré sur Chrome Web Store.

Création d'une clé USB de restauration pour le Chromebook

Pour Linux, il y a une manip possible (indiquée sur cette page : https://support.google.com/chromebook/answer/1080595?sjid=10202606041532178271-EU#traditional&zippy=%2Cuse-a-linux-computer) :

Sur un ordianteur sous GNU/Linux, il faut télécharger l'outil de restauration Recovery Tool.
Il faut changer les droits d'exécution du script avec la commande :  sudo chmod 755 linux_recovery.sh
Lancer le script avec les droits root avec la commande :  sudo bash linux_recovery.sh
Suivre les instructions à l'écran pour créer sa clé USB (ou carte microSD) de restauration.
L'image correspondante au modèle de "mon" ordinateur Chromebook est la 318 (on peut la trouver en tapant les premières lettres qui sont sur le code en bas de l'écran indiquant qu'il faut restaurer ; dans mon cas ça commence par les lettres "BLOOG").

Malgré les différentes méthodes pour restaurer le Chromebook (clé USB, carte microSD, créées sous Linux Mint ou Windows, ...), les supports de restauration ne sont pas reconnus : Impossible de restaurer le Chromebook.

Démontage pour découvrir un problème dû à la batterie

On va donc procéder au démontage...
Pour démonter voir documentation ici : http://h10032.www1.hp.com/ctg/Manual/c06435021.pdf. Il faut enlever 4 vis cachées derrière 2 autocollants gris + 2 sous la bande caoutchouc située vers l'arrière. Le démontage ne révèle rien de particulier mais en dernier recours, je décide de débrancher la batterie et... EUREKA ! Là, en branchant le chargeur, l'ordinateur démarre comme une fleur !!!
On a là encore une fois un bel exemple d'obsolescence programmée de la part d'HP assez coutumier du fait : pourquoi ne peut-on pas faire marcher l'ordinateur sans débrancher la batterie et pourquoi il n'y a aucune information sur cette "panne" qui doit être courante ?
Il suffirait donc de remplacer la batterie pour que tout fonctionne normalement. Après accord de l'école, j'en ai commandée une trouvée à 38€ TTC frais de port inclus... Nous verrons quand nous la recevrons.

Une fois qu'on a démarré, plus de problème pour restaurer par exemple le système (si on le souhaite) ou ré-initialiser le système. J'ai fait les 2 sans problèmes : une des clés USB préparées au début a fait parfaitement l'affaire pour restaurer le système. On va la garder précieusement car elle pourrait peut-être servir en cas de mauvaise manip...

 

III- Passage du Chromebook en mode "Développeur" :

Source : https://ubuntu.com/tutorials/install-ubuntu-on-chromebook#2-enabling-developer-mode

Tout comme les ordiphones sous Android (on voit bien la patte de Google) que l'on veut rooter ou mettre sous LineageOS, il est nécessaire de passer le Chromebook en mode développeur.
Pour cela, il faut presser les touches Échap + Rafraîchir (F3) puis appuyer pendant 1 seconde sur la touche de mise sous tension; relâcher les 3 touches.
Presser CTRL+D pour entrer en mode développeur et confirmer en appuyant sur la touche ENTRÉE.
Presser CTRL+D lorsqu'on arrive sur l'écran de démarrage du mode développeur.
ATTENTION : Il faudra toujours démarrer de cette façon et NE PAS APPUYER sur la touche ESPACE au risque de tout ré-effacer.
Au premier démarrage, le système efface toutes les données utilisateur, ce qui prend quelques minutes puis le système se ré-installe complètement.

 

IV- Accéder au terminal et enlever la protection en écriture du firmware/BIOS :

Pour accéder au terminal, il faut presser en même temps les touches CTRL+ALT+T. Par contre, ce terminal ne permet pas d'utiliser la commande "sudo" contrairement au terminal VT-2 qui n'est accessible qu'en mode développeur. Pour cela, il faudra appuyer sur les touches CTRL+ALT+F2 (flèche vers la droite). Pour revenir dans le terminal normal, on pressera les touches CTRL+ALT+F1 (flèche vers la gauche).
Le terminal VT-2 ne permet pas le copier-coller et je n'ai pas su modifier la disposition du clavier qui est QWERTY, ce qui ne va pas faciliter la tâche...

Dans le terminal VT-2, à l'invite "localhost login", on saisira "chronos" qui n'a pas de mot de passe.
Attention : si on a activé le mode déboggage au tout début de l'installation après être passé en mode développeur, pour se connecter, il faudra utiliser le login "root" et le mot de passe de déboggage. Avec l'utilisateur root, on pourra donner un mot de passe à l'utilisateur "chronos" avec la commande : chromeos-setdevpasswd

Partie inutile mais gardée comme trace :

Les manipulations ci-dessous ne servent que si l'on veut installer une version personnalisée de Chrome OS ce qui n'est pas mon cas.

Pour vérifier si le BIOS est protégé en écriture, on tape la commande : sudo gsctool -a -I

Là, on voit que l'état est bloqué (locked). Pour le débloquer, on tape la commande : sudo gsctool -a -o . Le système se ré-installe... encore une fois... mais cette fois-ci avec le BIOS en état ouvert (opened). Et en plus on sort du mode développeur, qu'il va falloir encore re-activer (avec ré-installation à chaque fois et d'eventuelles mises à jour). Faudra être patient⋅e...

Source : https://www.chromium.org/chromium-os/developer-library/guides/device/developer-mode/

Pour démarrer sur une clé USB, il faudra dans le terminal VT-2 taper cette commande : enable_dev_usb_boot . Un message de succès s'affiche, indiquant qu'il faut insérer sa clé USB et appuyer sur les touches CTRL+U en mode développeur. Ceci n'a pas fonctionné...
Pour booter sur la clé USB, il faudra refaire comme au début, la combinaison de touches Échap + F3 + appui de 1 sec sur le bouton d'allumage et là on aura un message indiquant... "Le périphérique que vous avez inséré ne contient pas Chrome OS.". Du coup, les manip, ci-dessus ne servent pas à installer un autre OS que Chrome OS.

Je commence à désespérer...

SOLUTION : Utilisation du script du site mrchromebox.tech pour déverrouiller le firmware

Mais une énième recherche sur Internet me conduit à cette page :https://needstonote.com/2021/10/installing-linux-mint-20-2-cinnamon-on-acer-chromebook-14-cb3-431-edgar/ qui renvoie vers celle-ci https://mrchromebox.tech/#fwscript qui propose un script à télécharger pour modifier le firmware.
ATTENTION, il faudra bien suivre les instructions de mrchromebox même s'il y a une légère variante !!!
Éclaircissements de Matt du site mrchromebox.tech concernant ma variante : la commande "cd;" nous place directement dans le dossier /home/chronos/user qui est ré-initialisé à chaque redémarrage, ce qui fait qu'il faut à chaque fois télécharger son utilitaire. Du coup, ma variante a l'avantage d'éviter ce retéléchargement.
Autre éclaircissement : on peut remplacer /home/chronos/user/Downloads par ~/Downloads sachant que dans le terminal VT-2, le caractère ~ s'obtient avec la touche "petit 2" au-dessous d'Échap.

Pour télécharger le script (il faut donc une connexion Internet), il faut se connecter dans le terminal VT-2 avec le login "chronos" (PAS en tant que "root" !!!) et taper les commandes ci-dessous (attention sur la ligne de commande donnée sur le site ne fonctionne pas car "cd;" renvoie sur le dossier /home/chronos/user dans lequel on ne peut pas enregistrer le script de façon pérenne d'où le fait de se déplacer dans le sous-dossier Downloads) :

cd /home/chronos/user/Downloads

curl -LO mrchromebox.tech/firmware-util.sh

sudo bash firmware-util.sh

Le script se lance une 1ère fois et là, il faudra indiquer qu'on souhaite enlever la protection en écriture, ce qui fera redémarrer l'ordinateur.

Après le redémarrage, on se replace dans le terminal VT-2 et on relance le script firmware-util.sh qui se trouve dans le dossier /home/chronos/user/Downloads pour avoir un menu permettant d'agir sur le firmware. On peut le relancer directement avec cette commande : sudo bash /home/chronos/user/Downloads/firmware-util.sh. On choisit l'option 1 "Install/Update RW_LEGACY Firmware" et si tout se passe bien on obtient un message vert indiquant la réussite puis on appuie sur ENTRÉE et on redémarre.

Sur l'écran de démarrage en mode développeur, on appuie sur les touches CTRL+L et là on pourra avoir accès au BIOS et au démarrage sur la clé USB comme sur n'importe quel ordinateur classique! On appuie sur la touche Échap et on va dans "Boot Menu" pour démarrer sur la clé USB (fonctionne très bien avec un clé sous Ventoy). Linux Mint 21.3 Mate se lance en live sans problème apparent, tout comme Primtux7 (sauf le son... mais on ne va pas perdre de temps avec la 7 alors que la 8 est toute proche). OUF !!! On approche du but.

 

V- Installation complète de Primtux 8

Toujours à l'aide de l'utilitaire de mrchromebox.tech (il semblerait que l'utilitaire ne fonctionne que si on est connecté⋅e à Internet...), il est possible d'installer un système d'exploitation à la place de Chrome OS via le menu n°2 permettant d'installer l'UEFI. Comme il s'agit d'une opération particulièrement risquée pour l'ordi (on supprime complètement Chrome OS), il faudra valider plein de mises en garde et à un moment l'utilitaire proposera même de se créer une clé USB de secours contenant la rom qui permettra de ré-installer ChromeOS en cas de problème, chose que je ne peux que recommander. J'ai sauvegardé sur une simple clé USB de données formatée en FAT32. Ce fichier de sauvegarde est à garder jusqu'à ce qu'on ait réussi l'installation de Primtux (ou une autre distribution) car une fois qu'on aura réussi, on pourra ré-installer d'autres distributions par la suite comme sur un ordinateur classique (hors de question de revenir sur Chrome OS).

Une fois la sauvegarde faite, l'utilitaire va télécharger et installer un nouveau firmware (coreboot). Si tout se passe bien on a un message vert, on appuie sur la touche ENTRÉE et on redémarre en tapant R (ou r). Le premier démarrage est assez long et ensuite on a un bel écran de démarrage qui apparait avec un lièvre blanc qui court sur un fond noir. On n'a qu'une fraction de seconde pour appuyer sur la touche Échap afin d'atteindre le Boot Menu pour démarrer sur la clé contenant Primtux8 (beta1 au moment de l'écriture de cet article). Ensuite on procède à l'installation classique de Primtux en supprimant toutes les anciennes partitions qui sont sur la mémoire eMMC (ce n'est pas un disque dur "classique").

Résultat : Installation réussie !!! En plus avec Primtux8 (basée sur Linux Mint 21.3), tout fonctionne notamment le son, le wifi et le tactile !
Petit bémol car j'ai essayé de le faire fonctionner en rebranchant la batterie défectueuse mais sans succès : même symptomes qu'au tout début. Il va falloir tester avec une batterie neuve mais il marchera quoi qu'il en soit en filaire, batterie débranchée.

Épilogue : J'ai installé la nouvelle batterie commandée quelques jours plus tôt et ai branché le portable sur secteur. Là, le voyant de charge qui restait désespérément orange fixe avec l'ancienne batterie, s'est mis en clignoter en blanc ce qui était assez bon signe.

 

CONCLUSION :

Franchement ça n'a pas été une sinécure d'installer un système d'exploitation autre que ChromeOS sur ce Chromebook (mais je suppose que c'est la même chose pour tous les autres avec des variantes selon leur âge) car il a fallu faire pas mal de recherches et d'essais infructueux avant d'arriver à mes fins. Et ceci n'aurait pas pu être réalisé sans les outils fournis sur le site https://mrchromebox.tech/#fwscript. Un grand merci à Matt qui a partagé son travail  (et qui a répondu à mon courriel de remerciement en m'apportant des éclaircissements en lisant ce tutoriel) !!!

Ça repose quand même la question de ce verrouillage dès la conception par les constructeurs et les fournisseurs d'OS propriétaires comme Google, Apple et Windows qui empêche les utilisateur⋅rices de pouvoir disposer "facilement" de leur machine comme iels le veulent et en particulier de lutter contre leur obsolescence programmée en leur permettant des "réparations". Ce qui est d'autant plus exaspérant, c'est de constater que Chrome OS est basé sur GNU/Linux en plus.
On retrouve exatement la même problématique sur cette autre page pour l'installation de Primtux sur des HP Probook x360 verrouillés sous Windows fournis par la région Occitanie : Installer un système GNU sur loRdi HP Probook x360 11 G1 EE.

Le législateur devrait interdire la vente ou au moins l'achat via la commande publique de matériels de ce type ( qui apparaissent au départ comme intéressants financièrement) pour agir efficacement contre le gaspillage qui en résulte.
Une autre possibilité serait que les consommateur⋅rices n'achètent pas ce type de matériel et pour cela, il faudrait qu'iels soient clairement informé⋅es des alternatives existantes et qui sont soucieuses de leurs libertés mais aussi par effet ricochet de la préservation de nos ressources.