Emule RaspberryPi usando QEMU

8

Me gustaría ejecutar un sistema RaspberryPi en mi MacOSX usando QEMU. Intenté lo siguiente, usando este tutorial :

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

¿De dónde ArchLinuxARM-2014.06-rpi.imges mi imagen RPi y de dónde kernel.imgproviene exactamente ArchLinuxARM-2014.06-rpi.img?

Obtengo dos ventanas QEMU como resultado. Uno tiene un menú "Máquina" y "Ver", y una pantalla en negro que muestra el siguiente mensaje:

El invitado no ha inicializado la pantalla (todavía).

La segunda es simplemente una ventana negra.

Tuve el mismo problema al usar una imagen Raspbian y el mismo comando. ¿Qué estoy haciendo mal?

JonasVautherin
fuente

Respuestas:

6
  • En primer lugar, tuve que usar otro núcleo kernel-qemuque encontré aquí .

  • Entonces, podría hacerlo funcionar usando QEMU 1.7.1 :

    Con 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

    Con Arch Linux, tuve que:

    1. Comience en modo terminal (no estoy seguro si es necesario) usando:

      ./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

      (Tenga en cuenta que init = / bin / bash se agregó aquí, y Arch Linux requiere root = / dev / sda5 en lugar de sda2)

    2. Modifique de la /etc/fstabsiguiente manera (la partición era incorrecta):

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

      ./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

  • Finalmente me di cuenta de que podía usar la última versión de QEMU (2.1.1) , pero tenía que especificar la salida de la consola:

    ./qemu-system-arm -kernel ruta / a / 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

    (Tenga en cuenta que especifiqué la consola usando console = ttyAMA0 )

JonasVautherin
fuente
¿Alguien tiene un enlace al kernel vinculado aquí? Tengo el mismo problema y la página se ha ido :(
djsmiley2kStaysInside
2
El que usé en mi respuesta está aquí
JonasVautherin
Traté de recrear esto con mi propio ArchLinuxARM-2014.06-rpi.img, pero el arco arranca en modo de emergencia. ¿Hay alguna posibilidad de que esa imagen todavía esté por ahí? ¿O algún otro consejo para que el sistema arranque normalmente? Se queja de que / dev / sda1 no es el dispositivo de arranque correcto
rien333