Qemu: Emulando Raspberry Pi en GNU/Linux

QEMU (Quick EMUlator) es un emulador libre y de código abierto que realiza emulación de hardware y diferentes microprocesadores. Las siguientes instrucciones son para instalar QEmu y Raspbian, se probaron en: Ubuntu 18.04 y Debian 10. Se recomienda tener la última versión posible de su distribución GNU/Linux.

Pasos de instalación (solo es necesario hacerlo una vez):

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install qemu qemu-system-arm -y
sudo apt-get install git wget unzip -y
git clone https://github.com/dhruvvyas90/qemu-rpi-kernel.git
cd qemu-rpi-kernel
wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip
unzip 2019-09-26-raspbian-buster-lite.zip
sudo qemu-system-arm -kernel ./kernel-qemu-4.4.34-jessie -append "root=/dev/sda2 panic=1 console=ttyAMA0 rootfstype=ext4 rw" -hda 2019-09-26-raspbian-buster-lite.img -cpu arm1176 -m 256 -M versatilepb -no-reboot -net nic -net user,hostfwd=tcp::2222-:22 -net tap,ifname=vnet0,script=no,downscript=no -nographic

Los pasos anteriores instalan:

el procesador ARMv6-compatible processor rev 7 (se chequea con el comando cat /proc/cpuinfo)

el sistema Raspbian GNU/Linux 10 Buster (se chequea con el comando lsb_release -a)

Luego de la instalación loguearse con el usuario y clave por defecto:

user: pi
password: raspberry

Después de loguearse correr los siguientes comandos para habilitar e iniciar el SSH (solo la primera vez):

sudo systemctl enable ssh
sudo systemctl restart ssh

Finalmente cada vez que se desee iniciar solo hay que correr lo siguiente:

cd qemu-rpi-kernel
sudo qemu-system-arm -kernel ./kernel-qemu-4.4.34-jessie -append "root=/dev/sda2 panic=1 console=ttyAMA0 rootfstype=ext4 rw" -hda 2019-09-26-raspbian-buster-lite.img -cpu arm1176 -m 256 -M versatilepb -no-reboot -net nic -net user,hostfwd=tcp::2222-:22 -net tap,ifname=vnet0,script=no,downscript=no -nographic

Para conectarse por SSH:

ssh pi@127.0.0.1 -p2222

Para apagar el emulador:

sudo shutdown now

— Fernando Velcic

Volver