Emular Raspberry Pi en linux con qemu
2018-03-08
Si no tienes una Raspberry Pi y quieres emular el funcionamiento de una distribución para Raspberry como Raspbian o Nextcloudpi, o si por el contrario si dispones de una pero no quieres estar grabando tarjetas cada vez que quieras probar diferentes distribuciones puedes usar QEMU para emular una Raspberry.
Investigando por Duckduckgo vi varios enlaces donde explican la forma de hacerlo, pero sin duda la forma mas fácil es usando un script que han preparado en Nextcloudpi que además proporciona conectividad de red.
Lo primero que debemos de hacer es instalar qemu y los paquetes necesarios, en distribuciones basadas en arch
sudo pacman -S git qemu qemu-arch-extra bridge-utils
y en distribuciones basadas en Debian
sudo apt-get install git kvm qemu bridge-utils
Clonamos el repositorio de qemu-raspbian-network
git clone https://github.com/nachoparker/qemu-raspbian-network.git
cd qemu-raspbian-network
Descargamos una imagen de Raspbian
wget https://downloads.raspberrypi.org/raspbian_lite_latest -O raspbian_lite_latest.zip
Descomprimimos la imagen zip
unzip rasbian_lite_latest.zip
Y ejecutamos el script qemu-pi.sh
con privilegios de root
sudo ./qemu-pi.sh 2017-11-29-raspbian-stretch-lite.img # Pon el nombre de la imagen que corresponda
Si todo ha ido bien, aparecerá una nueva ventana con la imagen de raspbian ejecutándose
Pulsamos <CTRL><ALT>g
para recuperar el control del raton de QEMU.
Tambión podemos usar otra imagen como por ejemplo la de NexcloudPi
Os dejo la información que proporcionan en la propia pagina de NexcloudPi sobre el funcionamiento del script aunque yo no he conseguido hacer funcionar la tarjeta de red en modo bridge
Si queremos que la imagen se configure como una red bridge, editamos el fichero qemu-pi.sh
y cambiamos NONETWORK=1 por NONETWORK=0
Para que QEMU tenga acceso a la configuración de la tarjeta de red bridge, es necesario editar el fichero /etc/sudoers
sudo visudo
y añadir:
Cmnd_Alias QEMU=/usr/bin/ip,/usr/bin/modprobe,/usr/bin/brctl
%kvm ALL=NOPASSWD: QEMU
Si necesitamos mas espacio para el disco
qemu-img resize 2017-01-11-raspbian-jessie-lite.img +2G
Despuós de modificar y probar la imagen, podemos grabar la imagen en una tarjeta SD y arrancar la raspberry con esta imagen, manteniendo los programas instalados y cambios realizados.
Espero que te haya gustado, pasa un buen día. 🐧