¡Esta es una revisión vieja del documento!


How To de Yocto Project

Introducción

Yocto Project es un conjunto de herramientas de desarrollo y meta datos (paquetes y scripts), para crear una distribucion Linux a medida para un hardware especifico y altamente configurable.

  • Bitbake

binaris q que compila y crea las imagenes que se crea y como

  • Metadata
    • Configuracion(.conf)

configuraciones de salida de las compilaciones, flags del compilador, organizacion de layer

  • Clases(.bbclass)

Se los puede definir como scripts que se encargan de “hacer todo” genera los autotools el filesystem o como se compila el kernel\ o como generar paquetes tipo rpm deb, las imagenes,- etc

  • Recipes(.bb)

los paquetes que entran en la compilacion, muy parecido a los EBUILDS de Gentoo Linux, tienen informacion de como se compila, de donde se baja el código, etc

Ejemplo

Pasos Para La Creación de una Imagen

Usar al bash como interprete de comandos:

sudo dpkg-reconfigure dash

y luego pongo no, o

sudo dpkg-reconfigure bash  

dependiendo de la distribución de ubuntu/debian Instalo los paquetes necesarios para la compilación:

sudo apt-get install sed wget cvs subversion git-core coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff libtool xterm

para bajar tenemos que bajar una version de poky del yocto project Bajar poky[VERSION].tar.bz2

descomprimir el paquete, y generar el entorno
$ tar xvfJ poky-edison-6.0.1.tar.bz2 
$ cd poky-edison-6.0.1/ 
$ source oe-init-build-env 

Editar el archivo local.conf, setear cantidad de threads de compilación y el procesador del Target

conf/local.conf

se puede agregar algun recipe solo sin layer como algun programa partiicular, al igualq ue en el local .conf

conf/bblayers.conf 
Crear Imagen [minimal sato sato-sdk etc]
$ bitbake core-image-minimal

resuelve dependencias compila y genera los paquetes de salida(deb rpm ipk) y las imagenes del os discos

$ runqemu qemux86 core-image-minimal