URL: https://linuxfr.org/news/yocto-ce-n-est-pas-un-systeme-embarque-mais Title: Yocto, ce n’est pas un système embarqué, mais... Authors: AlbertFR Davy Defaud, BAud, Nÿco, palm123, Xavier Teyssier, Nils Ratusznik, Katyucha, olivierweb, bubar🦥 et Benoît Sibaud Date: 2013年07月12日T19:03:05+02:00 License: CC By-SA Tags: embarqué, systtème et opensuse Score: 36 Yocto est un projet collaboratif, soutenu par **la Linux Foundation**, qui fournit des modèles, outils et méthodes pour vous aider à créer des systèmes embarqués. ![Yocto](http://www.yoctoproject.org/docs/current/yocto-project-qs/figures/yocto-project-transp.png) Le projet Yocto est divisé en plusieurs sous‐parties. Nous allons nous intéresser dans cet article au générateur d’_appliances_. Ce dernier effectue en toute simplicité la génération de votre propre système embarqué à l’intérieur d’une machine virtuelle de type _vmdk_. Yocto est issu du projet [Poky](http://www.pokylinux.org/) (un système de contruction _— build —_ qui s’appuie lui‐même sur OpenEmbedded) dont il est le digne successeur. ---- [Le projet Yocto](https://www.yoctoproject.org/) [Téléchargements](https://www.yoctoproject.org/downloads) [La documentation](http://www.yoctoproject.org/docs/1.7/adt-manual/adt-manual.html) [L’interface graphique de création (documentation)](https://www.yoctoproject.org/documentation/hob-manual-17) [Créer son image en ligne de commande grace à BitBake (Documentation)](http://www.yoctoproject.org/docs/1.7/bitbake-user-manual/bitbake-user-manual.html) ---- ## L’architecture de Yocto **« Build Appliance 1.7 » (Dizzy)** est une machine virtuelle pré‐configurée pour que vous puissiez simplement générer votre système embarqué. Cette virtualisation a toutefois un coût en termes de rapidité de compilation lors de la création de votre système. Son avantage principal est la création d’une _appliance_, quel que soit le système d’exploitation sur lequel vous travaillez... Une image étant dans certains cas plus parlante que des mots et, surtout, qu’une longue explication fastidieuse, veuillez vous référer au schéma ci‐dessous : ![Yocto](https://www.yoctoproject.org/docs/current/yocto-project-qs/figures/yocto-environment.png) L’avantage de **BA 1.7** est double, un système pré‐configuré et fonctionnel et la possibilité de l’utiliser sur n’importe quel système d’exploitation... Pour information, les résultats peuvent varier selon la puissance de votre machine hôte et de sa mémoire disponible. Par exemple, sur un _i5_ avec 8 Gio de mémoire vive : - génération d’un « petit » système embarqué (inférieur à 100 Mio) : environ une heure ; - génération d’un système embarqué « complet » (inférieur à 550 Mio) : environ trois heures trente. Si vous souhaitez développer votre système embarqué directement à partir d’une distribution, sans passer par la virtualisation, Yocto assure une compatibilité totale (pour l’instant) avec ces cinq distributions : - Ubuntu ; - Fedora ; - CentOS ; - openSUSE ; - Debian. ##Les avantages de Yocto * les images générées auront l’avantage d’utiliser un noyau toujours récent ; * la possibilité d’utiliser X11, GNOME Mobile, GTK+, Qt, Clutter et SDL (mais pas que...) ; * grâce à QEMU, l’émulation totale pour les architectures x86, x86-64, ARM, MIPS, PPC, ainsi que du matériel spécifique. Enfin, SATO, une interface utilisateur basée sur GNOME Mobile, qui permet aux développeurs de mettre en œuvre leur propre interface pour écrans de petite résolution ou minimalistes. _Au moment de l’édition de cet article le projet Yocto en est à sa version 1.7 nommée Dizzy (mais le projet avance rapidement et ne cesse de s’améliorer)._ ##Besoins spécifiques à Yocto - Git 1.7.5 ou supérieur ; - tar 1.24 ou supérieur ; - Python 2.7.3 ou supérieur (mais malheureusement pas Python 3.x, qui n’est toujours pas pris en charge). ## Processus de création d’une image : ![Construire une image](https://www.yoctoproject.org/docs/current/yocto-project-qs/figures/building-an-image.png) Vous trouverez sur le site de Yocto des images déjà pré‐construites nommées BSP. Pour la version en cours, veuillez faire pointer vos navigateurs vers cette adresse : https://www.yoctoproject.org/downloads/core/dizzy17 ## La création facile grâce à Hob Pour les plus fainéants d’entre nous (mais qui ne l’est pas ?), Yocto a eu la bonne idée de créer Hob, une interface graphique qui réalisera pour vous les tâches qui demandent normalement l’utilisation de la ligne de commande. Un _clickodrome_ de la création d’images ISO multi‐architectures ! Ne vous y trompez pas toutefois, celui‐ci est très complet dans le choix des options qu’il propose. Il vaut mieux prendre son temps et en étudier toutes les possibilités (sous peine de ne pas avoir l’optimisation ou les nécessaires requis). ![Yocto : 1.5-hob-machine-selection](https://www.yoctoproject.org/sites/yoctoproject.org/files/1.5-hob-machine-selection.png) ![Yocto : 1.5-hob-building-image](https://www.yoctoproject.org/sites/yoctoproject.org/files/1.5-hob-building-image.png) ![Yocto : 1.5-qemu-image-details ](https://www.yoctoproject.org/sites/yoctoproject.org/files/1.5-qemu-image-details.png) ##Hob est mort (ou presque), vive Toaster Hob sera remplacé par Toaster sur la prochaine version de Yocto (la 1.8). Celui‐ci abandonne l’interface GTK au profit d’une application Web basée sur Django. Pour l’instant en test (vous pouvez la [télécharger](https://www.yoctoproject.org/blogs/belenbarrospena/2014/configuring-and-starting-builds-toaster), celle‐ci n’est toutefois pas à conseiller en production. Toaster permettra de nombreuses choses, dont le versionnage des images, le choix des sources utilisées pour la construction de ses images, ainsi que sa propre version de BitBake (si nécessaire). ##Mais et pour la MasterClass ? Rassurez‐vous, il est aussi possible de créer vos images en ligne de commande (sans doute de manière plus précise, aux travers de scripts), grâce à BitBake (_cf._ documentation au début de cet article). ##Le mot de la fin... Enfin, pour les plus fainéants d’entre nous qui aimeraient quand même tester le projet sans trop y perdre de temps (la documentation est assez conséquente au vu des possibilités offertes...), un [guide de démarrage rapide est disponible](http://www.yoctoproject.org/docs/1.7/yocto-project-qs/yocto-project-qs.html).

AltStyle によって変換されたページ (->オリジナル) /