AlmaLinux et OpenSUSE Leap sur IBM Power / ppc64le (émulé avec QEMU à partir d’une machine x86)
(Avertissement : cet article a été rédigé pour notre blog chez IBM)
Pour commencer
Si tu veux explorer les distributions Linux qui fonctionnent sur IBM Power (ppc64le) mais que tu n’as pas ce dernier, tu peux l’émuler grâce à QEMU. Tu peux consulter les matrices de compatibilité Linux dans Power
au lien suivant,
et décide de la distribution et de la version que tu veux essayer :)
Comme toute autre émulation d’architecture HW, elle présente des défis. Ce qui m’a poussé à écrire cet article, c’est ce tutoriel inspirant,
Fais fonctionner un environnement Linux on Power complet à partir de Microsoft Windows
,
par
Emma Erickson
et
Paul Clarke
. Je voulais suggérer une approche plus “conviviale”, le réseau fonctionnant par défaut et une interface graphique permettant d’explorer toutes les options disponibles ou de modifier les déploiements existants.
Pour cette démo, j’utiliserai une boîte x86 standard (et bon marché) sur laquelle tourne la dernière version d’Ubuntu (23.04) et les paquets inclus dans la distribution elle-même. Il n’est pas nécessaire de compiler quoi que ce soit.
Préparation du système
Il s’agit de mon système, mais il devrait fonctionner sur n’importe quelle machine x86 dotée de capacités de virtualisation.
ubuntu@sixe-dev:~$ cat /proc/cpuinfo | grep model model name : Intel(R) Xeon(R) CPU E5-1410 v2 @ 2.80GHz ubuntu@sixe-dev:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 23.04 Release: 23.04 Codename: lunar
Nous nous assurons que toutes les mises à jour sont appliquées et nous redémarrons.
ubuntu@sixe-dev:~$ sudo apt update && sudo apt upgrade ubuntu@sixe-dev:~$ sudo reboot
Je vais utiliser virt-manager comme interface graphique pour QEMU, ce qui m’aiderait (ou tout autre “novice QEMU”). C’est juste ce que les gens ont l’habitude de faire avec Virtualbox ou VMWare Player, et c’est pour ça que je l’aime bien :).
ubuntu@sixe-dev:~$ sudo apt install -y qemu-system-ppc qemu-kvm virt-manager virtinst libvirt-clients bridge-utils
Dans mon cas, je fais un ssh à partir de Windows WSL, en redirigeant le X. Une autre option serait de fournir un environnement graphique minimal et de se connecter via RDP ou VNC.
~$ ssh -X ubuntu@sixe-dev
Attention : Pas de données xauth ; utilisation de fausses données d’authentification pour le transfert X11.
Bienvenue à Ubuntu 23.04 (GNU/Linux 6.2.0-35-generic x86_64)
Télécharger des fichiers .iso
Je vais télécharger deux distributions Linux libres et ouvertes avec un grand soutien sur Power. Le dossier de téléchargement sera /var/lib/libvirt/images, qui est utilisé par défaut par virt-manager.
ubuntu@sixe-dev:~$ cd /var/lib/libvirt/images/ ubuntu@sixe-dev:~$ sudo wget https://repo.almalinux.org/almalinux/8/isos/ppc64le/AlmaLinux-8-latest-ppc64le-minimal.iso ubuntu@sixe-dev:~$ sudo wget https://download.opensuse.org/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Media.iso
Lance le gestionnaire de machines virtuelles
Bien qu’il s’agisse d’un outil peu connu (à moins que tu ne sois un geek Linux), il est aussi simple et puissant que VirtualBox ou VMware Player. Il s’intègre également à QEMU pour tester les systèmes d’exploitation sur n’importe quelle autre architecture.
ubuntu@sixe-dev:~$ virt-manager
Créer et installer une nouvelle VM à partir de .iso
Pour installer le fichier .iso, crée une nouvelle machine virtuelle. Choisis ppc64le comme architecture, règle le CPU et la mémoire, et ajoute un nouveau disque virtuel. J’ai enregistré une vidéo pour montrer tout le processus, tu peux sauter la dernière partie, dans notre cas l’interface graphique d’installation a pris presque 9 minutes pour se terminer :).
Tous les paramètres d’installation fonctionnent. Pour ton information, j’ai utilisé une configuration LVM par défaut pour le stockage et un DHCP automatique sur mon périphérique réseau NAT.
Ici, tu peux voir que l’unité centrale émulée est détectée correctement.
Une fois le système installé, je te conseille de vérifier l’adresse IP virtuelle.
… et assure-toi que le démon sshd est en cours d’exécution
hugo@almapower:~$ systemctl start sshd
Je me connecte donc à partir de mon hôte local en utilisant ssh
ubuntu@sixe-dev:~$ ssh root@192.168.122.28 root@192.168.122.28's password: Last login: Fri Oct 27 03:58:07 2023 from 192.168.122.1 From now on I will ssh into the VM from my host machine. This way I can copy, paste and resize the console without any problems.
Essaie d’autres distributions comme OpenSUSE Leap
Tu peux faire la même chose avec d’autres distributions. Dans mon cas, la deuxième distribution qui fonctionne bien est OpenSUSE Leap.
J’ai même installé l’environnement graphique.
.. ainsi que Firefox, et a démarré le navigateur web pour visiter notre site web. Tu devras cependant faire preuve d’un peu de patience, car cela ne se fera pas à la vitesse de l’éclair.
Que faire maintenant ?
Ton Linux n’a rien de spécial, si ce n’est qu’il fonctionne sur une architecture beaucoup plus sûre, puissante et stable. Le fonctionnement est le même que sur x86. Apple a changé plusieurs fois d’architecture, et de plus en plus de fabricants misent sur des alternatives au x86 (voir ARM).
Par exemple, une autre distribution populaire dérivée de Red Hat, Rocky Linux, inclut non seulement x86 et ppc64le sur sa page de téléchargement, mais aussi ARM ou s390x (Linux One / environnements mainframe).
Tu peux ajouter d’autres dépôts ou consulter la base de données des paquets disponibles pour Linux sur IBM Power -.
https://www.ibm.com/it-infrastructure/resources/power-open-source/
En guise d’avertissement, bien que nous les ayons fait fonctionner en production sur des LPAR avec PowerVM, nous n’avons pas réussi à trouver la combinaison de configurations et de versions de systèmes d’exploitation qui nous permettrait de faire fonctionner Rocky 9.2 et Ubuntu 22.10/23.04 sur QEMU. Je te recommande donc d’essayer AlmaLinux ou OpenSUSE. Bien sûr, leurs “sœurs” RHEL et SUSE, soutenues par les entreprises, fonctionnent tout aussi bien.
Dans de prochains articles, nous aborderons des cas d’utilisation comme AWX ou Kubernetes sur Linux (ppc64le), émulé ou réel :).
J’espère que cet article ne te laissera aucune excuse pour ne pas essayer Linux sur Power.