Este fin de semana he tenido la primera toma de contacto con Openmoko, es posible hacer pruebas con el emulador QEMU. Tenemos instrucciones en el Wiki oficial de OpenMoko para compilar, pero he decidido agilizar esta tarea y me he permitido crear un script para bajar la última versión del código y compilarlo usando GCC 3.3. Este script es válido para distribuciones basadas en Debian GNU/Linux.
Una vez instalado arrancamos la imagen y nos aparecerá un menú con varias opciones, Boot (Iniciar el sistema) y redirigir la consola a USB o al puerto serie:
Tenemos que esperar un ratito hasta que acabe de arrancar y configurar:
El aspecto es un tanto austero pero tenemos una navegación muy sencilla:
Tenemos las aplicaciones clasificadas en cuatro grandes grupos: PIM suite, aplicaciones, juegos y utilidades. Disponemos de varias herramientas, no podían faltar un instalador de aplicaciones, calculadora, contactos, reproductor de medios, un terminal, y navegador web:
Este es el aspecto de nuestro sitio en el navegador, como en la mayoría de dispositivos compactos aparece entrecortado, aunque de todos modos puede manejarse bien con hojas de estilos y sitios pensados para PDA:
Una de las cosas que más me ha gustado es la posibilidad de abrir un terminal en el dispositivo y tener una consola para manejar un sistema operativo GNU/Linux con un kernel 2.6.24 PREEMPT:
Ya que esto no es una manera muy cómoda de trabajar, cuando tenemos el ordenador a mano podemos acceder por SSH al dispositivo, ya que dispone de un servidor SSH instalado por defecto.
Aunque obviamente para ello tenemos que configurar la red.
Siguiendo los pasos del wiki debo decir que no he podido establecer la conexión punto a punto sencilla a través de PPP, por este motivo he acabado configurando la conexión USB en mi Debian Lenny.
Aquí va el script de instalación:
#!/bin/bash # OpenMoko Setup para QEMU # Basado en http://wiki.openmoko.org/wiki/OpenMoko_under_QEMU # Dependencias sudo apt-get install qemu gcc-3.3 netpbm subversion lynx # Obtener codigo fuente svn checkout https://svn.openmoko.org/trunk/src/host/qemu-neo1973 cd qemu-neo1973 # Configurar (Usar GCC 3.3) y compilar ./configure --target-list=arm-softmmu --cc=gcc-3.3 make # descargar firmware openmoko/download.sh # instalar OpenMoko en NAND Flash virtual openmoko/flash.sh
Este otro me ha facilitado la tarea de simular una desconexión y conexión del USB para manejar la conexión de red, necesitas los módulos dummy_hcd, gadgetfs, usbnet y cdc_ether:
#!/bin/bash echo "Setup USB networking" sudo umount /dev/gadget sudo rmmod cdc_ether sudo rmmod usbnet sudo rmmod gadgetfs sudo rmmod dummy_hcd sudo modprobe dummy_hcd sudo modprobe gadgetfs default_uid=1000 # assuming my User ID is 1000 sudo modprobe usbnet sudo modprobe cdc_ether sudo mkdir -p /dev/gadget sudo mount /dev/gadget echo "Start qemu monitor and type:" echo "(qemu) usb_add gadget:1" echo "" echo "PRESS ENTER WHEN DONE" read $foo sudo ifconfig usb0 down sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0
Nota: se asume que el UID de tu usuario es 1000. También le he quitado la línea -monitor unix:"$qemu_monitor",server,nowait a openmoko/qemu-auto.sh para que me aparezca el qemu monitor al pulsar Ctrl+Alt+2.
Comentarios
Llámame tiquis-miquis, pero
Llámame tiquis-miquis, pero una aplicación que tenga la palabra "Moko" en el nombre no me inspira mucha confianza eh... =P
Jejeje
La verdad es que tienes toda la razón, tendrían que documentarse un poco más a la hora de establecer el nombre.
En fin, espero que lo peor del software sea el nombre.