Emulieren Sie RaspberryPi mit QEMU

8

Ich möchte ein RaspberryPi-System unter meinem MacOSX mit QEMU ausführen. Mit diesem Tutorial habe ich Folgendes versucht :

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

Wo ArchLinuxARM-2014.06-rpi.imgist mein RPi-Bild und woher kernel.imgkommt es genau ? ArchLinuxARM-2014.06-rpi.img(Ich habe eine Kopie davon gemacht, ich bin mir jedoch nicht sicher, ob es eine brillante Idee war.)

Als Ergebnis erhalte ich zwei QEMU-Fenster. Man hat ein "Maschine" - und ein "Ansicht" -Menü und einen schwarzen Bildschirm mit der folgenden Meldung:

Der Gast hat die Anzeige (noch) nicht initialisiert.

Das zweite ist einfach ein schwarzes Fenster.

Ich hatte das gleiche Problem mit einem Raspbian-Image und dem gleichen Befehl. Was mache ich falsch?

JonasVautherin
quelle

Antworten:

6
  • Zuerst musste ich einen anderen Kernel verwenden, kernel-qemuden ich hier gefunden habe .

  • Dann könnte ich es mit QEMU 1.7.1 zum Laufen bringen :

    Mit Raspbian:

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

    Mit Arch Linux musste ich:

    1. Starten Sie im Terminalmodus (allerdings nicht sicher, ob dies erforderlich ist) mit:

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

      (Beachten Sie, dass hier init = / bin / bash hinzugefügt wurde und Arch Linux root = / dev / sda5 anstelle von sda2 benötigt.)

    2. Ändern Sie /etc/fstabwie folgt (die Partition war falsch):

      # <file system> <dir>   <type>  <options>       <dump>  <pass>
      /dev/sda1       /boot   vfat    defaults        0       0
      
    3. Beginnen Sie normal mit:

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

  • Endlich wurde mir klar, dass ich die neueste Version von QEMU (2.1.1) verwenden konnte , aber ich musste die Konsolenausgabe angeben:

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

    (Beachten Sie, dass ich die Konsole mit console = ttyAMA0 angegeben habe. )

JonasVautherin
quelle
Hat jemand einen Link zu dem hier verlinkten Kernel - ich habe das gleiche Problem und die Seite ist weg :(
djsmiley2kStaysInside
2
Die, die ich in meiner Antwort verwendet habe, ist hier
JonasVautherin
Ich habe versucht, dies mit meiner eigenen ArchLinuxARM-2014.06-rpi.img neu zu erstellen, aber Arch startet im Notfallmodus. Gibt es eine Chance, dass das Bild noch irgendwo herumliegt? Oder andere Tipps, damit das System normal startet? Es beschwert sich darüber, dass / dev / sda1 nicht das richtige Boot-Gerät ist
rien333