Grupo 2 Programación Distribuida - ASTROINGENIERIA/ASTROUFRO GitHub Wiki
Integrantes
- Celso Martin
- Patricio Mercado
Imagen Yocto para el Raspberry Pi
ASTROUFRO - Grupo de AstroIngeniería de la Universidad de La Frontera
Crear una distribución linux para Raspberry Pi 3
Estacion de trabajo:
- Ubuntu 14.04 (LTS) x64
- 90GB espacio libre en disco duro (particion /home)
- 8GB ram
Instalar controlador de versiones GIT
- $sudo apt-get update
- $sudo apt-get install git
Instalar packetes requeridos para el correcto funcionamiento
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath
Instalación de Poky
Poky es la distribución de referencia del Proyecto Yocto. Contiene algunos de los componentes básicos (llamados sistema de compilación) de OpenEmbedded y un conjunto de metadatos para crear distribuciones integradas para una serie de objetivos. Es independiente de la plataforma y realiza una compilación cruzada utilizando la herramienta BitBake (un programador de tareas), el núcleo integrado y un conjunto predeterminado de metadatos.
$ cd
$ git clone git://git.yoctoproject.org/poky
Instalacion metadata Raspberry pi & Zeroc ice
cd poky
$ git clone git://git.yoctoproject.org/meta-raspberrypi
$ git clone -b rocko git://git.yoctoproject.org/poky.git
Para ver en que maquinas es funcional, se puede utilizar el siguiente comando
$ ls ls meta-*/conf/machine/*.conf
Las que nos interesan son las siguientes
- raspberrypi0.conf
- raspberrypi0-wifi.conf
- raspberrypi2.conf
- raspberrypi3-64.conf
- raspberrypi3.conf
- raspberrypi-cm3.conf
- raspberrypi-cm.conf
- raspberrypi.conf
Iniciar entorno
source oe-init-build-env
Este es un script para la configuración / inicialización del entorno de compilación. No está destinado a ser ejecutado, sino que debe ser de origen. Su trabajo, entre otros, es inicializar un cierto número de variables de entorno y ubicarse en el directorio de compilación especificado en el argumento.
En la carpeta conf se crearon dos archivos:
- local.conf: contiene parametros para configurar Bitbake.
- bblayers.conf: lista de capas que bitbake implementará.
Configuración de local.conf & bblayers.conf
Configuramos local.conf
~/poky/build$ vim conf/local.conf
- Escribimos el nombre de la maquina que vamos a usar en este caso raspberrypi3
MACHINE ?= "raspberrypi3"
- Para agregar Zeroc ice a la imagen se necesita insertar lo siguiente:
IMAGE_INSTALL_append = " zeroc-ice zeroc-ice-python"
TOOLCHAIN_TARGET_TASK_append = " zeroc-ice-dev zeroc-ice-staticdev"
PREFERRED_VERSION_zeroc-ice = "3.7.1"
Configuramos bblayers.conf
~/poky/build$ vim conf/bblayers.conf
- Los layers deben verse de la siguiemte forma
/home/{USER}/poky/meta \
/home/{USER}/poky/meta-yocto \
/home/{USER}/poky/meta-yocto-bsp \
/home/{USER}/poky/meta-raspberrypi \
/home/{USER}/poky/meta-zeroc \
Construyendo imagen Poky
Para ver las imagenes que se pueden crear, se puede ejecutar los siguientes comandos
$ cd
$ cd poky
$ ls meta*/recipes*/images/*.bb
Para nuetro interes usaremos 'rpi-basic-image'
~/poky/build$ bitbake rpi-basic-image
Mostraria las siguientes configuraciones
Build Configuration:
BB_VERSION = "1.39.1"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "raspberrypi3"
DISTRO = "poky"
DISTRO_VERSION = "2.5+snapshot-20181019"
TUNE_FEATURES = "arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp = "master:289f792d2299a252e614d374617f0199be525806"
meta-zeroc = "rocko:2c9d787cb5b4d7b417c1c6cf24bcca3f9af25a2d"
meta-raspberrypi = "master:30200f75d60a6bd041410ac2cc885c1fadfac132"
meta-oe
meta-multimedia = "master:463fd3dff33457ba8fc519a2716f3270e054d533" \
Quemando imagen en micro SD
Para ver el correcto nombre del dispositivo se puede ejecutar el siguiente comando
$ lsblk
En este caso la tarjeta SD tiene el nombre de mmcblk0 , para grabar la imagen usaremos el siguiente comando
~/poky/build$ sudo dd if=tmp/deploy/images/raspberrypi3/rpi-basic-image-raspberrypi.rpi-sdimg of=/dev/mmcblk0 bs=1M
Ahora se inserta la tarjeta con la imagen quemada en la raspberry pi