![Page 1: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/1.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Yocto - devtool - AnsibleLa dernière recette de ma grand-mère
Mickaël Tansorier
Présenstation sur le fonctionnement de Yocto et d’outilspratiques.
Smile ECS Mickaël Tansorier 1/75
![Page 2: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/2.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Objectif de la présentation
Présenter Yocto
Démonstration concrète sur Rapsberry Pi
Présentation d’outils utilesdevtoolAnsible
Smile ECS Mickaël Tansorier 2/75
![Page 3: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/3.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Plan
1 Introduction
2 Présentation de Yocto
3 TP Rapsberry Pi
4 devtool
5 Ansible
Smile ECS Mickaël Tansorier 3/75
![Page 4: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/4.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Historique
D’où vient ce nom?
De�nition
Yocto est un pré�xe représentant 10-24 unités (SI)
Smile ECS Mickaël Tansorier 4/75
![Page 5: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/5.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Historique
Qu’est ce qu’est vraiment Yocto?
Yocto est un outil qui répond au besoin de générer une distributionLinux embarqué pour un matériel dédié.
Smile ECS Mickaël Tansorier 5/75
![Page 6: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/6.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Historique
Pourquoi Yocto existe?
Ce projet s’est basé sur l’outil OpenEmbedded pour voir le jour.
En e�et il y avait une volonté de pouvoir moduler les applicationssur di�érents matériels sans avoir à investir dans un nouveaudéveloppement.
Des développeurs et la Fondation Linux se sont unis pour proposerune mécanique qui fasse abstraction du matériel, et ainsi rendreréutilisables les développements déjà e�ectués.
Depuis 2010 ce projet continue sa route!
Smile ECS Mickaël Tansorier 6/75
![Page 7: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/7.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Présentation de Yocto
1 Introduction
2 Présentation de Yocto
3 TP Rapsberry Pi
4 devtool
5 Ansible
Smile ECS Mickaël Tansorier 7/75
![Page 8: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/8.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Présentation de Yocto
Smile ECS Mickaël Tansorier 8/75
![Page 9: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/9.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Pas si vite . . .
Avant tout, un peut de contexte.
Est-ce que Yocto est le seul outils qui existe?
Qu’est-ce qu’il a de plus que les autres?
Comment c’est architecturé?
Smile ECS Mickaël Tansorier 9/75
![Page 10: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/10.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Alternatives à Yocto
D’autres outils permettent de créer des distributions Linux pour lessystèmes embarqués.
Buildroot
Buildroot est un outilqui ressemble à unjeu de make�le,capable de générertous les élémentspour démarrer unsystème sous Linux.
Linux From Scratch
Linux from scratch estun projet qui décritpas à pas lesinstructions pourconstruire un systèmeLinux. Très instructifmais fastidieux !
OpenWrt
OpenWrt est unsystème libre et issude Buildroot. Trèsorienté réseau, il o�rela possibilité de gérerles paquets ipk.
Smile ECS Mickaël Tansorier 10/75
![Page 11: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/11.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Qu’est ce que Yocto a de plus?
Yocto et Buildroot sont deux outils très proches mais avecfonctionnalité qui di�ères en fonction des besoins
Smile ECS Mickaël Tansorier 11/75
![Page 12: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/12.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Qu’est ce que Yocto a de plus?
La di�érenciation de l’architecture matérielle de l’applicationlogicielle de la cible
MACHINE : dé�nit l’architecture matérielle
DISTRO : dé�nit la distribution à générer
Une communauté active
Nouvelle version tous les 6 mois
1 version de dev, 3 stables, le reste en communauté
Channel IRC actif
De la documentation bien fournie
Doc classique
Vidéo
Des outils puissants
devtool
ipk/opkgSmile ECS Mickaël Tansorier 12/75
![Page 13: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/13.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Con�guration et Évolution
Yocto est gourmand en ressources, une con�gurationminimale de 50Go de disque dur, un CPU à 1,6GHz et 8Go deRAM est recommandée.
Plusieurs distributions Linux supportent Yocto : Ubuntu,Fedora, Debian, OpenSuse, CentOS.
Le projet Yocto produit une nouvelle version majeure tous les6 mois environ.
Elle porte généralement un nom associé à un numéro deversion. ex : Morty (2.2), Pyro (2.3), Rocko (2.4), Sumo (2.5), ...
Smile ECS Mickaël Tansorier 13/75
![Page 14: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/14.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le squelette
Work�ow
Smile ECS Mickaël Tansorier 14/75
![Page 15: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/15.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le squelette
Yocto
BITBAKE
LAYER A LAYER B
LAYER C LAYER D
RECETTE A1
RECETTE A2
RECETTE A3
RECETTE B1
RECETTE B2
RECETTE B3
RECETTE C1
RECETTE C2
RECETTE C3
RECETTE D1
RECETTE D2
RECETTE D3
Smile ECS Mickaël Tansorier 15/75
![Page 16: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/16.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le squelette
Quelques layers générique communautaire
meta
meta-openembeddedmeta-oemeta-networkingmeta-pythonmeta-gnome
meta-poky
D’autre plus spéci�que
meta-raspberrypi
meta-intel
meta-xfce
meta-qt5
Smile ECS Mickaël Tansorier 16/75
![Page 17: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/17.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le coeur
Avant de passer aux recettes, quifait le travail dans Yocto?
Smile ECS Mickaël Tansorier 17/75
![Page 18: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/18.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le coeur
bitbake
bitbake c’est quoi?
Un moteur d’exécution de tâches écrite en Python
Fonctionne en ligne de commande
Exécute automatiquement les tâches nécessaires à lafabrication de la cible fournie
Smile ECS Mickaël Tansorier 18/75
![Page 19: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/19.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le coeur
bitbake
LECTURE RECETTE
FETCH
UNPACK
PATCH
CONFIGURE COMPILE
INSTALL
PACKAGE
ROOFS
Smile ECS Mickaël Tansorier 19/75
![Page 20: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/20.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le coeur
recette
À quoi ça ressemble une recette?
Smile ECS Mickaël Tansorier 20/75
![Page 21: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/21.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Se choisir une image
Comment crée son imagespéci�que pour une carte donnée?
Smile ECS Mickaël Tansorier 21/75
![Page 22: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/22.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Se choisir une image
Yocto à la particularité de bien séparer la distribution del’architecture matériel.
Les architectures matériel
ARM
x86
x86-64
PowerPC
MIPS
Les cartes associés
Raspberry Pi (di�érent versions)
Beaglebone
intel-core2-32
Les di�érents BSP sont répertoriés sur le site de yoctoproject : https://www.yoctoproject.org/downloads/bsps
Smile ECS Mickaël Tansorier 22/75
![Page 23: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/23.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Se choisir une image
Le paramétrage de la DISTRO et de la MACHINE se fait en local.
$POKY/build/conf/local.conf
# This sets the default machine to be qemux86 if no other machineis selected:
MACHINE ??= "qemux86"# Default distro:DISTRO ?= "poky"
# Mes parametresMACHINE = "raspberrypi3-64"DISTRO = "distromeetup"
Smile ECS Mickaël Tansorier 23/75
![Page 24: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/24.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
TP Raspberry Pi
1 Introduction
2 Présentation de Yocto
3 TP Rapsberry Pi
4 devtool
5 Ansible
Smile ECS Mickaël Tansorier 24/75
![Page 25: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/25.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
TP Raspberry Pi
Smile ECS Mickaël Tansorier 25/75
![Page 26: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/26.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Installer l’environnement Yocto
Les étapes :
1 Installer l’environnement de développement
2 Construire une distribution générique
3 Créer sa propre distribution
4 Tester son image
Smile ECS Mickaël Tansorier 26/75
![Page 27: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/27.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Installer l’environnement Yocto
On se base sur la dernière version de Yocto stable disponible, c’està dire rocko qui est sortie en octobre 2017. (la prochaine est en avril 2018)
$ git clone git://git.yoctoproject.org/poky -b rocko$ cd poky$ git clone git://git.yoctoproject.org/meta-raspberrypi -b rocko$ git clone git://git.openembedded.org/meta-openembedded -b rocko
Smile ECS Mickaël Tansorier 27/75
![Page 28: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/28.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Construire une distribution générique
Pour construire son image il faut d’abord :
Sourcer l’environnement pour bitbake
$ . oe-init-build-env
Cela nous créer un dossier build dans lequel tout va sepasser.
Paramétré la MACHINE et la DISTROCes variables sont écrites dans le �chier local.conf.
Smile ECS Mickaël Tansorier 28/75
![Page 29: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/29.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Construire une distribution générique
Il reste plus qu’à modi�er $POKY/build/conf/local.conf
# Mes parametresMACHINE = "raspberrypi3-64"
et ajouter le layer manquant dans$POKY/build/conf/bblayers.conf
BBLAYERS += " \${TOPDIR}/../meta-raspberrypi \
"
Les chemains sont en général absolue comme : /home/username/path/to/project/poky/meta-raspberrypi
Et en�n lancer la construction de l’image avec
$ bitbake core-image-minimal
Smile ECS Mickaël Tansorier 29/75
![Page 30: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/30.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Yocto est intelligent
Yocto est là pour vous aider à construire votre image.En e�et si l’on ne rajoute seulement meta-raspberrypi dansbblayers.conf on obtiens l’erreur suivante :
meta-python
ERROR: ParseError at /home/ubuntu/meetup/poky/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb:9: Could not inheritfile classes/pypi.bbclass
Il faut donc rajouter meta-openembedded/meta-python
meta-oe
ERROR: Layer 'meta-python' depends on layer 'openembedded-layer',but this layer is not enabled in your configuration
De plus dans meta-python/conf/layer.conf on a
LAYERDEPENDS_meta-python = "core openembedded-layer"Smile ECS Mickaël Tansorier 30/75
![Page 31: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/31.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Yocto est intelligent
Il faut donc rajouter les layers qui vont bien dans bblayers.conf
BBLAYERS += " \${TOPDIR}/../meta-raspberrypi \${TOPDIR}/../meta-openembedded/meta-python \${TOPDIR}/../meta-openembedded/meta-oe \
"
On peut maintenant construire et tester une image
Smile ECS Mickaël Tansorier 31/75
![Page 32: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/32.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Étape suivante :
Créer sa propre distribution
Smile ECS Mickaël Tansorier 32/75
![Page 33: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/33.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Pour créer sa propre distribution il est préférable de créer sonpropre layer
$ cd $POKY$ mkdir -p meta-meetup/conf
Il faut déclarer la layer avec ./conf/layer.conf
# We have a conf and classes directory, add to BBPATHBBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILESBBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "meetup"BBFILE_PATTERN_meetup = "^${LAYERDIR}/"BBFILE_PRIORITY_meetup = "10"
Smile ECS Mickaël Tansorier 33/75
![Page 34: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/34.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Il faut maintenant l’ajouter dans$POKY/build/conf/bblayers.conf
BBLAYERS += " \${TOPDIR}/../meta-raspberrypi \${TOPDIR}/../meta-openembedded/meta-python \${TOPDIR}/../meta-openembedded/meta-oe \${TOPDIR}/../meta-meetup \
"
Smile ECS Mickaël Tansorier 34/75
![Page 35: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/35.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Créer sa distro avec ./conf/distro/distromeetup.conf
# Distribution base sur pokyrequire conf/distro/poky.conf
DISTRO = "distromeetup"DISTRO_NAME = "Distro meetup example"DISTRO_VERSION = "0.1"
# Ajout d'option pour la distributionDISTRO_FEATURES_append = " systemd"VIRTUAL-RUNTIME_init_manager = "systemd"
# Utilisation seulement du paquetage ipkPACKAGE_CLASSES = "package_ipk"
Si on souhaite utiliser la nouvelle distribution il faut ajouter dans$POKY/build/conf/local.conf
MACHINE = "raspberrypi3-64"DISTRO = "distromeetup"
Smile ECS Mickaël Tansorier 35/75
![Page 36: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/36.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Créer son image et choisir ce quel’on met dedans?
Smile ECS Mickaël Tansorier 36/75
![Page 37: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/37.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Par defaut la distro héritant de poky contiens
DISTRO_FEATURES = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}"
Smile ECS Mickaël Tansorier 37/75
![Page 38: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/38.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Avec dans chaques variables
DISTRO_FEATURES_DEFAULT="acl alsa argp bluetooth ext2 irdalargefile pcmcia usbgadget us bhost wifi xattr nfs zeroconfpci 3g nfc x11"
DISTRO_FEATURES_LIBC="ipv4 ipv6 libc-backtrace libc-big-macroslibc-bsd libc-cxx-tests l ibc-catgets libc-charsetslibc-crypt libc-crypt-ufc libc-db-aliases libc-envzlibc-fcvt libc-fmtmsg libc-fstab libc-ftraverselibc-getlogin libc-idn libc-inet-anl libc-libm libc-localeslibc-locale-code libc-memusage libc-nis libc-nsswitchlibc-rcmd libc-rtld-debug libc-spawn libc-streamslibc-sunrpc libc-utmp libc-utmpx libc-wordexplibc-posix-clang-wchar libc-posix-regexplibc-posix-regexp-glibc libc-posix-wchar-io"
POKY_DEFAULT_DISTRO_FEATURES="largefile opengl ptest multiarchwayland vulkan"
Smile ECS Mickaël Tansorier 38/75
![Page 39: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/39.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Créer son image ./recipes-image/rapsberrypi/myrpi.bb
require recipes-graphics/images/core-image-weston.bbIMAGE_FEATURES += "
ssh-server-openssh \"IMAGE_INSTALL += " \
setkey \"
ssh-server-openssh permet d’avoir accès à la carte en sshsetkey nouvelle recette permettant de passer qwerty en bépo
Smile ECS Mickaël Tansorier 39/75
![Page 40: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/40.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Créer sa propre distribution
Testons notre image !
Smile ECS Mickaël Tansorier 40/75
![Page 41: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/41.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
devtool
1 Introduction
2 Présentation de Yocto
3 TP Rapsberry Pi
4 devtool
5 Ansible
Smile ECS Mickaël Tansorier 41/75
![Page 42: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/42.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
devtool
Exemple de l’utilisation de l’outildevtool
Smile ECS Mickaël Tansorier 42/75
![Page 43: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/43.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Les commandes de base
devtool est un outils très utiles lorsque l’on souhaite créer,développer ou modi�er une recette et ses sources.
Les commandes de base :
devtool add Ajoute un nouveau software à construire
devtool modify Génère un environnement pour modi�er lessources d’un composant
devtool upgrade Met à jour une recette existante
devtool reset Arrête le contexte de développement
Smile ECS Mickaël Tansorier 43/75
![Page 44: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/44.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Les commandes de base
Les sources peuvent provenir de plusieurs endroits di�érent
Smile ECS Mickaël Tansorier 44/75
![Page 45: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/45.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Les commandes de base
De même pour modi�er une recette
Smile ECS Mickaël Tansorier 45/75
![Page 46: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/46.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le comportement de devtool
Dès lors devtool créer un layer spécial (workspace) qui prend lapriorité maximal sur les autres layers.
$ bitbake-layers show-layersNOTE: Starting bitbake server...layer path priority=========================================================================meta /home/[...]/meta 5meta-poky /home/[...]/meta-poky 5meta-yocto-bsp /home/[...]/meta-yocto-bsp 5workspace /home/[...]/build/workspace 99meta-raspberrypi /home/[...]/build/../meta-raspberrypi 9meta-python /home/[...]/build/../meta-openembedded/meta-python 7meta-oe /home/[...]/build/../meta-openembedded/meta-oe 6meta-meetup /home/[...]/build/../meta-meetup 10
Smile ECS Mickaël Tansorier 46/75
![Page 47: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/47.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le comportement de devtool
Dans ce layer on retrouve
les sources mis sous git et patché
un bbappend de la recette
$ cd $POKY/build/workspace/$ tree -L 2.
appendsweston_2.0.0.bbappend
conflayer.conf
READMEsources
weston
Smile ECS Mickaël Tansorier 47/75
![Page 48: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/48.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple pratique
Exemple pratique avec la recetteweston
Smile ECS Mickaël Tansorier 48/75
![Page 49: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/49.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple pratique
Modi�cation avec devtool des sources de weston
$ devtool modify weston$ cd $POKY/build/workspace/sources/weston/$ vim libweston/compositor-wayland.c +1655
Ajout du patch "Fix an uninitialized variable"
@@ -1652,6 +1652,7 @@ input_handle_axis(void *data, structwl_pointer *pointer,
weston_event.axis = axis;weston_event.value = wl_fixed_to_double(value);
+ weston_event.has_discrete = false;
if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL &&input->vert.has_discrete) {
Smile ECS Mickaël Tansorier 49/75
![Page 50: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/50.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple pratique
Les étapes :
1 Faire la modi�cation
2 Tester
3 Commiter
4 Appliquer la modi�cation sous forme de patch
$ devtool update-recipe weston[...]NOTE: Adding new patch 0001-Fix-an-uninitialized-variable.
patchNOTE: Updating recipe weston_2.0.0.bb
5 Ajouter la modi�cation dans son layer
6 Arrêter devtool
$ devtool reset weston
Smile ECS Mickaël Tansorier 50/75
![Page 51: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/51.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Ansible
1 Introduction
2 Présentation de Yocto
3 TP Rapsberry Pi
4 devtool
5 Ansible
Smile ECS Mickaël Tansorier 51/75
![Page 52: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/52.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Utiliser Ansible pour mettre enplace un environnement Yocto
Smile ECS Mickaël Tansorier 52/75
![Page 53: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/53.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
C’est quoi Ansible?
De�nition
Ansible est un logiciel destiné à la con�guration et la gestion deparc informatique.
Il permet de :
déployer des logiciels
gérer des con�gurations
lancer des tâches
Pour :
une machine donnée
plusieurs machines
Smile ECS Mickaël Tansorier 53/75
![Page 54: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/54.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
C’est quoi Ansible?
Un des avantage est qu’il utilise des �chiers de con�guration auformat YAML.
Le format YAML est :
humainement lisibles
plus facile à géré que certain autres formats
Smile ECS Mickaël Tansorier 54/75
![Page 55: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/55.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple simple de syntaxe
Défénition des cibles dans /etc/ansible/hosts
192.0.2.50linuxembedded.exemple.fr
Smile ECS Mickaël Tansorier 55/75
![Page 56: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/56.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple simple de syntaxe
Pour lancer un programme à distance on peux soit spéci�er
tout les hôtes
un hôte particulier
$ ansible all -a "/bin/ping 8.8.8.8 -c1"$ ansible linuxembedded.exemple.fr -a "/bin/ping 8.8.8.8 -c1"
Smile ECS Mickaël Tansorier 56/75
![Page 57: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/57.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple simple de syntaxe
Ansible fournit un ensemble de modules qui permettent de lancerdes actions spéci�ques à distance.
$ ansible all -m ping<address_ip> | SUCCESS => {"changed": false,"ping": "pong"}
Attention au faux amis, ici ping se connecte à un hôte, teste l’utilisabilité de python puis de renvoie le résultat pong en cas
de succès
Smile ECS Mickaël Tansorier 57/75
![Page 58: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/58.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Les actions multiples – le principede playbook
Smile ECS Mickaël Tansorier 58/75
![Page 59: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/59.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Pour e�ectuer plusieurs actions en une seule commande on utiliseun playbook
$ ansible-playbook mon-fichier.yml
Smile ECS Mickaël Tansorier 59/75
![Page 60: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/60.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
La syntaxe YAML
Smile ECS Mickaël Tansorier 60/75
![Page 61: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/61.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
YAML
Le standard YAML a été créé en 2001 et est utilisé dans diversprojets.
Un �chier YAML est formé de :
variables
dictionnaires (clé/valeur)
listes
Smile ECS Mickaël Tansorier 61/75
![Page 62: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/62.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Les variables
Déclaration
vars:base_path: /mon/path
Accès à la varible
{{ base_path }}
Il est conseillé d’entourer la varible de guillemets
app_path: "{{ base_path }}/app"
Passer les variables en ligne de commande avec l’option
--extra-vars "base_path=/mon/path/"
Smile ECS Mickaël Tansorier 62/75
![Page 63: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/63.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Les dictionnaires
Les dictionnaires sont dé�nis sous la forme clé: valeur.
# Information sur une personnemartin:nom: Martin Devlopertravail: Developerniveau: Experimente
Smile ECS Mickaël Tansorier 63/75
![Page 64: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/64.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Les listes
Les listes sont dé�nies avec -␣, un tiret suivi d’un espace.
# Une liste de fruits- Pomme- Orange- Framboise- Mangue
Smile ECS Mickaël Tansorier 64/75
![Page 65: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/65.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Mélanger les syntaxes
D’autres choses plus complexes sont possibles en mélangeant lesdi�érentes syntaxes :
# Liste de plusieurs employes- martin:nom: Martin D'vlopertravail: Developercompetences:- python- perl
- tabitha:nom: Tabitha Bitumentravail: Developercompetences:- lisp- fortran
Smile ECS Mickaël Tansorier 65/75
![Page 66: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/66.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Les modules
Les modules lut par Ansible sont déclaré sous la forme clé:valeur.Voici une liste non exhaustive de types de modules disponibles :
git
patch
get_url
shell
copy
service
apt
yum
lxc_container
make
Smile ECS Mickaël Tansorier 66/75
![Page 67: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/67.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Exemple
Le module git utilise de sous-options
# Exemple d'un telechargement de source git- git:repo: 'https://git.yoctoproject.org/git/poky'version: krogothdest: /home/user/poky
D’autres sous-options :
update: yes
archive: /path/to/archive.zip
...
Smile ECS Mickaël Tansorier 67/75
![Page 68: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/68.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Le playbook
Module particulier : hosts
Ce module est obligatoire.Il fait référence aux hôtes dans /etc/ansible/hosts.
- hosts: allremote_user: root
Smile ECS Mickaël Tansorier 68/75
![Page 69: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/69.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Ansible avec Yocto
Comment utilisé Ansible pourdéployer un environnement dedéveloppement pour Yocto?
Smile ECS Mickaël Tansorier 69/75
![Page 70: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/70.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Ansible avec Yocto
Dé�nir l’hôte
On utilise le hosts local
- hosts: 127.0.0.1connection: local
Smile ECS Mickaël Tansorier 70/75
![Page 71: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/71.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Ansible avec Yocto
Répertoire de travail
Pour centraliser les sources on utilise un variable TOP_SRCDIR.Elle sera passé en paramètre de la commande Ansible.
--extra-vars "TOP_SRCDIR=<path_to_top_srcdir>"
Ce qui donnera :
- name: "Get poky"git:repo: https://git.yoctoproject.org/git/pokyversion: krogothdest: "{{TOP_SRCDIR}}"
Smile ECS Mickaël Tansorier 71/75
![Page 72: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/72.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple complet
- name: "Mon Projet"hosts: 127.0.0.1connection: localtasks:
- name: "Get poky"git:repo: https://git.yoctoproject.org/git/pokyversion: krogothdest: "{{TOP_SRCDIR}}"update: no
- name: "Patch poky krogoth"patch:src: ../0001-qemu-Add-space-to-fix-concatenated-SRC_URI.patchbasedir: "{{TOP_SRCDIR}}"strip: 1
- name: "Copy hooks into poky"copy:src: /path/to/hooks/commit-msgdest: "{{TOP_SRCDIR}}/.git/hooks/commit-msg"mode: 755
- name: "Get toolchain"get_url:url: http://192.168.2.200/src/toolchain/toolchain-M2.1.tgzchecksum: md5:31a70bd7f7b74724af915a88fbe64f3ddest: "{{TOP_SRCDIR}}"
- name: "Untar toolchain"shell: tar xzf {{TOP_SRCDIR}}/toolchain-M2.1.tgz -C {{TOP_SRCDIR}}/sdk/prebuilts/gcc/
Smile ECS Mickaël Tansorier 72/75
![Page 73: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/73.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Exemple complet
Lancer
Pour lancer le projet :
$ ansible-playbook mon-fichier.yml --extra-vars "TOP_SRCDIR=/home/user/mon-projet/"
$ tree pokypoky/.
bitbakebuilddocumentationLICENSEmetameta-pokymeta-selftestmeta-skeletonmeta-yoctometa-yocto-bspoe-init-build-envoe-init-build-env-memresREADMEREADME.hardwaresdkscriptstoolchain-M2.1.tgz
Smile ECS Mickaël Tansorier 73/75
![Page 74: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/74.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Sources
Ce document à été rédigé à partir des sources suivantes :
www.yoctoproject.org
www.linuxembedded.fr
www.ansible.com
http://fabienlahouderepro.blogspot.fr/2017/03/building-weston-image-with-yocto-for.html
Smile ECS Mickaël Tansorier 74/75
![Page 75: Yocto - devtool - Ansible La dernière recette de ma grand-mère · Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions Yocto - devtool - Ansible La dernière](https://reader036.vdocuments.us/reader036/viewer/2022081517/60465f943a15c431fc62d594/html5/thumbnails/75.jpg)
Introduction Présentation de Yocto TP Rapsberry Pi devtool Ansible Questions
Merci de votre attention !Quetions?
Mickaël [email protected]
GNU Free Documentation License, Version 1.3
Smile ECS Mickaël Tansorier 75/75