martes, 11 de diciembre de 2012

Probando Android Jelly Bean en una Beaglebone

Estos últimos días he vuelto a las andadas con mis cacharros en mi afán por montar cosillas con hardware y software abierto, fácilmente disponible y a ser posible barato. Lo último no lo he cumplido porque la primera visita ha sido a una web de distribución para comprarme una placa Beaglebone y algunos accesorios para poder jugar un rato. Con la placa Beaglebone por unos 90 euros consigues un ARM Cortex A8 hasta 720MHz, 256MB RAM y una tarjeta microSD de 4GB que hace las funciones de almacenamiento no volátil. La placa proporciona dos USBs, uno host y otro OTG, Ethernet, alimentación, y tres conectores de expansión que permiten conectarle casi cualquier cosa si estas dispuesto a desempolvar la placa de pinchar y el kit de condensadores. Y ya hay diversas placas de expansión disponibles para muchas funciones adicionales, entre ellas las básicas de HDMI y Audio, pantallas LCD y muchas otras.


Lo primero que sorprende de Beaglebone al sacarla de la caja es su tamaño, solo mide 8,6 por 5,3 centímetros y también pesa muy poco. La puesta en funcionamiento también es inmediata, ya que en el paquete viene ya precargada la tarjeta SD con una imagen de Amstrong, una distribución de Linux optimizada para este dispositivo que permite utilizar todas las capacidades del sistema. E incluye también el sistema de desarrollo Cloud9, que permite crear aplicaciones de control de forma muy sencilla en javascript. El primer contacto es muy sencillo siguiendo los pasos que indican en el tutorial, pero yo tuve un problema a la hora de  instalar el driver USB de la placa para poder acceder vía USB al interfaz de desarrollo web y a la consola. Al intentar instalar la versión para Windows 7 me daba un error con el idioma de mi sistema y fallaba. Como no fuí capaz de cambiar mi Windows al inglés (que lamentable, y no llo digo por mi) tuve que descomprimir el ejecutable, el winrar lo descomprime sin problema, y ejecutar manualmente desde línea de comandos el instalador con una opción adicional para evitar el error (sugerido inicialmente aqui):

dpinst /el


La plaquita funciona de maravilla, va bastante fluido por consola y tiene su propio sistema de gestión de paquetes, con todo lo que se me ocurrió buscar, pero mi primer objetivo es probar el rendimiento de Android en esta placa añadiéndole una placa adicional con un LCD de 3 pulgadas, así que toca descargarse una imagen preconstruida para esta placa y utilicé la que proporciona Texas Instruments en su página de soporte. Sólo hay que descomprimirla y ejecutar mkmmc-android con el dispositivo correcto donde tenemos conectada la tarjeta microSD de destino. Eso si, con mucho ojo porque si nos equivocamos de dispositivo el proceso podría cargarse el contenido de nuestro disco duro. El proceso tarda un rato y al terminar tendremos una tarjeta SD preparada para que Beaglebone arranque desde ella. O un disco duro que formatear, insisto en que hay que tener mucho cuidado al elegir el dispositivo /dev/sdxx. Este proceso está pensado para hacerlo en un equipo con linux, y el script mkmmc-android.sh que viene con la imagen pregenerada de TI tiene un bug y no funcionaba en mi equipo, hay que editarlo y cambiar la siguiente línea:

SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`

Por esta (Publicado originalmente aqui):

SIZE=`fdisk -l $DRIVE | grep $DRIVE | awk '{print $5}'`

Con este cambio el script debería funcionar y el resultado, que podéis ver en el video que hay a continuación es bastante prometedor. Funciona todo bien, va muy fluido en Jelly Bean, aunque claro, no se incluye Google Play ni ninguna de las aplicaciones de Google que suelen venir preinstaladas, ni he conseguido instalar de ninguna forma. A ver si alguien puede echarme una mano e indicarme de dónde podría obtener un paquete de aplicaciones de Google compatibles con la compilación de Android para Beaglebone.


El arranque podría ser más rápido, y el launcher está un poco desajustado en el cape LCD3, pero seguramente pueda arreglarlo. Ahora mismo estoy intentando compilar todo el sistema para poder añadir alguna cosilla y resolver el desajuste del escritorio en el LCD. Ya os iré contando mis progresos. Por ahora termino con otro vídeo, esta vez del arranque desde cero para que se vea en detalle el tiempo que tarda.



No hay comentarios:

Publicar un comentario