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!!!!!


Jul 11 2009

Instalar Chromium en Arch Linux

Buenas noches, hoy estuve retomando mi trabajo en Arch y voy a matar dos pájaros de un solo tiro: explicar cómo funciona el AUR e instalar Chromium.

Para empezar, muchos de uds no estarán familiarizados con la palabra Chromium pero tal vez reconozcan esto: Google Chrome (el navegador de google), resulta que Chromium es un proyecto de software libre en el cual se basa Google Chrome. Aún no hay versión oficial de Google Chrome en Linux o Mac pero en el proyecto Chromium se han estado generando algunas versiones (muy preliminares aún pero funcionales) para estos sistemas operativos.

Sin más preámbulos, vamos a la instalación de Chromium en Arch Linux.

Nota: Para instalar Chromium vamos a hacer uso del AUR (Arch Users Repository) del que hablé en el primer post sobre Arch

PASOS

1. Instalar el paquete que contiene las herramientas para compilar e instalar paquetes (similar al build-essentials en Debian/Ubuntu)

pacman -Sy base-devel

2. Crear una carpeta en nuestro directorio personal que podemos llamar builds (o como deseemos). Allí se almacenarán los archivos para instalar los programas

mkdir builds

3. Buscar el paquete que queremos instalar en el AUR (En nuestro caso, Chromium)

http://aur.archlinux.org/packages.php?O=0&K=google+chrome&do_Search=Go

4. Entre los resultado que aparecieron, vemos que hay uno subrayado en rojo porque ya no tiene soporte (ningún usuario lo está manteniendo). Entonces vamos al primero y vemos que nos sale la descripción del paquete (build del 10 de Julio) y algunas opciones de descarga. El PKGBUILD es un archivo que contiene información del paquete, como la versión, las arquitecturas que soporta, las dependencias, etc. Lo que nos interesa descargar es el archivo .tar.gz, así que damos click en la parte izquierda donde dice tarball (ver imagen).

Chromium URL

Chromium URL

5. Copiar el archivo a la carpeta builds que creamos en el paso 2, descomprimirlo y ubicarnos en el directorio recién descomprimido

cp chromium-snapshot.tar.gz /home/usuario/builds

cd /home/usuario/builds

tar -xvf chromium-snapshot.tar.gz (Esto creará el directorio chromium-snapshot)

cd chromium-snapshot

6. Compilar e instalar el paquete (verificar primero el contenido del archivo PKGBUILD y otros archivos que parezcan de instalación para ver que no contengan instrucciones maliciosas, nunca se sabe :P )

makepkg -s

Este paso creará un paquete con extensión pkg.tar.gz que son los de Arch Linux. En nuestro caso, chromium-snapshot-20455-1-i686.pkg.tar.gz

7. Ya tenemos todo listo para instalar el Chromium usando pacman (el gestor de paquetes de Arch)

sudo pacman -U chromium-snapshot-20455-1-i686.pkg.tar.gz

Como dirían en España: En hora buena!!!! Ya tenemos instalado el navegador open source Chromium (con acceso directo en nuestro menú y todo), nunca sobra tenerlo ya sea por tener dos navegadores o si nos dedicamos al desarrollo web y debemos probar nuestras páginas en varios navegadores. Acá un pantallazo del navegador corriendo en Arch

Chromium en Arch

Chromium en Arch

Ya vieron qué sencilla es la gestión de paquetes en Arch utilizando el AUR?. Dudas?….Más información del uso del AUR aquí.

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

Update: Para instalar el paquete se usa pacman -U como dijo Jaime


Jun 18 2009

Arch Linux

Buenas noches, los que han leído los comentarios en los anteriores posts, se han dado cuenta que habían varios que cuestionaban mi elección de Ubuntu como distribución base en mi portátil. La conclusión de esto es que me gusta que la distribución que use tenga un buen repositorio de paquetes disponibles para instalar fácilmente y que la administración de éstos sea sencilla también. Ubuntu cumple con esto, pero la idea es conocer más distribuciones y saber qué ofrece cada una. Es así como llegué a probar Arch Linux, una distribución que no está basada en ninguna otra pero que sí está inspirada en CRUX, una distribución minimalista.

Arch Linux

Arch Linux

Arch es una distribución para arquitecturas i686 y x86_64 que sigue la filosofía KISS (Kimple It Simple Stupid), lo que significa que el usuario es dueño del sistema y por ende puede administrarlo fácilmente, ellos nombran esta filosofía “The Arch Way”. En Arch no hay ciclos de lanzamiento por lo que no se está esperando la última versión estable del sistema, no hay entorno de escritorio predeterminado, en pocas palabras, el usuario hace el sistema a su amaño. Arch está pensado para usuarios no tan novatos en esto de Linux, por lo que su instalación es más complicada que la de ubuntu y al finalizar el proceso únicamente tenemos una terminal y las herramientas para conectarse a una red, se deben instalar el alsa (audio), los controladores de la tarj de video, el servidor x,  el entorno gráfico, etc, etc. Como alguna vez Offray Luna me dijo: “Una cosa es segura: al terminar de instalar Arch, algo habrá aprendido”. Lo cual es muy cierto

Y a todas éstas, cómo es la gestión de paquetes en Arch?.

R:// Fácil y práctica

Resulta que los que estén familiarizados con distribuciones basadas en Debian, sabrán que el gestor de paquetes por excelencia es aptitude y que hay otras formas de instalar paquetes, pero esta es la más sencilla; en Arch contamos con un gestor de paquetes llamado Pacman,  con el que a la vez podemos actualizar todo el sistema fácilmente. Hasta aquí todo parecido a Debian y cia, pero donde realmente toma importancia Arch es con la aplicación de dos conceptos AUR y ABS que básicamente son herramientas para tener a nuestra disposición un abanico más amplio de paquetes, en este caso a través de archivos .tar.gz y uno especial llamado PKGBUILD que contiene la información del paquete que queremos compilar, llevamos a cabo el proceso de compilación con makepkg y esto nos retornará un paquete con extensión .pkg.tar.gz, el cual podemos instalar y gestionar posteriormente con pacman. Este mecanismo de compilación es similar a lo que se conoce en sistemas BSD como ports. En el AUR (Arch User’s Repository) se encuentran los paquetes que los propios usuarios crean y mantienen, una vez son votados por muchas personas positivamente, suben al repositorio community donde pasan a manos de un mantenedor de confianza para llegar a los otros repositorios. Los repositorios (ramas podrían llamarse) de Arch son: Core, Extra, Testing, Community.

En los siguientes posts, les iré comentando distintas experiencias y trucos para una configuración correcta de Arch, esta era una pequeña introducción.

No me queda más por ahora que invitarlos a comentar acá y animarse a probar Arch, una distribución a la que vale la pena cacharriarle como diríamos coloquialmente.

Para las mentes curiosas ávidas de más información acerca de Arch, pueden consultar la “Biblia” de Arch, su Wiki.

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