2011-10-24 22 views
13

He estado trabajando con Angstrom Linux distribution para BeagleBoard. ¿Alguien puede indicarme un tutorial o una referencia sobre cómo funcionan realmente bitbake y OpenEmbedded? Por ejemplo, cuando invoco bitbake de esta manera:¿Puede alguien indicarme un tutorial bitbake o openembedded?

bitbake virtual/kernel 

¿Qué está pasando realmente? He apurado las recetas de Angstrom y busqué en el sistema de archivos de Angstrom, pero parece que no puedo encontrar referencias virtuales ni de kernel. Me siento un poco desconcertado trabajando con esta cadena de herramientas y haciendo parches de kernel sin realmente entender cómo funciona bitbake.

+1

I encontraron esta [EETimes] (http://eetimes.com/design/embedded/4218490/Open-Embedded--An- alternative-way-to-build-embedded-Linux-distributions? pageNumber = 0) bien. Pero también podría usar más documentación detallada y exhaustiva, además de los documentos oficiales. – Lucas

Respuesta

4

BitBake es una pieza compleja de software que desafortunadamente no tiene la mejor documentación de usuario. Creo que está (vagamente) basado en el sistema de portage en Gentoo, por lo que un poco de familiaridad con ese sistema podría ser de ayuda.

La mejor manera que he encontrado para descubrir lo que sucede cuando intentas crear algo es pasar la opción -g a bitbake, que generará dos archivos, depends.dot y task-depends.dot. El primero es un gráfico de las dependencias de ese paquete, que muestra qué otros paquetes se obtienen cuando ejecuta una tarea específica. Este último muestra más detalles, mostrando tareas en lugar de paquetes. Estas tareas son un poco más bajas que los paquetes mismos; crear un paquete puede hacer que el sistema busque los orígenes, aplique parches a las fuentes, ejecute un script de configuración, realice la compilación, instale los binarios y divida los archivos resultantes en subpaquetes.

Estos archivos pueden mostrar por qué está tirando de una pieza de software que no desea, de modo que puede editar el paquete ofensivo para eliminar su dependencia. Los gráficos generados aquí se pueden visualizar con el paquete graphviz, pero si ejecuta la opción -g para una tarea grande, como una tarea de imagen, el gráfico generado sería demasiado grande para visualizarlo. Todavía puede ser útil grep a través de los archivos .dot.

4

Para futuras referencias a aquellos que se preguntan lo mismo. Si en su sistema de archivos va a overo/org.openembedded.dev/docs/usermanual y luego ejecuta "make", entonces se hará una gran cantidad de documentación sobre bitbake y openembedded para usted como archivos html. Explica mucho de lo que está pasando.

3

OpenEmbedded Manual de Usuario al que se refiere Anthony está disponible en el sitio OE. El capítulo 7 proporciona una buena introducción a la OE y cómo se utiliza bitbake:

http://docs.openembedded.org/usermanual/usermanual.html#chapter_using_bitbake_and_oe

El configuración, espacio de trabajo y Tareas subsecciones proporcionan buenos antecedentes en lo que sucede detrás de las escenas si sigue la OE Introducción página:

http://www.openembedded.org/wiki/Getting_started

-1

Aunque BitBake no tiene un tutorial detallado y fácil de usar, los proyectos OpenEmbedded (más antiguo) y YOCTO (más nuevos) que usan BitBake tienen varios manuales o libros donde se describen las recetas de BitBake y BitBake en detalle. BitBake ahora es co-mantenido por los proyectos Openembedded y YOCTO y cuando usas BitBake normalmente usarás estos dos proyectos para encontrar los componentes fundamentales de Linux como bootloader, busybox, etc. adecuados para tu objetivo.

Referencias: http://docs.openembedded.org/usermanual/usermanual.html http://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html#patching-dev-environment (capítulo 3 está más relacionada con bitbake)

Cuestiones relacionadas