Comment émuler Raspberry Pi Raspbian avec QEMU?

J'essaie d'émuler un Raspberry Pi avec la Raspian OS à l'aide de QEMU. J'ai essayé plusieurs approches décrites sur internet, mais sans aucun succès.

J'ai compris que j'avais besoin de patcher un Noyau Linux à côté de l'exploitation désiré. Dans mon cas j'ai choisi Rasbian Lite avec un Noyau 4.4:

wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-05-31/2016-05-27-raspbian-jessie-lite.zip
unzip 2016-05-27-raspbian-jessie-lite.zip
rm 2016-05-27-raspbian-jessie-lite.zip

Ensuite, j'ai charger un Noyau de https://www.kernel.org/:

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.16.tar.gz
tar -xzf linux-4.4.16.tar.gz
rm linux-4.4.16.tar.gz

Maintenant de la croix de la compilation du Noyau:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
cd linux-4.4.16
make vexpress_defconfig
make all
cd ..

Maintenant, je peux copier l'image de démarrage, qui est une image compressée du noyau que l'auto-extraits de RAM, de mon espace de travail:

cp linux-4.4.16/arch/arm/boot/zImage zImage

et lancer QEMU

qemu-system-arm -kernel zImage -M vexpress-a9 -m 1024 -cpu cortex-a9 -no-reboot -serial stdio -hda 016-05-27-raspbian-jessie-lite.img -append "root=/dev/sda2 rootfstype=ext4"

Mais tout ce que je vois est d'un noir rempli de QEMU-fenêtre. 🙁

Je pense que le problème est d'obtenir le bon Noyau. La copie de certains des Grains de l'Internet n'a jamais conduit à la réussite, car ils ne sont pas adaptés pour le système d'exploitation.

Comment puis-je construire/patch du Noyau côté de l'OS (sans avoir à télécharger un existant) et comment les utiliser QEMU correctement?

Merci d'avance
Alex


2ème approche

Je charge un kernel-qemu à partir d'ici https://www.dropbox.com/s/g8u93xblz1v1ly0/kernel-qemu?dl=0 et exécuter QEMU:

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2" -hda 2016-05-27-raspbian-jessie-lite.img

Ce qui m'amène à la sortie suivante:
Comment émuler Raspberry Pi Raspbian avec QEMU?
Et il fait sens pour moi parce que le Noyau est 3.10.25 et âgés de plus de Raspbian Jessie avec un Noyau 4.4.16.

Avec qemu-noyau de https://github.com/dhruvvyas90/qemu-rpi-kernel/blob/master/kernel-qemu-4.4.12-jessie

qemu-system-arm -kernel kernel-qemu-4.4.12-jessie -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda 2016-05-27-raspbian-jessie-lite.img

J'ai obtenu ce résultat similaire:
Comment émuler Raspberry Pi Raspbian avec QEMU?

Un nouvel essai avec un nouveau noyau-qemu 4.4.16:

  1. Copie de construire-kernel-qemu de https://github.com/dhruvvyas90/qemu-rpi-kernel/tree/master/tools et ajoutez la ligne suivante à la caisse de la version du Kernel 4.4.16:
    git checkout b05965f284db3e086022f4e318e46cb5bffb1376
    
  2. Exécuter build-kernel-qemu pour la compilation du noyau
    sh build-kernel-qemu
    
  3. Exécuter QEMU
    qemu-system-arm -kernel kernel-qemu -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda 2016-05-27-raspbian-jessie-lite.img
    

    Le résultat: Comment émuler Raspberry Pi Raspbian avec QEMU?

source d'informationauteur Alex44