Emula RaspberryPi usando QEMU


8

Vorrei eseguire un sistema RaspberryPi sul mio MacOSX usando QEMU. Ho provato quanto segue, usando questo tutorial :

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

Da dove ArchLinuxARM-2014.06-rpi.imgviene la mia immagine RPi e kernel.imgda dove proviene esattamente ArchLinuxARM-2014.06-rpi.img(ne ho fatto una copia, non sono sicuro che sia stata un'idea geniale).

Di conseguenza ottengo due finestre QEMU. Uno ha una "Macchina" e un menu "Visualizza" e una schermata nera che mostra il seguente messaggio:

L'ospite non ha inizializzato il display (ancora).

Il secondo è semplicemente una finestra nera.

Ho avuto lo stesso problema usando un'immagine Raspbian e lo stesso comando. Che cosa sto facendo di sbagliato?

Risposte:


6
  • Prima di tutto, ho dovuto usare un altro kernel, kernel-qemuche ho trovato qui .

  • Quindi, potrei farlo funzionare usando QEMU 1.7.1 :

    Con Raspbian:

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

    Con Arch Linux, ho dovuto:

    1. Avvia in modalità terminale (non sicuro se necessario, però) usando:

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

      (Si noti che init = / bin / bash è stato aggiunto qui e Arch Linux richiede root = / dev / sda5 invece di sda2)

    2. Modificare /etc/fstabcome segue (la partizione era errata):

      # <file system> <dir>   <type>  <options>       <dump>  <pass>
      /dev/sda1       /boot   vfat    defaults        0       0
      
    3. Inizia normalmente usando:

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

  • Ho finalmente capito che potevo usare l'ultima versione di QEMU (2.1.1) , ma ho dovuto specificare l'output della console:

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

    (Nota che ho specificato la console usando console = ttyAMA0 )


Qualcuno ha un link al kernel collegato qui - Ho lo stesso problema e la pagina non c'è più :(
djsmiley2kStaysInside

2
Quello che ho usato nella mia risposta è qui
JonasVautherin,

Ho provato a ricrearlo con il mio ArchLinuxARM-2014.06-rpi.img, ma arch si avvia in modalità di emergenza. Qualche possibilità che tu abbia ancora quell'immagine da qualche parte? O altri suggerimenti per avviare normalmente il sistema? Si lamenta che / dev / sda1 non sia il dispositivo di avvio corretto
rien333
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.