====== Emulation ======
----
===== QEMU sur Ubuntu =====
==== Installation paquets ====
sudo apt-get install git qemu-system-arm qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager
==== Vérifications ====
=== Plateformes disponibles ===
Lister les plateformes ARM que QEMU peut émuler :
qemu-system-arm -machine help
Pour le Raspberry PI on doit trouver la ligne :
raspi2 Raspberry Pi 2
=== Processeurs supportés ===
Lister les processeurs ARM supportés :
qemu-system-arm -machine raspi2 -cpu help
=== Choix du processeur ===
Choisir le processeur en fonction du modèle que l'on souhaite émuler
^ processeur ^ Modèle ^
| arm1176 | Raspberry PI 1, Raspberry PI Zero |
| cortex-a7 | Raspberry PI 2 |
| cortex-a53 (non disponible actuellement) | Raspberry PI 3, Raspberry PI Zero 2 |
| cortex-a72 (non disponible actuellement) | Raspberry PI 4, Raspberry PI 400 |
==== Préparation Machine ====
=== Récupérer l'image à utiliser ===
Télécharger une archive Raspberry PI legacy qui fonctionne sur tous les raspberry PI et décompresser l'archive pour récupérer le fichier img.
unzip 2022-01-28-raspios-buster-armhf-lite.zip
=== Récupérer un noyau compatible ===
git clone https://github.com/dhruvvyas90/qemu-rpi-kernel
Dans le répertoire qemu-rpi-kernel on trouvera plusieurs noyaux compatibles ainsi que des fichier .dtb qui décrivent le matériel disponible sur le raspberry PI.
==== Lancement machine ====
=== Démarrer le réseau en mode NAT ===
sudo virsh --connect=qemu:///system net-start default
ou de façon automatique :
sudo virsh --connect=qemu://system net-autostart default
=== Démarrage machine ===
sudo virt-install --name rpios2 --arch armv6l --machine versatilepb --cpu arm1176 --vcpus 1 --memory 256 --import --disk 2022-01-28-raspios-buster-armhf-lite.img,format=raw,bus=virtio --network bridge,source=virbr0,model=virtio --video vga --graphics spice --boot 'dtb=qemu-rpi-kernel/versatile-pb-buster.dtb,kernel=qemu-rpi-kernel/kernel-qemu-4.19.50-buster,kernel_args=root=/dev/vda2 panic=1' --events on_reboot=destroy
----
===== Source =====
[[https://linuxconfig.org/how-to-run-the-raspberry-pi-os-in-a-virtual-machine-with-qemu-and-kvm]]
----
[[all:bibles:materiel:raspberry:qemu|Haut de page]]