Linux y los programas que albergan sus repositorios son una maravilla, no me canso de decirlo. En increíble lo que se puede hacer con todos ellos.
Esta semana me ha tocado trabajar con una imagen de sistema operativo GNU/Linux Raspbian que trabaja sobre arquitectura armv6 mientras que mi PC es x64, por lo tanto no podía virtualizar la imagen con máquinas como Virtualbox o VMWare. La solución ha sido usar Qemu, un virtualizador de código abierto que si soporta arquitecturas ARM además de MIPS… etc.
Instalar Quemu
sudo apt-get install qemu
Crear la carpeta de trabajo
Creamos una carpeta virtualización donde vamos a tener todos los archivos que vamos a necesitar y después nos situamos en ella.
mkdir ~/virtualizacion cd ~/virtualizacion
Obtener el Kernel
Descargamos el kernel Linux:
wget http://xecdesign.com/downloads/linux-qemu/kernel-qemu
Obtener Raspbian
wget http://downloads.raspberrypi.org/raspbian_latest unzip wheezy-raspbian.zip
Comprobamos que soporte Arm
Ejecutamos el siguiente comando:
qemu-system-arm -cpu
y si nos devuelve arm1176 significa que soporta Arm y en concreto la arquitectura que usa la Raspberry Pi. Entonces continuamos. SI no fuese así, debemos de tener una versión más actualizada de Qemu.
Primer arranque
Ejecutamos el siguiente comando, teniendo en cuenta que el nombre de la imagen puede variar, en mi caso es wheezy-raspbian.img:
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda wheezy-raspbian.img
Nada más que arranque, editaremos el fichero ld.so.preload:
nano /etc/ld.so.preload
y añadimos una almohadilla en la línea:
#/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
guardamos, salimos y apagamos el sistema:
halt
todo este proceso sólo hay que hacerlo una vez.
Siguientes arranques
Ejecutamos el mismo comando anterior pero sin init=/bin/bash:
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda 2013-09-25-wheezy-raspbian.img
y.. ¡Voila! Ya tendremos nuestra imagen de Raspberry pi bajo plataforma ARM ejecuandose en un sistema anfitrión x86 o x64.
Últimos comentarios