Yocto
Yocto est un projet libre géré par la fondation Linux qui a pour but la création d’un ensemble d’outils et de processus permettant la création d'une distribution Linux personnalisé destiné aux systèmes embarqués Il ne s'agit pas d'une distribution Linux embarquée – cela vous en crée une personnalisée.
Le projet Yocto prend en charge plusieurs architectures, notamment x86 (32 et 64 bits), PowerPC, ARM et MIPS et un nombre croissant de cartes par l'intermédiaire de couches de support de cartes .
Principales composantes
Le projet Yocto combine et maintient principalement les trois éléments :
- Un ensemble d'outils intégrés pour faire fonctionner Linux embarqué avec succès, y compris des outils de build automatique et de test automatisés
- Une distribution intégrée de référence (appelée Poky)
- Le système de build OpenEmbedded, co-entretenu avec le projet OpenEmbedded
Getting started
Installation de l'environnement
Installation sur une machine linux
principaux requirements
Les outils fournis par le projet Yocto peuvent être installé sur les distributions Linux les plus populaires :
- Ubuntu
- Fedora
- openSUSE
- CentOS
- Debian
Ci-dessous les principaux requirements :
- Git 1.8.3.1 or greater
- tar 1.27 or greater
- Python 3.4.0 or greater.
Installation des packages nécessaires pour le build
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping libsdl1.2-dev xterm
Telechargement du projet
$ git clone git://git.yoctoproject.org/poky Cloning into 'poky'... remote: Counting objects: 361782, done. remote: Compressing objects: 100% (87100/87100), done. remote: Total 361782 (delta 268619), reused 361439 (delta 268277) Receiving objects: 100% (361782/361782), 131.94 MiB | 6.88 MiB/s, done. Resolving deltas: 100% (268619/268619), done. Checking connectivity... done. $ git checkout tags/yocto-2.4.2 -b poky_2.4.2
Construction de l'image
- Initialisation de l’environnement du build
$ source oe-init-build-env
- Démarrage du build de l'image
$ bitbake core-image-sato
- Émuler l'image dans QEMU
$ runqemu qemux86
Exécution dans docker
Ci-dessous les étapes pour exécuter yocto dans un container docker :
- Création d'un répertoire pour les données Yocto :
mkdir -p /home/myuser/mystuff
- Exécution :
docker run --rm -it -v /home/myuser/mystuff:/workdir crops/poky --workdir=/workdir
Yocto sur RPI3
http://www.jumpnowtek.com/rpi/Raspberry-Pi-Systems-with-Yocto.html
Yocto avec Docker
https://github.com/gmacario/easy-build/blob/master/build-yocto/README.md
Liens
- Introduction
- https://www.yoctoproject.org/downloads/bsps/daisy16/beaglebone
- https://software.intel.com/en-us/blogs/2015/03/04/creating-a-yocto-image-for-the-intel-galileo-board-using-split-layers
- https://github.com/agherzan/meta-raspberrypi
Autres
Yocto versus Buildroot