Om 2007.2/es
From Openmoko
m |
m (buildhost -> Download) |
||
Line 195: | Line 195: | ||
== Imagenes pre-compiladas == | == Imagenes pre-compiladas == | ||
− | * | + | * [[Download]] |
=== Estructura del directorio del buildhost === | === Estructura del directorio del buildhost === | ||
El contenido del directorio del servidor de compilaciones de Openmoko esta disponible en | El contenido del directorio del servidor de compilaciones de Openmoko esta disponible en | ||
− | * | + | * [[Download]] |
Este contiene | Este contiene | ||
Line 279: | Line 279: | ||
* Official snapshots and ipkg repository: | * Official snapshots and ipkg repository: | ||
− | ** | + | ** [[Download]] |
=== Q: Mis fuentes de mrxvt (terminal) son demasiado grandes. === | === Q: Mis fuentes de mrxvt (terminal) son demasiado grandes. === |
Latest revision as of 22:39, 17 September 2008
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
Om 2007.2 |
|
---|
Om 2007.2 es una de las muchas distribuciones que actualmente funcionan en los teléfonos Openmoko. Puedes comparar una distribución con un Sistema Operativo de un ordenador normal. Esto dota al teléfono del software necesario para trabajar con el. Para más información acerca de los diferentes posibilidades existentes, visita el apartado distribuciones
Om 2007.2 es la segunda versión de la distribución de Openmoko. El desarrollo comenzó el 2007-07-26. Om 2008.8 es el sucesor de este paquete de esta agrupación de software.
El objetivo de esta versión es un grupo de mejoras de las aplicaciones PIM destinadas a subsanar bastantes problemas de usabilidad de diseño de la primera generación, unas guias de estilo más formales en el UI y un cierto número de cambios en el sistema compilado. La última parte introduciría software más reciente en sincronía con las actualizaciones de org.openembedded.dev.
Un anuncio oficial fué realizado por Sean Moss-Pultz el 20 de Agosto:
(Inicialmente fue llamado OM-2008 en SVN pero fue renombrado poco despues.)
Contents |
[edit] Instalación
Si deseas instalar esta distribución de software en tu dispositivo, has de seguir los siguientes pasos:
[edit] Compilando 2007.2
[edit] Por qué compilar
Antes de complicarte, detente un momento y planteate por qué deseas compilar una imagen de la distribución de Openmoko. Tienes la opción de hacerlo, un kernel y un desarrollador de aplicaciones y deseas desarrollar tu propio paquete -- en ese caso compilar Openmoko es completamente innecesario y una perdida de tiempo. A lo mejor deberías plantearte utilizar la Toolchain de Openmoko para construir únicamente aquello que te interese.
[edit] Como compilar
La MokoMakefile ahora permite compilar imagenes de Om 2007.2. Si utilizas esta nueva versión de MokoMakefile, puedes ignorar lo que sigue y continuar compilando Om 2007.2 de la misma forma que compilabas imagenes anteriormente (i.e. al igual que MokoMakefile). Asegurate que pones correctamente la generación en el principio del archivo.
Siguiendo los pasos de OpenEmbedded getting started. Te sugerimos que como utilices como poco Bitbake 1.8.8.
NOTE: En lugar de utilizar git.openmoko.org (como se indica en OE GettingStarted), por favor asegurate de utilizar git.openmoko.org como monotone server. Esto te asegurará que tienes una versión funcional de metadata y que se compilará con éxito |
Pon lo siguiente en tu local.conf
BBFILES = "${HOME}/oe/org.openembedded.dev/packages/*/*.bb" MACHINE = "om-gta01" DISTRO = "openmoko" ENABLE_BINARY_LOCALE_GENERATION = "1" GLIBC_GENERATE_LOCALES = "en_GB.UTF-8"
Para dispisitivos multi-nucleo, se puede añadir lo siguiente para incrementar la velocidad (los números pueden ser ajustados basandose en la cantidad actual de nucleos):
PARALLEL_MAKE = "-j 4" BB_NUMBER_THREADS = "4"
Para liberar espacio después de las compilaciones, añadir:
INHERIT += "rm_work"
Sustituye "${HOME}/oe" por el lugar donde reside tu directorio "org.openembeded.dev". Para el significado de las otras echa un vistazo a conf/local.conf.sample
Ejecuta bitbake <nombre del paquete> (e.g. openmoko-devel-image).
[edit] Como habilitar autorev
Primero aplica el siguiente parche a bitbake.
http://lists.linuxtogo.org/pipermail/openembedded-devel/2007-September/003035.html
Añade la siguiente línea en tu local.conf
require conf/distro/include/moko-autorev.inc
Entonces ejecuta de forma normal bitbake. Openmoko compilará en este momento con las últimas revisiones de SVN.
[edit] Problemas al compilar
[edit] Certificado erroneo
Podrías obtener algo parecido a esto mientras se analizan los recipes de bitbake:
Error validating server certificate for 'https://libw100.svn.sf.net:443': - The certificate hostname does not match. Certificate information: - Hostname: *.svn.sourceforge.net - Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT - Issuer: Equifax Secure Certificate Authority, Equifax, US - Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e
Corresponde a un error en el archivo de bitbake. No se debería utilizar el nombre corto para sourceforge (sf.net) cuando los certificados son para nombres de host exactos. Acepta el certificado y en este caso todo irá bien.
[edit] openmoko-libs FTBFS
Algunas aplicaciones no han sido totalmente modificadas para ser compiladas con las nuevas librerías de Openmoko y todabía necesitan los paquetes de viejo-estilo openmoko-libs. libmokogsm que es necesario para openmoko-libs fallará entonces en la compilación. Como solución puedes eliminar las aplicaciones no transportadas que necesitan openmoko-libs haciendola de esta forma innecesaria. Para hacerlo edita packages/tasks/openmoko-taks.bb y busca las siguientes líneas:
. . . openmoko-terminal \ matchbox-panel-2 \ matchbox-panel-2-applets \ matchbox-applet-inputmanager \ # openmoko-appmanager \ matchbox-keyboard \ matchbox-stroke \ openmoko-keyboard \ . . .
Ahora pon una almohadilla (#) antes de openmoko-terminal y openmoko-keyboard. puedes verificar que openmoko-libs ya no son necesarias utilizando bitbake -g openmoko-devel-image (= crea un gráfico de dependencias). No debería haber ninguna mención a openmoko-libs en el archivo task-depends.dot. por favor ten en cuenta que el terminal gráfico y el teclado virtual no serán accesibles en este momento. Puedes tener acceso al terminal siguiendo la guía USB Networking. Para la entrada de teclado añade el switch -usbdevice keyboard en Qemu.
[edit] gtk+ fallos compilando w/ gtkcombobox.c
Si obtienes estos errores:
gtkcombobox.c: In function 'gtk_combo_box_size_request': gtkcombobox.c:1859: warning: unused variable 'font_desc' gtkcombobox.c:1858: warning: unused variable 'metrics' gtkcombobox.c:1857: warning: unused variable 'context' gtkcombobox.c:1855: warning: unused variable 'arrow_size' gtkcombobox.c:1854: warning: unused variable 'font_size' gtkcombobox.c: In function 'gtk_combo_box_size_allocate': gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function) gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once gtkcombobox.c:1962: error: for each function it appears in.) gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function) gtkcombobox.c:1966: error: 'context' undeclared (first use in this function) gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function) gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function)
Dirigete a tu directorio /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk y parchea gtkcombobox.c con lo siguiente:
Agradecimientos a rmoravcik en #openmoko (parche obtenido de http://pastebin.ca/654717 )
--- gtkcombobox.c 2007-08-12 20:30:07.000000000 +0200 +++ gtkcombobox.c 2007-08-12 20:29:58.000000000 +0200 @@ -1948,6 +1948,12 @@ gtk_combo_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { + gint font_size; + gint arrow_size; + PangoContext *context; + PangoFontMetrics *metrics; + PangoFontDescription *font_desc; + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); gint focus_width, focus_pad; GtkAllocation child;
[edit] compilando glibc falla un segfault en QEMU
Si tu compilación es abortada y ves algo como esto:
NOTE: package glibc-2.5: started NOTE: package glibc-2.5-r6: task do_package: started NOTE: preparing tree for binary locale generation NOTE: generating locale en_US (UTF-8) qemu: uncaught target signal 11 (Segmentation fault) - exiting ... NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed. ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed
Intenta editar tu archivo local.conf. Cambia:
ENABLE_BINARY_LOCALE_GENERATION = "1"
a
ENABLE_BINARY_LOCALE_GENERATION = "0"
y vuelve a iniciar la compilación. Esto puede tener algún efecto sobre la internalización (verás un aviso indicandolo), pero por lo menos la compilación continuará. Gracias a rwhitby por el truco.
Opcionalmente, como fue sugerido por XorA en #openmoko, si estás trabajando con una distribución orientada a 64-bit, intenta forzar una revisión diferente de QEMU, tambien en el local.conf:
PREFERRED_VERSION_qemu-native = "0.9.0+cvs20070701" SRCDATE_qemu-native = 20070701
[edit] libxml2-native falla con errores de xmlCatalogPtr
Dirigete a tu directorio build/tmp/work/i686-linux/libxml2-native-2.6.29-r1/libxml2-2.6.29/include/libxml/ y parchea xmlversion.h con lo siguiente:
--- xmlversion.h 2007-08-17 10:45:42.000000000 +0100 +++ xmlversion.h 2007-08-17 10:51:36.000000000 +0100 @@ -219,7 +219,7 @@ * * Whether the Catalog support is configured in */ -#if 0 +#if 1 #define LIBXML_CATALOG_ENABLED #endif
En mi sistema el directorio de libxml2-native-2.6.29-r1 está en un directorio llamado i686-linux, pero el tuyo puede ser diferente. Creo que este parche puede ser una solución para hacer la compilación de libxml2-native. No estoy seguro de las consecuencias que puede tener habilitar el soporte para el catalogo XML.
[edit] Imagenes pre-compiladas
[edit] Estructura del directorio del buildhost
El contenido del directorio del servidor de compilaciones de Openmoko esta disponible en
Este contiene
- cache
- Internal caching data, not for human interpretation
- cross
- The cross-compilation toolchain used. You can download this and use it on your local machine.
- deploy
- deploy/images
- The filesystem, kernel and bootloader images to be flashed into NAND
- deploy/ipk
- the .ipk packages
- deploy/images
- rootfs
- the extracted root filesystem. Please use the images from deploy/images instead
- staging
- no user servicable parts inside
- stamp
- internal state data
- work
- the actual build trees (including patches source code and binaries) of the individual packages
[edit] Actualizando tu imagen
Ahora que tienes una imagen 2007.2 funcional en tu Neo, querras tenerla actualizada. Afortunadamente, ipkg está ya configurado para obtener los paquetes actualizados del servidor.
En el teléfono, en el terminal (o via ssh), si tienes acceso directo a internet y resolución de DNS configura en /etc/resolv.conf:
ipkg update && ipkg upgrade
Actualizará los paquetes que tienes instalados a su versión más reciente. Echale tambien un vistazo a las fuentes alternativas/adicionales en downloads.
Si estas compilando tus propios paquetes e imágenes, puedes tambien ejecutar un simple httpd en tu propio host para pasarte tus propios archivos ipkg a tu Neo.
En tu host compilado, por ejemplo:
thttpd -d <ruta_a_moko/tmp/deploy/glibc/ipk> -p 8080
servirá tus paquetes en el puerto 8080.
Entonces, en el Neo, crea un nuevo archivo en /etc/ipkg/local-feed.conf con estos contenidos:
src/gz local-all http://192.168.0.200:8080/all src/gz local-armv4t http://192.168.0.200:8080/armv4t src/gz local-om-gta01 http://192.168.0.200:8080/om-gta01
y ipkg en el Neo (update-upgrade) cogerá los archivos subidos a tu repositorio local (asumiendo que la dirección IP es 192.168.0.200, por defecto como en la configuración USB Networking) además de los archivos del servidor de Openmoko.
O mejor todavía, cambia las direcciones IP comentadas arriba por la dirección IP de la configuración de la eth0 de tu dispositivo (en vez de la dirección IP del usb0), y entonces podrás acceder a tu repositorio con tu Neo conectado a cualquier máquina a través de tu red local, o vía bluetooth.
Tambien, si estas compilando tus propios paquetes e imágenes desde la base de datos OE que no forman parte de Openmoko por defecto, puedes instalar dichos paquetes como te comentamos a continuación:
En el host compilado:
bitbake <nombre_del_paquete> bitbake -crebuild package-index
En el Neo:
ipkg update ipkg install <nombre_del_paquete>
El nuevo paquete no debería ser mostrado en el menú de programas hasta que reinicies las X.
[edit] FAQ
[edit] Q: What are differences between 2007.1 and 2007.2?
- UI redesigned for small and recessed screen
- Simplified visuals for performance
- Simplified UI
- More interactions including finger scrolling
- openmoko-today rewritten; works as application launcher and task manager as well
- neod takes care of basic powermanagement, supports AUX and POWER buttons for navigation / additional functionality
- Updated upstream packages
[edit] Q: Where to get snapshot images?
- Unofficial images listed at the bottom of this article
- Official snapshots and ipkg repository:
[edit] Q: Mis fuentes de mrxvt (terminal) son demasiado grandes.
Edita src/feature.h y cambia MIN_XFT_FONT_SIZE a un valor más pequeño:
#define MIN_XFT_FONT_SIZE (2)
y recompila mrxvt & openmoko-devel-image.
Para terminar edita /etc/mrxvt/mrxvt.conf
Mrxvt.xftSize: 4 Mrxvt.xftHint: 1
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |