all:bibles:materiel:raspberry:qemu
Table des matières
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
all/bibles/materiel/raspberry/qemu.txt · Dernière modification : de 127.0.0.1
