SearchUser loginSyndicate |
Openmoko Neo1973 GTA01B4: Primeros apuntes (es)Submitted by kernel-labs on Sat, 2007-08-18 15:55.
Este pequeño tutorial nos muestra los pasos necesarios para poner en marcha nuestra unidad Neo1973 con rapidez. El objetivo es disponer de una unidad plenamente funcional para comenzar a investigar los recursos que nos ofrece.
Adquirir un sistema empotrado completo de estas características, es una extraordinaria oportunidad para adentrarnos en el mundo de los sistemas empotrados con Linux y a la vez participar en los inicios de este revolucionario concepto de un sistema completo open source. El nombre: Neo1973El nombre del teléfono es un guiño a la historia del teléfono móvil, concretamente a la primera llamada realizada por Martin Cooper de Motorola en 1973. De ahí la palabra griega -neo- que significa -nuevo-, nuevo 1973.El modelo: GTA01B4El teléfono distribuido corresponde al modelo GTA01B4 ó GTA01Bv4, que corresponde a la segunda fase hardware del proyecto openmoko wiki.openmoko.org/wiki/Neo1973. Resumiendo, las fases previstas son las siguientes:
Sistema empotrado: Linux embedded systemComo sistema empotrado clásico podemos dividir al sistema software del teléfono en tres unidades fundamentales:
El Openmoko Team ha elegido implementar en la versión de u-boot de openmoko (fuentes orginales de u-boot mantenidos por www.denx.de/wiki/DULG el protocolo USB DFU v1.1 (USB Device Firmware Upgrade) que forma parte de la especificación USB para facilitar la actualización del firmware de un hardware USB. El proyecto más notable que usa esta tecnología en el mundo open source el Free RFID readers www.openpcd.org/ liderado por Harald Welte. Para comunicarse mediante dicho protocolo con el u-boot de nuestro openmoko usamos desde el host la utilidad: dfu-util svn.openmoko.org/trunk/src/host/dfu-util/ desarrollado por Harald Welte (alias laforge). Conexión desde el host: dfu-utilNuestro primer paso es bajarnos las fuentes del proyecto, para ello:svn co http://svn.openmoko.org/Son más de 500 MB el repositorio completo, tendremos que tener paciencia si queremos todas las fuentes. También podemos bajarnos sólo las fuentes de las utilidad dfu-util, o directamente adquirir la herramienta en formato binario estático para arquitectura Linux/i386:
wget http://buildhost.openmoko.org/tmp/deploy/images/dfu-utilSi optamos por compilar la herramienta seguiremos los siguientes pasos: cd svn.openmoko.org/trunk/src/host/dfu-util &&Obtenemos en src/ dos versiones del ejecutable una compilada estáticamente y otra con librerías dinámicas.
Imágenes para "flashear" la unidadNos bajamos las imágenes correspondientes al kernel y al rootfs para que nuestro teléfono -haga algo-. Como ya hemos dicho, la imagen de u-boot está correctamente instalada para los teléfonos de la Phase 1, y por ello no la actualizaremos de momento.Tenemos dos conjuntos de imágenes, las que corresponden a la distribución OpenMoko2007.1 (o OM2007.1) que son las denominadas "oficiales", y las correspondientes a una evolución importante del framework denominadas OM2007.2, que no son consideradas oficiales y son menos estables de momento. Nos decantamos por las oficiales, para tener menos problemas. Existen muchas combinaciones de imágenes y una nomenclatura confusa, por ello existe una página wiki.openmoko.org/wiki/Phase_1_Software_Testing donde se comentan algunas combinaciones que han funcionado y los problemas que pueden haber dado. Haremos nuestras pruebas iniciales con: wget http://buildhost.openmoko.org/tmp/deploy/images/openmoko-devel-image-fic-gta01-20070803091138.rootfs.jffs2Flashing openmokoPara comenzar a flashear necesitamos entrar en el menu de u-boot, para ello es necesario apretar el botón AUX wiki.openmoko.org/wiki/Neo1973_AUX_Button mientras presionamos el botón de encendido.Antes de flasear las imágenes, se recomienda en el wiki de openmoko que se borren las particiones afectadas. Accedemos al prompt del monitor de arranque u-boot a través del cable USB suministrado y algún programa de terminal a través de línea serie. Con la utilidad -cu- del paquete uucp podremos acceder al prompt de u-boot configurando dicho programa para acceder al dispositivo /dev/ttyACM0: cu -l /dev/ttyACM0Una vez en el prompt de u-boot ejecutaremos los siguientes comandos: GTA01Bv4 # nand erase clean rootfsSalimos del emulador de terminal y podremos comenzar el flashing desde nuestro host con la utilidad dfu-util. Flashing del kernel[root@bigcat OM2007.1]# dfu-util -a 3 -R -D ./uImage-2.6.21.6-moko11-r1_0_0_2388_0-fic-gta01.binFlashing del rootfs[root@bigcat OM2007.1]# dfu-util -a 5 -R -D ./openmoko-devel-image-fic-gta01-20070803091138.rootfs.jffs2Acceso SSH desde el hostUna vez grabadas las imágenes antes descritas podremos reinicar el móvil y tendremos el móvil listo para funcionar (eso si, mínimamente funcional, no olvidemos su estatus de pre-alfa). Llegados a este punto será muy interesante poder entrar al móvil a través del comando ssh. Para ello, cuando el móvil es conectado a través del cable USB al host, se crea automáticamente una interface de red usb0. Para configurarla manualmente haremos lo siguiente:# ifconfig usb0 192.168.0.200 netmask 255.255.255.0Cuando nos pida el password, pulsaremos intro y estaremos dentro de nuestro Neo1973. ConclusiónEste pequeño tutorial, como se puede ver, es meramente una descripción de los pasos que ha dado el equipo de kernel-labs.org para poner en funcionamiento el móvil Neo1973. En las próximas entregas iremos entrando más en profundidad, hasta llegar a nuestro objetivo, participar plenamente en el desarrollo del móvil en el ámbito que nos interesa, la programación del sistema.Referencias[1] "Openmoko wiki kernel" - http://wiki.openmoko.org/wiki/Kernel[2] "Openmoko wiki Changelog" - http://wiki.openmoko.org/wiki/ChangeLog [3] "Openmoko Projects" - http://projects.openmoko.org/ [4] "Repositorio Subversion Openmoko" - http://svnweb.openmoko.org/ [5] "Openmoko Bugzilla" - http://bugzilla.openmoko.org/ [6] "Openmoko unstable images" - http://buildhost.openmoko.org/tmp/deploy/images/ printer-friendly version | login to post comments
|