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 NO_NETWORK=1 por NO_NETWORK=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. 🐧

Ingrese la dirección de su instancia


Más publicaciones como esta

Wake On Lan: Enciende el ordenador a travós de la red

2020-03-09 | #linux #raspberry

Tengo una Raspberry Pi que permanece encendida 24/7 ya que necesito que ciertos servicios estón disponibles siempre, en cambio utilizo un mini pc como servidor multimedia, el cual no es necesario que este siempre encendido y mucho menos por las noches, y aprovechando que su placa base soporta Wake On Lan (WOL), es decir, despertarse mediante el envío de paquetes a travós de red, vamos a aprovechar la Raspberry Pi para programar su apagado y encendido a travós de WOL.

Continuar leyendo 


Docker: Zabbix en Raspberry Pi

2020-01-23 | #docker #raspberry #zabbix

Sigo probando diferentes soluciones para la recolección y visualización de estadísticas de los diferentes dispositivos de mi red. Fue a raíz de escuchar un podcas de hardwareadictos, que decidi probar zabbix en mi Raspberry Pi 3, pero surgió un problema, y es que no existe una imagen par apoder crear un contenedor docker para arquitectura armv7, y sinceramente teniendo todos los servicios corriendo en doker, me daba una pereza tremenda tener que instalar y configúralo todo desde cero, apache, MariaDB, etc.

Continuar leyendo 