martes, 7 de mayo de 2013

Emular Raspberry Pi con Qemu Ubuntu 12.04

Raspbian es un sistema operativo en constante evolución, y como tal se producen cambios regularmente. La imagen utilizada es del 2012, pero igualmente las versiones mas actualizadas funcionan. En el caso de utilizar otra versión a la aquí descrita descargar siempre la versión "SOFT-FLOAT" ya que si no no funcionará correctamente.

Descargamos el kernel de qemu para Raspberry Pi:

root@Raspi:~# wget http://xecdesign.com/downloads/linux-qemu/kernel-qemu


1. Descargamos nuestra distribución de Raspbian (del 2012):

root@Raspi:~# wget files.velocix.com/c1410/images/debian/7/2012-08-08-wheezy-armel/2012-08-08-wheezy-armel.zip

2. Las últimas versiones: http://www.raspberrypi.org/downloads (Recordad, la versión Soft-Float):


Instalamos los paquetes necesarios para emular:

root@Raspi:~# apt-get install qemu qemu-user qemu-kvm-extras qemu-utils kvm-ipxe


Comprobaremos que esté disponible el kernel Arm para emular Raspberry:

root@Raspi:~# qemu-arm -cpu ?
Available CPUs:
  arm926
  arm946
  arm1026
  arm1136
  arm1136-r2
  arm1176
  arm11mpcore
  cortex-m3
  cortex-a8
  cortex-a8-r2
  cortex-a9
  cortex-a15
  ti925t
  pxa250
  sa1100
  sa1110
  pxa255
  pxa260
  pxa261
  pxa262
  pxa270
  pxa270-a0
  pxa270-a1
  pxa270-b0
  pxa270-b1
  pxa270-c0
  pxa270-c5
  any
root@Raspi:~# 


Creamos el directorio donde trabajaremos y moveremos el kernel y la imagen:

root@Raspi:~# mkdir /home/Raspi/Escritorio/Raspberrypi
root@Raspi:~# mv kernel-qemu /home/Raspi/Escritorio/Raspberrypi/
root@Raspi:~# mv 2013-02-09-wheezy-raspbian.zip /home/Raspi/Escritorio/Raspberrypi/


Crearemos un script para que sea más cómodo ejecutar la Raspberry:

root@Raspi:~# cd /home/Raspi/Escritorio/Raspberrypi/
root@Raspi:/home/Raspi/Escritorio/Raspberrypi# vim script_inicio.sh

#!/bin/bash

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -M versatilepb -no-reboot -append "root=/dev/sda2 panic=1" -hda 2013-02-09-wheezy-raspbian.img


Una vez terminado ya podemos hacer doble clic y ejecutarlo en un terminal o mediante terminal escribir:

root@Raspi:/home/Raspi/Escritorio/Raspberrypi# bash Iniciar_raspi.sh


Y ya tenemos nuestra Raspberry funcionando:


Usuario: pi
Contraseña: raspberry

4 comentarios:

  1. Pues... la verdad no se que estaré haciendo mal.

    Cuando ejecute Qemu exactamente tal y como indicas... no termina de iniciar el sistema de la Raspberry Pi.. aparece un mensaje de error indicando:

    Id "1" respawning too fast: disabled for 5 minutes...

    Alguna ayuda?

    ResponderEliminar
    Respuestas
    1. Cuando intente instalarla me paso lo mismo, probé con otra y me funcionó, creo que es por la versión de la Raspbian, esa en concreto da ese error de que el proceso init muere demasiado rápido.

      Prueba con esta otra que es con la que la emulo:
      files.velocix.com/c1410/images/debian/7/2012-08-08-wheezy-armel/2012-08-08-wheezy-armel.zip

      PD: perdón por la equivocación, me confundí de imagen en el tuto :(

      Eliminar
  2. No me puedo loguear, no me da la opción. Tengo la 2013-07-26 de Raspbian

    ResponderEliminar
    Respuestas
    1. Descargate mejor la versión 2013-05-29: http://downloads.raspberrypi.org/download.php?file=/images/debian/7/2013-05-29-wheezy-armel/2013-05-29-wheezy-armel.zip

      Creo que te ha pasado igual que al compañero de arriba (y a mí mientras estuve haciendo pruebas), y es que en la versión normal el proceso init muere sin dar opción a que cargue nada, sin embargo la versión soft-float no.

      Pruebala haber si funciona. Un saludo (y perdón por el retraso en responder).

      Eliminar