¡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

Ejemplos

Crear y Compilar y Correr una imagen para Quemu

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

Crear imagen Para los Kits embebidos SYS9402

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

Crear imagen Para BeagleBoard XM

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