volver a Tutorial de Yocto Project
Crear Imagen para Atom E6xx
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.
Configuración Previa
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:
- Ubuntu
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
- Fedora
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
Bajar poky[VERSION].tar.bz2
wget http://downloads.yoctoproject.org/releases/yocto/yocto-1.2/poky-denzil-7.0.tar.bz2
Descomprimir el paquete
tar xvfj poky-denzil-7.0.tar.bz2
Bajar BSP
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
Descomprimir el BSP
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
Generar el entorno
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.
Verificar que este la siguiente configuracion
local.conf
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
bblayer.conf
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 \ "
Compilar/crear la imagen
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..
Algunas Imagenes interesantes
- core-image-minimal: Por ahora la imagen mas chica, sin entorno gráfico sin soporte completo del hardware especifico
- core-image-base: Imagen Sin entorno gráfico que soprta completamente el hardware del target.
- core-image-core: Imagen con un entorno gráfico elemental
- core-image-sato: Imagen con entono gráfico basado en Busybox con theme Sato, con reproductor, administrador de archivos, etc recomendable para sistemas touch
Cargamos La Imagen Creada
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
Disco Rigido
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
Pendrive o SD
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
Datos Útiles
volver a Tutorial de Yocto Project
— Francisco Espain 2012/10/01 20:29