Qemu est un ensemble de programmes Unix qui s'exécutent en ligne de commande. Ils permettent d'émuler des ordinateurs complets avec le système d'exploitation de son choix s'il est compatible avec l'ordinateur émulé.
J'ai choisi de vous parler de cet outil car le Raspberry Pi 4 B utilise une carte Micro SD comme "disque dur". C'est sur cette carte que l'on installe le système et que l'on va installer et souvent compiler les logiciels dont on aura besoin pour faire fonctionner notre borne d'arcade. Installer un système et des logiciels nécessite déjà de copier de nombreux fichiers à partir du fichier d'installation et de les écrire sur la carte SD. Compiler des logiciels est encore pire. Cela nécessite de télécharger, lire et écrire des milliers de fichiers. Or les cartes SD ne sont pas des disques durs. Elles sont moins fiables. Au bout d'un certain nombre d'opérations en écriture elles vont cesser de fonctionner et seules les opérations de lecture seront alors possible. Malheureusement, cela peut arriver assez rapidement... Croyez-moi sur parole. J'ai "cramé" plusieurs cartes SD avant d'avoir une solution qui marche correctement pour la bonne d'arcade. C'est onéreux et très énervant.
Je me suis donc penché sur la possibilité de tester la solution sans passer par une carte SD. Et la réponse est... La virtualisation. Mais les solutions de virtualisation courantes comme Vmware, Parallels ou Vitual Box ne permettent pas de virtualiser le système Raspi OS 64 bits lite qui est celui qui doit être utilisé pour la borne d'arcade. Après quelques recherches j'ai découvert une solution de virtualisation très puissante et compatible avec mon besoin, Qemu. Le souci c'est que ce logiciel n'est pas simple à utiliser et est très technique. Il faut faire tout un tas de manipulations préalables sur le fichier d'installation du système avant de pouvoir créer une configuration d'émulation. Ensuite la création de la commande de lancement de l'émulation est juste cauchemardesque.
Je vous présente donc ici comment émuler une carte Raspberry Pi 4 avec son système d'exploitation Raspberry Pi OS 64 bits Lite. Et comme je vous ai déjà présenté Whiptail, je propose un script qui permet de faire quasiment tout en automatique en utilisant cet outil.
J'utilise pour lancer la virtualisation un système Ubuntu 64 Bits pour installer Qemu. Mais je pense que cela fonctionne aussi sur d'autres machines. J'ai testé Qemu nativement sur mon Mac et ça marche aussi. Dans mon cas j'ai même virtualisé Ubuntu sur mon Mac pour virtualiser Qemu à partir de la machine virtuelle Ubuntu. Du virtuel dans du virtuel... si si, je l'ai fait... mais pas tout seul. J'ai trouvé quelqu'un sur youtube, Meets Sink, qui a posté une vidéo qui m'a permis de démarrer.
Ensuite, j'ai trouvé une autre personne, Papy Tux, qui m'a permis d'aller un peu plus loin et surtout de comprendre qu’émuler un Raspberry Pi 4 B n'était pas possible nativement. Je le cite parce que ce blog est très intéressant et détaillé et qu'il le finit en écrivant que ça ne marche pas. Cela démontre la pugnacité et que communiquer sur ses échecs est tout important que sur ses réussites. Il a aussi écrit un autre blog sur ce sujet qui est tout aussi intéressant. Et grâce à tout ça, j'ai pu y arriver.
L'installation de Qemu se fait avec la commande...
sudo apt install qemu-system
... To be continued...