Comment installer Ubuntu 19.10 64 bits sur un Raspberry Pi 4 (même celui de 4 Go)

Y'a des baffes qui se perdent
Comment installer Ubuntu 19.10 64 bits sur un Raspberry Pi 4 (même celui de 4 Go)

Ubuntu 19.10 est disponible. Et parmi ses nouveautés on trouve un point qui intéressera tous les possesseurs de Raspberry Pi 4 : une image est disponible en 32 bits, mais aussi en 64 bits. De quoi revoir les performances du micro PC à la hausse sans trop d'efforts... ou presque.

Si le Raspberry Pi 4 dispose d'un SoC plus performant et d'une composition largement améliorée, cela ne s'est pas fait sans défauts lorsqu'il s'agit de l'utiliser de manière concrète. 

Outre la question de sa température de fonctionnement, on note également le boot sur réseau ou USB qui n'était plus géré (et pas activable très facilement), mais aussi la compatibilité avec les différents OS qui nécessitait un peu de travail. Si Raspbian a été mis à jour dans les temps, ce n'était ainsi pas le cas d'autres distributions Linux.

Du côté de la fondation, on ne peut pas dire que les réponses aient été à la hauteur, ni même que la réactivité soit de mise face aux problèmes remontés.

Mais l'existence d'un modèle de 4 Go a surtout remis sur le devant de la scène une question qui se fait de plus en plus pressante pour l'équipe : pourquoi proposer des SoC avec une architecture 64 bits, si c'est pour se limiter à un OS tel que Raspbian qui n'est proposé qu'en 32 bits ? Cela réduit les performances, et la quantité de mémoire supportée.

Si quelques distributions Linux géraient les précédents Raspberry Pi en 64 bits, il a fallu attendre pour que cela soit le cas pour le Pi 4. Après Gentoo ou Manjaro, c'est désormais le cas pour Ubuntu 19.10 dans son édition Server. Mais si vous pensiez que cela serait aussi simple que de transférer une image sur une carte microSD, vous aviez tort.

Les développeurs, ces boulets

Car il semblerait que personne, ni chez les développeurs d'Ubuntu, ni chez Canonical, n'ait eu l'idée de tester l'image 64 bits prévue pour les Raspberry Pi 4... sur un modèle équipé de 4 Go de mémoire. 

Sur les forums, les utilisateurs se sont assez rapidement rendu compte que les ports USB ne fonctionnaient pas dans cette configuration. Dès lors, il est impossible de procéder à la finalisation de l'installation via le clavier, rendant impossible l'utilisation de la machine. Un bug confirmé et pris en charge par les développeurs.

Dommage, vu que cette combinaison (64 bits/4 Go) était la plus attendue.

Comment installer Ubuntu 19.10 sur un Raspberry Pi 4

Mais avant de traiter ce cas particulier, revenons aux bases. Pour installer Ubuntu 19.10 Server, récupérez l'image et transférez-là sur une carte microSD via balenaEtcher ou dd (voir notre guide pour Raspbian).

Connectez le Raspberry Pi à un câble réseau, à son alimentation et démarrez-le. Si tout s'est bien passé, vous devriez le voir apparaître sur votre réseau local. Le premier démarrage est un peu plus long, une série de scripts de configuration devant s'exécuter, cela pourra demander une minute ou deux.

Si vous utilisez l'image 32 bits ou la 64 bits avec un modèle disposant de moins de 4 Go de mémoire, pas de problème. Branchez un clavier, un écran et entrez les identifiants par défaut (ubuntu/ubuntu). Tout sera fonctionnel en local. Vous pouvez également accéder à la machine à distance via le protocole SSH.

Lors de votre première connexion, vous serez invité à modifier le mot de passe par défaut pour des raisons de sécurité. Une fois que c'est fait, l'installation est terminée.

L'alternative : accéder au Raspberry Pi via SSH

Autre solution en attendant la correction du bug et des images officielles : procéder à une configuration headless, sans clavier ou écran.  Car SSH est heureusement activé par défaut sur l'image d'Ubuntu Server fournie pour les Raspberry Pi. Ainsi, on peut l'utiliser pour finaliser la procédure d'installation.

Pour cela utilisez la commande suivante (fonctionne nativement sous Windows 10) :

ssh ubuntu@Adresse_IP_du_RaspberryPi4

Malheureusement, aucun nom de domaine local simplifié n'est attribué par défaut à la machine via un protocole tel que mDNS, comme c'est le cas avec Raspbian, obligeant à trouver l'IP de la machine. Pensez donc à la chercher dans l'interface de votre routeur ou via des outils dédiés pour ordinateur/smartphone.

Dans notre exemple, cela donne : 

ssh ubuntu@192.168.1.50

Une fois que la connexion sera initiée, vous devrez accepter la clé publique du Raspberry Pi puis changer le mot de passe par défaut (ubuntu) pour celui de votre choix.

Raspberry Pi 4 Ubuntu 19.10 SSH

Dès lors, vous pouvez accéder à la machine comme un serveur distant, sans vous soucier des limites de l'USB. Attention tout de même, cela empêchera d'utiliser un périphérique, comme un HDD/SSD externe par exemple.

Limiter la mémoire à 3 Go pour récupérer les ports USB

C'est là qu'une autre solution peut être mise en œuvre : réduire la mémoire disponible sur la machine. En effet, le problème semble lié au fait que l'utilisation de plus de 3 Go de mémoire empêche le fonctionnement de l'USB.

Ainsi, il faut éditer le fichier usercfg.txt pour y ajouter la ligne suivante :

total_mem=3072

Ce fichier se trouve dans le répertoire /boot/firmware/ du système, ou dans la racine de la petite partition de boot si vous lisez la clé depuis un système tiers, notamment sous Windows.

Une fois cette modification effectuée, on passe de 3,7 Go de mémoire disponible à 2,79 Go, perdant l'intérêt d'une machine 64 bits embarquant 4 Go, mais on retrouve l'accès au clavier et aux périphériques USB en attendant la correction par les développeurs. Celle-ci semble d'ailleurs bien avancée, des noyaux fonctionnels ayant déjà été testés.

Il faudra sans doute attendre encore un peu avant qu'ils soient validés puis diffusés dans les dépôts d'Ubuntu et placés dans les images officielles.

Notez que vous pouvez très bien utiliser cette méthode pour procéder à la première configuration de la machine au clavier, puis retirer cette ligne du fichier ensuite pour une gestion distante via SSH. Pour cela, il faudra éditer le fichier, l'enregistrer (CTRL+X) puis redémarrer le Raspberry Pi 4 avec les commandes suivantes :

sudo nano /boot/firmware/usercfg.txt
sudo reboot

Quelles performances ?

Pour voir l'impact du passage en 64 bits avec un noyau récent, nous avons effectué notre test OpenSSL classique sur un Raspberry Pi 4 équipé de 4 Go sous Raspbian (32 bits) et Ubuntu 19.10 en 32/64 bits. Cela consiste à mesurer les performances avec un cœur ou tous ceux du SoC pour du chiffrement ou de la vérification de signature RSA 4096 bits :

openssl speed rsa4096
openssl speed -multi $(nproc) rsa4096

Voici nos résultats :

Raspberry Pi 4 Ubuntu 19.10 64 bits OpenSSL

Comme on peut le voir, une application comme OpenSSL ne tire pas vraiment parti du 64 bits dans les conditions de ce test, ses performances sont même légèrement amoindries par rapport à la version 32 bits d'Ubuntu 19.10. Par contre, le système de Canonical offre de bien meilleures performances que Raspbian : jusqu'à 2,8x !

Pourtant, les versions d'OpenSSL utilisées sont similaires : 1.1.1d de septembre pour Raspbian, 1.1.1c de mai pour Ubuntu. Dès lors, comment expliquer cet écart ? Sans doute le noyau utilisé, plus récent (5.3) dans le cas du système de Canonical par rapport à Raspbian (4.19) mais aussi sans doute optimisé rien que pour le Raspberry Pi 4. 

Raspberry Pi 4 Performances OpenSSL Raspbian Ubuntu Comparatif
Les paramètres d'OpenSSL en 32 bits sont identiques, les résultats pas vraiment
  • Introduction
  • Les développeurs, ces boulets
  • Comment installer Ubuntu 19.10 sur un Raspberry Pi 4
  • L'alternative : accéder au Raspberry Pi via SSH
  • Limiter la mémoire à 3 Go pour récupérer les ports USB
  • Quelles performances ?
S'abonner à partir de 3,75 €

2000 - 2021 INpact MediaGroup - SARL de presse, membre du SPIIL. N° de CPPAP 0326 Z 92244.

Marque déposée. Tous droits réservés. Mentions légales et contact