Jan 29 2010

Cambiar el wallpaper en el OpenMoko

Buenas noches, hacía mucho no tenía tiempo de postear algo sobre el OpenMoko y estaba aburrido por no poder hacer algo con el juguetico pero hace poco lo estuve desempolvando para mirar el nuevo SHR (que ya estrenó rama testing -antes sólo había rama unstable-) y se puede ver que con la nueva versión todo va un poco más rápido y hay unas barras en el menú de una llamada para administrar el volumen del micrófono y del altavoz. Lo único malo (y bastante) es que cuando me llaman, las otras personas no me escuchan, espero que sea una configuración que no he hecho aún y no el temido buzz (defecto que posee la versión del OpenMoko que tengo). Pienso que puede ser por configuración porque con Android (no dejo Android instalado porque es muy invasivo, no deja tener dual boot) no tenía ese problema.

Ese fue el pequeño resumen de lo que ha pasado con mi FreeRunner últimante, ahora sí entremos en detalles acerca de cambiar el wallpaper en el OpenMoko usando SHR como distribución.
Los archivos que utiliza SHR como wallpapers no son simples imagenes png o jpg, son archivos especiales con extensión edj. Para crear estos archivos a partir de imágenes png o jpg, debemos seguir estos pasos:

1. Obtener la (s) imágen (es) de 480×640 que deseamos tener entre los posibles wallpapers para nuestro OpenMoko. Hasta donde sé, se pueden usar imágenes en formato jpg, jpeg y png

2. Instalar el paquete edje-utils en nuestra distro. Por ejemplo para Arch Linux, el paquete se llama edje-svn; para ubuntu podremos ver el proceso aquí (para Karmic Koala, ponemos la última línea -la que está en la nota). Este paquete nos proveerá varias herramientas, la que nos interesa particularmente es edje_cc que nos permitirá crear los archivos edj que necesitamos.

3. Crear el archivo de configuración que se usará para producir el .edj. Un archivo de configuración (.edc) luce así:

images { image: “Ink-6.png” LOSSY 90; }
collections {
group { name: “e/desktop/background”;
data { item: “style” “2″; }
max: 480 640;
parts {
part { name: “col”; type: RECT; mouse_events: 0;
description { state: “default” 0.0;
color: 255 255 255 255;
} }
part { name: “bg”; mouse_events: 0;
description { state: “default” 0.0;
min: 480 640; max: 480 640;
image { normal: “Ink-6.png“; }
} } } } }
Se debe prestar atención a las líneas en negrita que son las que hacen referencia a la imagen que vamos a convertir en edj

4. Tener en el mismo directorio el archivo edc y el archivo de la imagen referenciada en este (como adivinarán en este paso, si se quieren crear varios wallpapers, se tendrá que modificar el arcihvo .edc para que haga referencia a una imagen a la vez) y generar un archivo edj para cada uno.

5. Ejecutar en la consola el siguiente comando
edje_cc $@ -id . -fd . archivoConfiguracion.edc -o archivoSalida.edj
En el comando anterior se cambia archivoConfiguracion.edc y archivoSalida.edj por los nombres que queramos

6. Conectar el OpenMoko al PC y transferir (via ssh o sftp si se quiere) los archivos edj que se obtuvieron en el paso 5 y ubicarlos en cualquiera de estas carpetas según donde queramos que se vean en el menú de SHR:

- Personal: /home/root/.e/e/backgrounds

- Sistema:  /usr/share/enlightenment/data/backgrounds
NOTA: Puede que en las rutas anteriores no exista la carpeta backgrounds, si es así, debemos crearla (mkdir backgrounds por la consola de shh)

7. En el OpenMoko, desplegamos en menú superior de SHR y seleccionamos en la esquina superior izquierda una rueda verde (logo de SHR?) en las nuevas versiones o un ícono de herramienta en las versiones antiguas. Esto nos abrirá el menú de configuración de SHR en el que se ven varios “tabs” o pestañas cada una con diferentes opciones. Seleccionamos allí la pestaña Look y luego la opción wallpaper.
Este menú no se ve bien en la pantalla (el texto sale cortado) pero no obstante es navegable y podemos ver que hay un radio button que nos permite seleccionar entre Personal, System y Use Theme Wallpaper; las dos primeras representan las carpetas que nombramos en el punto anterior.
Así que si por ejemplo pusimos nuestro wallpaper en /usr/share/enlightenment/data/backgrounds, podremos encontrarlo seleccionando System en el radio button que vemos arriba. En la parte izquierda podremos ver los nombres de los wallpapers y seleccionando uno, podremos ver su vista previa en la parte derecha.
Una vez sepamos cual estableceremos como wallpaper, seleccionaremos OK o APPLY y al volver al escritorio de SHR podremos ver que nuestros cambios ya tuvieron efecto.

Como vieron el proceso para seleccionar un wallpaper para el OpenMoko no es tan sencillo como poner imágenes en un directorio y luego seleccionarlas, pero después de generar el archivo edj, el proceso se resume a esto.

Si no quieren tener que hacer las configuraciones, aquí hay algunos archivos edj listos para que los suban a su OpenMoko y los disfruten

Don’t Worry………Be Linux!!!!!!!!!


Nov 14 2009

Flashear el OpenMoko

Buenas noches, después de lograr conectar el OpenMoko al PC y acceder a él por SSH (recordamos lo visto en Conectar OpenMoko al PC), lo primero que se debe hacer es actualizar los programas que vienen instalados en OM 2008-08 (el sistema operativo que viene por defecto en el OpenMoko), ésto se hace con un comando similar al usado en distribuciones basadas en debian:

opkg update && opkg upgrade

Esto no es todo lo que podemos hacer ahora que tenemos acceso a internet desde nuestro OpenMoko, podremos navegar usando Midori, usar el GPS con TangoGPS y lo mejor de todo, instalar los programas que deseemos, incluyendo distribuciones, lo que cubriremos en este post.

En posts anteriores nombré algunas distribuciones que tenemos como opciones para instalar en nuestro OpenMoko, particularmente me he interesado por SHR porque parece ser la más prominente y con mejores programas que las otras. La primera vez que la instalé, lo hice en la memoria microSD y después de ensayarla por un tiempo, estaba preparado para instalarla como SO base y probar otras distros (como Debian en la MicroSD). Para comenzar con los pasos para la instalación de una distribución en el OpenMoko vale la pena decir que ésta consta de un archivo que es el kernel (.bin) y un archivo con el sistema de archivos o root file system (.tar.gz si se instala en la microSD o jffs2 si se instala en la memoria NAND).

A continuación los pasos para efectuar la instalación en la memoria NAND:

1. Instalar dfu-util en la distro: dfu-util es el paquete que nos servirá para ‘quemar’ o escribir el Kernel y el Root FileSystem en la memoria NAND. Instalar dfu-util en distribuciones como ubuntu será tan sencillo cómo un apt-get install dfu-util. En Arch Linux, podemos recurrir al AUR e instalarlo como se vio en un post anterior con Chromium.

2. Descargar el kernel y el rootfs: Como había mencionado, éstos son los componentes esenciales de una distribución. Para SHR, se deben descargar desde http://build.shr-project.org/shr-unstable/images/om-gta02/

Los archivos que debemos descargar son (a fecha Noviembre 13 de 2009)

- Kernel: uImage-2.6.29-oe11+gitr119844+a3587e4ed77974adfb057af261aaeea4022018e8-r3.5-om-gta02.bin

- Rootfs: full-om-gta02.jffs2

3. Bootear el OpenMoko en el menú NOR-Boot: El OpenMoko tiene diversos modos de booteo, el normal es llamado NAND y existe otro que se llama NOR, en el cual podemos escribir el kernel y el sistema de archivos. Como habrán adivinado, ese es el modo en el que tendremos que bootear el OpenMoko para flashearlo. Para entrar en ese modo basta con apagar el OpenMoko y para encenderlo, presionar el botón AUX por algunos segundos y luego presionar el botón de encendido, veremos un menú como éste:

NO seleccionamos ninguna opción del menú, sino que presionamos repetidamente el botón AUX para evitar que el OpenMoko arranque antes de tiempo. Ahora proseguimos con el siguiente paso

4. Conectar el OpenMoko al PC: En este paso no establecemos una conexión vía SSH con el OpenMoko, simplemente conectamos el Smartphone al PC a través del cable USB.

5. Probar conectividad: Debemos comprobar que dfu-util reconoce el OpenMoko, para lo que escribimos en la consola del PC

dfu-util –list

Con lo que tendremos una salida como:

dfu-util – (C) 2007 by OpenMoko Inc.

This program is Free Software and has ABSOLUTELY NO WARRANTY

Found Runtime: [0x1d50:0x5119] devnum=9, cfg=0, intf=2, alt=0, name=”USB Device Firmware Upgrade”

Esto indica que todo está bien y el PC reconoció el OpenMoko

En este paso debemos estar presionando constantemente AUX para que el OpenMoko no bootee antes de escribir el sistema de archivos y el Kernel.

6. Escribir el kernel y el sistema de archivos: Si hemos llegado a este paso sin ningún problema, procedemos a ‘quemar’ la imagen del kernel y el rootfs en la memoria NAND del OpenMoko con los siguientes comandos:

dfu-util -a rootfs -R -D full-om-gta02.jffs2

En el OpenMoko veremos algo como:

Starting DFU DOWNLOAD to partition…

[...]

DFU: Switching to DFU mode

[...]

Y en la consola del PC:

dfu-util – (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0×0000:0×0000…
Claiming USB DFU Runtime Interface…
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request…
Resetting USB…
Opening USB Device…
Found Runtime: [0x1d50:0x5119] devnum=10, cfg=0, intf=0, alt=6, name=”rootfs”
Claiming USB DFU Interface…
Setting Alternate Setting …
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0×1000
bytes_per_hash=1431306
Starting download: [#####

Al finalizar el proceso, en el PC debe aparecer

Starting download: [##################################################] finished!
state(2) = dfuIDLE, status(0) = No error condition is present
Done!

Resetting USB to switch back to runtime mode

Y el OpenMoko dirá:

DFU: Switching back to Runtime mode

Por último escribimos el Kernel con el siguiente comando:

dfu-util -a kernel -R -D uImage-2.6.29-oe11+gitr119844+a3587e4ed77974adfb057af261aaeea4022018e8-r3.5-om-gta02.bin

Este proceso demorará mucho menos que el anterior y cuando finalice podremos

7. Seleccionar la opción para arrancar y presionar POWER: Al hacer esto, veremos cómo bootea en nuestro OpenMoko la distribución SHR que acabamos de instalar.

Como pueden ver es sencillo el proceso de flashear el OpenMoko y es aún más sencillo cuando la distribución se instala en la memoria microSD, proceso que trataré de explicar en un nuevo post.

Don’t Worry……….Be Linux!!!!!


Sep 12 2009

Distribuciones en el OpenMoko

Buenas noches, este post es para reportar mis avances con el OpenMoko.

Hasta el momento he probado dos distribuciones:

- OM2008  (la distro instalada por defecto) la cual es rápida pero no presenta muchas oportunidades para cacharrearle y se veía inestable, se demoraba demasiado al suspender/reanudar. Esta distribución es desarrollada por OpenMoko Inc y actualmente el desarrollo de la versión OM 2009 está congelada.

- SHR: sus siglas significan Stable Hibrid Release y es una distribución creada por la comunidad que pretende ser una distribución minimalista que brinde las opciones necesarias para la utilización del OpenMoko (y no sólo se limita a él) como teléfono diario. Hasta ahora me ha gustado mucho, es bastante intuitiva, es Finger-Friendly (manejable fácilmente con los dedos) y a pesar de estar etiquetada como [Unstable] la he notado muy estable, se suspende/reanuda muy rápido y su administración de paquetes es sencilla a través de opkg.

Screenshot de SHR

Screenshot de SHR

Las distribuciones se pueden instalar tanto en la memoria NAND del OpenMoko como en una micro-SD lo que se puede traducir en que se puede tener un dual boot teniendo dos distribuciones diferentes instaladas, una en la memoria NAND y otra en la micro-SD o incluso varias distros en la micro-SD.

Entre las dos distribuciones que he probado, me quedo con SHR porque su desarrolllo es más activo, se hace más estable cada día y ofrece lo que se espera en un SmartPhone.

Don’t Worry…………Be Linux!!!!!!!!!!


Sep 1 2009

OpenMoko!!!!

Como mencioné en posts anteriores, estaba a punto de conseguir un Neo FreeRunner (alias OpenMoko). Les cuento que me llegó hace una semana y en estos momentos me encuentro ensayando distribuciones y configuraciones con el aparatico. Esperen pronto más noticias….

OpenMoko

Por ahora los dejo con las fotos que tomé el día que llegó el OpenMoko. Más adelante voy a integrar las fotos de Flickr en el blog….

Don’t Worry…………Be Linux!!!!!!!!!!!!!