You are here

Toma de contacto con OpenMoko

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:

Menu Inicio

Tenemos que esperar un ratito hasta que acabe de arrancar y configurar:

Cargando

El aspecto es un tanto austero pero tenemos una navegación muy sencilla:

Principal

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:

Aplicaciones

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:

Navegador

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:

Terminal

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.

Debian: 
Qué te parece: 

Comments

Llámame tiquis-miquis, pero una aplicación que tenga la palabra "Moko" en el nombre no me inspira mucha confianza eh... =P

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. Wink