volver a Tutorial de Yocto Project
Este tutorial sirve para los kits SYS9402. En Yocto project recomiendan utilizar alguna de estas distribuciones Ubuntu, Fedora, openSUSE y CentOS, ademas también es necesario tener al menos 70gb libres y conexión a Internet para la creación de la imagen.
Usar al bash como interprete de comandos:
sudo dpkg-reconfigure dash
y luego seleccionar la opción NO
Instalo 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
sudo yum groupinstall "development tools"
sudo yum install python m4 make wget curl ftp hg tar bzip2 gzip unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl sed docbook-style-xsl docbook-dtds docbook-utils sed bc eglibc-devel ccache pcre pcre-devel quilt groff linuxdoc-tools patch linuxdoc-tools cmake help2man perl-ExtUtils-MakeMaker tcl-devel gettext chrpath ncurses apr SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils autoconf automake libtool xterm
para bajar tenemos que bajar una version de poky del yocto project
wget http://downloads.yoctoproject.org/releases/yocto/yocto-1.2/poky-denzil-7.0.tar.bz2
tar xvfj poky-denzil-7.0.tar.bz2
wget http://downloads.yoctoproject.org/releases/yocto/yocto-1.2/machines/crownbay/crownbay-denzil-7.0.tar.bz2
Este Board Suport Package, es una Capa (Layer) que le podemos agregar a nuestro proyecto, esta capa tiene el soprte del porcesador Atom E6xx y Z6xx y placa de video integrada Embedded Media and Graphics Driver (EMGD) 1.10
Lo vamos a descomprimir dentro de nuestra carpeta de trabajo por comodidad(no es necesario que este en ese lugar)
tar xvfj crownbay-denzil-7.0.tar.bz2 -C ~/poky-denzil-7.0
cd poky-denzil-7.0/ source oe-init-build-env
Esto Nos reubico en ~/poky-denzil-7.0/build/ Ahora debemos editar dos archivos de configuración, están ubicados en la carpeta ~/poky-denzil-7.0/build/conf/ creada recientemente.
ubicado en ~/poky-denzil-7.0/build/conf/local.conf
BB_NUMBER_THREADS = "N" PARALLEL_MAKE = "-j N"
N=cantidad de nucleos de la pc que va a compilar
MACHINE ?= "crownbay"
Para que cree una imagen para el nuestro equipo y utilizando el BSP
LICENSE_FLAGS_WHITELIST = "license_emgd-driver-bin_1.10"
por las licencias propietarias del BSP
ubicado en ~/poky-denzil-7.0/build/conf/bblayer.conf en este archivo tenemos que agregar dos layers provistos por el BSP, que bajamos anteriormente y tenemos que poner su path completo en la seccion BBLAYER, debe quedar algo asi:
LCONF_VERSION = "4" BBFILES ?= "" BBLAYERS ?= " \ /home/USUARIO/poky-denzil-7.0/meta \ /home/USUARIO/poky-denzil-7.0/meta-yocto \ /home/USUARIO/poky-denzil-7.0/meta-intel \ /home/USUARIO/poky-denzil-7.0/meta-intel/meta-crownbay \ "
cd .. bitbake core-image-sato
bitbake descarga y compila el recipe que le indiquemos, al poner como recipe core-image-[minimal sato micro …], el buildsystem va a resolver las dependencias del recipe bajar compilar, empaquetar y crear la imagen que seleccionamos.
Este Proceso va a tardar mas de 2hs, y va a ocupar 50gb por lo menos, hay que tener en cuenta que tiene que bajar todas las fuentes de los programas que componen el sistema operativo y luego compilarlas..
Nuestras Imágenes se van a generar en: ~/poky-denzil-7.0/build/tmp/deploy/images las que vamos a utilizar son las que terminan con extensión ext3 para Discos Rígidos convencionales y hddimg para memorias SD y pendrives
Vamos a cargar la imagen en el supuesto 2do disco “b” y la 3er partición “3” sdb3, también se recomienda poner una partición swap del tamaño de la memoria ram, para particionar se puede utilizar el cfdisk o alguna opción gráfica como el gparted
Primero Debemos Formatear una partición con formato ext3(también se puede hacer con el gparted)
sudo mkfs.ext3 /dev/sdb3
montamos el disco y la imagen y copiamos su contenido
# mkdir /mnt/target # mkdir /mnt/target-ext3 # mount /dev/sdb3 /mnt/target # mount -o loop sudo mount ~/poky-denzil-7.0/build/tmp/deploy/images/core-image-sato-crownbay.ext3 /mnt/target-ext3 # cp -a /mnt/target-ext3/* /mnt/target
ahora instalamos el gestor de arranque
# grub-install --recheck --root-directory=/mnt/target /dev/sdb
ahora creamos/editamos este archivo /mnt/target/boot/grub/grub.cfg
set default="0" set timeout="30" menuentry 'Yocto SDK' { insmod part_msdos insmod ext2 set root='(hd0,msdos3)' linux /boot/bzImage root=/dev/sda3 }
Desmontamos
# umount /mnt/target # umount /mnt/target-ext3
En este ejemplo vamos a utilizar el disco sdc montar el sistema operativo en un pendrive o memoria SD
# dd if=~/poky-denzil-7.0/build/tmp/deploy/images/core-image-sato.hddimg of=/dev/sdc # sync # eject /dev/sdc
Nota: hay que utilizar sdc NO sdc1