Émuler RaspberryPi à l'aide de QEMU


8

Je voudrais exécuter un système RaspberryPi sur mon MacOSX en utilisant QEMU. J'ai essayé ce qui suit, en utilisant ce tutoriel :

./qemu-system-arm -M versatilepb -cpu arm1176 -m 256 -hda ArchLinuxARM-2014.06-rpi.img -kernel kernel.img -append "root = / dev / sda" -serial stdio

D'où ArchLinuxARM-2014.06-rpi.imgvient mon image RPi et d'où kernel.imgvient précisément ArchLinuxARM-2014.06-rpi.img(j'en ai fait une copie, je ne suis pas sûr que ce soit une idée géniale).

Par conséquent, j'obtiens deux fenêtres QEMU. L'un a un menu "Machine" et un "Affichage", et un écran noir affichant le message suivant:

L'invité n'a pas encore initialisé l'affichage.

Le second est simplement une fenêtre noire.

J'ai eu le même problème en utilisant une image Raspbian et la même commande. Qu'est-ce que je fais mal?

Réponses:


6
  • Tout d'abord, j'ai dû utiliser un autre noyau, kernel-qemuque j'ai trouvé ici .

  • Ensuite, je pourrais le faire fonctionner en utilisant QEMU 1.7.1 :

    Avec Raspbian:

    ./qemu-system-arm -kernel / path / to / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root = / dev / sda2 panic = 1 rootfstype = ext4 rw". -hda /path/to/2013-12-20-wheezy-raspbian.img

    Avec Arch Linux, je devais:

    1. Commencez en mode terminal (cependant pas sûr si nécessaire) en utilisant:

      ./qemu-system-arm -kernel / path / to / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append " root = / dev / sda5 panic = 1 rootfstype = ext4 rw init = / bin / bash "-hda /path/to/ArchLinuxARM-2014.06-rpi.img

      (Notez que init = / bin / bash a été ajouté ici, et Arch Linux nécessite root = / dev / sda5 au lieu de sda2)

    2. Modifiez /etc/fstabcomme suit (la partition était incorrecte):

      # <file system> <dir>   <type>  <options>       <dump>  <pass>
      /dev/sda1       /boot   vfat    defaults        0       0
      
    3. Commencez normalement en utilisant:

      ./qemu-system-arm -kernel / path / to / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root = / dev / sda5 panic = 1 rootfstype = ext4 rw". -hda /path/to/ArchLinuxARM-2014.06-rpi.img

  • J'ai finalement réalisé que je pouvais utiliser la dernière version de QEMU (2.1.1) , mais j'ai dû spécifier la sortie de la console:

    ./qemu-system-arm -kernel path / to / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append " console = ttyAMA0 root = / dev / sda5 rootfstype = ext4 rw" - hda /path/to/ArchLinuxARM-2014.06-rpi.img

    (Notez que j'ai spécifié la console en utilisant console = ttyAMA0 )


Quelqu'un at-il un lien vers le noyau lié ici - J'ai le même problème et la page a disparu :(
djsmiley2kStaysInside

2
Celui que j'ai utilisé dans ma réponse est ici
JonasVautherin

J'ai essayé de recréer cela avec mon propre ArchLinuxARM-2014.06-rpi.img, mais arch démarre en mode d'urgence. Y a-t-il une chance que cette image traîne encore quelque part? Ou d'autres conseils pour que le système démarre normalement? Il se plaint que / dev / sda1 ne soit pas le bon périphérique de démarrage
rien333
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.