SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 1
www.ciose.fr
Créer une distributionCréer une distribution
Linux embarquéLinux embarqué
professionnelle avec Yoctoprofessionnelle avec Yocto
ProjectProject
C. CharreyreC. Charreyre
christian.charreyre@ciose.frchristian.charreyre@ciose.fr
http://www.ciose.frhttp://www.ciose.fr
http://fr.slideshare.net/charreyrehttp://fr.slideshare.net/charreyre
@CIOinfoindus@CIOinfoindus
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 2
www.ciose.fr
Licence
Attribution-Noncommercial-Share Alike 4.0 International
You are free:
to Share - copy and redistribute the material in any medium or format
to Adapt - remix, transform, and build upon the material
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following conditions:
Attribution — You must give appropriate credit, provide a link to the license, and indicate if
changes were made. You may do so in any reasonable manner, but not in any way that
suggests the licensor endorses you or your use.
NonCommercial — You may not use the material for commercial purposes.
ShareAlike — If you remix, transform, or build upon the material, you must distribute your
contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or
technological measures that legally restrict others from doing
anything the license permits.
License text : http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 3
www.ciose.fr
CIO en quelques mots
Société d'ingénierie en systèmes embarqués :
électronique et logiciel
Au service de nos clients depuis 1990
15 spécialistes en embarqué et temps réel
Expert en Linux embarqué depuis 2000,
OpenEmbedded et Yocto Project depuis 2008
CA annuel : 1 500 000 €
Siège à Saint-Etienne
Agence à Marseille
Agréé CIR
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 4
www.ciose.fr
Présentation C. Charreyre
Associé au sein de CIO Systèmes Embarqués
Responsable des technologies Linux embarqué
Formateur Linux embarqué et outils Yocto
Project
30 ans dans l'embarqué et le monde Unix / Linux
Fervent promoteur du logiciel libre
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 5
www.ciose.fr
« It's not an embedded Linux
distribution – it creates a
custom one for you »
Page d'accueil du site yoctoproject.org
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 6
www.ciose.fr
Contexte
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 7
www.ciose.fr
Les tendances en Linux
embarqué
10 ans en arrière, Linux = alternative aux
RTOS propriétaires → peu de besoins
fonctionnels :
Kernel et glibc
Fabrication à la main d'un Root File System
autour de Busybox
Application métier développée en interne
Peu de problèmes de complexité et de
cohérence
Nécessité d'une bonne connaissance de Linux
pour créer sa distribution embarquée
Linux = un OS parmi d'autres, pas de
développement massif
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 8
www.ciose.fr
Les tendances en Linux
embarqué
Aujourd'hui: forte pression pour développer
des smart devices dans des Time To Market
réduits
Moins (plus?) de limitations de mémoire vive ou
de masse
Processeurs beaucoup plus puissants
IHM riches avec audio, vidéo, graphisme évolué
(impact iOS et Androïd)
Besoins importants de connectivité : Wifi,
Bluetooth, 3G
Time to Market de plus en plus court
Recentrage sur la valeur ajoutée
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 9
www.ciose.fr
Pourquoi un outil de build ?
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 10
www.ciose.fr
Le challenge Linux embarqué
Logique économique :
Réduire le Time To Market et optimiser les coûts
Utiliser largement des logiciels issus du riche
écosystème Linux
Les assembler comme des briques modulaires, tels
quels ou adaptés
Le challenge = Gérer la richesse et la
complexité :
Un monde riche et fragmenté aux multiples sources
Qu'il faut assembler en un ensemble cohérent : le
device à réaliser
Mais chaque projet contributeur vit sa vie à son
propre rythme : cycle de vie propre, sans gestion
centralisée
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 11
www.ciose.fr
Pourquoi un outil de build ?
Pour éviter cela
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 12
www.ciose.fr
Pourquoi un outil de build ?
Pour gérer cela
Réseau de dépendances entre composants logiciels au cycle de vie
autonome
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 13
www.ciose.fr
Pourquoi un outil de build ?
Dépendances de nautilus (file manager) : 62 librairies
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 14
www.ciose.fr
Pourquoi un outil de build ?
Rôles de l'outil :
Sélectionner les bons composants dans les bonnes
versions (compatibilité)
Automatiser les générations (composants + image
finale déployable)
Prendre en charge les architectures variées (cross
compilation)
Au final, création d'une distribution :
Dédiée et non généraliste (plus ou moins selon type
de device)
Adaptée à l'architecture embarquée retenue
Fiable malgré sa richesse
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 15
www.ciose.fr
Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 16
www.ciose.fr
Workflow du Yocto Project
Crédit – Yocto Project
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 17
www.ciose.fr
Workflow du Yocto Project
Les entrées :
Code source des projets « upstream » :
Fetchés depuis le site projet ou depuis un miroir Yocto Project
Formats variés : archive, révision dans un SCM ...
Protocoles variés : http(s), ftp, svn, git …
Code source local (projet interne) :
Archive locale ou accès à un serveur SCM interne
Fichiers de configuration :
Caractéristiques de la machine cible (kernel, bootloader, format
image, tuning compilateur ...)
Caractéristiques de la distribution (paquets inclus, versions, choix
entre alternatives, choix libc …)
Configuration du build : machine, distribution, layers actives, format
paquet ...
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 18
www.ciose.fr
Workflow du Yocto Project
Le cœur :
Un moteur d'exécution de tâches écrit en Python :
bitbake
Exécute automatiquement les tâches nécessaires à la
fabrication de la cible fournie : composant ou image
complète
Fonctionne en ligne de commande
Exemple : bitbake core­image­minimal crée
l'image en une commande unique
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 19
www.ciose.fr
Workflow du Yocto Project
Les sorties :
Les paquets binaires des composants utilisés
(formats ipk, deb ou rpm)
Possibilité d'embarquer un gestionnaire de paquets sur la cible
Permet de travailler en différentiel pour mise à jour /
enrichissement
L'image finale déployable sur la cible (formats variés :
tar.bz2, ext3, ubi etc....)
Un SDK exportable pour les développeurs
d'application
Un récapitulatif des paquets embarqués et de leur
licences
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 20
www.ciose.fr
Le moteur bitbake
Un moteur écrit en Python : bitbake
Un jeu de recettes pour fabriquer les paquets
logiciels : fichiers texte
Des dépendances entre paquets, décrites dans
les recettes
Pour chaque recette des tâches élémentaires
Calcul de l'arbre des dépendances pour
fabriquer les paquets dans le bon ordre
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 21
www.ciose.fr
Principales tâches
élémentaires
Tâche Rôle
fetch Téléchargement depuis dépôt upstream
unpack Extraction dans répertoire travail
patch Application de patches issus des recettes
configure Configuration
compile Compilation croisée
install Installation dans tampon local au composant
populate_lic Installation fichier(s) licence dans répertoire
deploy
package Fabrication des descriptifs des packages
populate_sysroot Déploiement des paquets dans le sysroot
package_write_xxx Création du paquet au format xxx
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 22
www.ciose.fr
Anatomie d'une recette
Une recette pour un ou plusieurs paquets
(fractionnement pour optimisation de l'espace)
Des variables d'environnement
Des tâches élémentaires implicites ou explicites
(pour modifier/remplacer l'implicite) : langage
shell et python
Jeu de recettes géré par la communauté Yocto
Project → solution au problème de complexité :
Cohérence entre versions de composants
dépendants
Mise à jour des recettes fonction des évolutions
upstream
Application de patches locaux quand cela est
nécessaire
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 23
www.ciose.fr
Anatomie d'une recette
(log4c)
SUMMARY = "a library of C for flexible logging to files, 
syslog and other destinations"
SECTION = "libs"
HOMEPAGE = "http://log4c.sourceforge.net/"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = 
"file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
PR = "r1"
SRC_URI = "http://prdownloads.sourceforge.net/$
{PN}/log4c­${PV}.tar.gz 
file://oe.patch 
file://add­pkgconfig­data.patch 
"
inherit autotools pkgconfig binconfig
SRC_URI[md5sum] = "ca5412b7515d8901714ab7892323adb6"
SRC_URI[sha256sum] = 
"6ed40a41307c26d052667e1661437394ab00e29cd24ff2640b502ba8
ab1e442b"
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 24
www.ciose.fr
Anatomie d'une recette
(ed)
DESCRIPTION = "a line­oriented text editor"
HOMEPAGE = "http://www.gnu.org/software/ed/"
BUGTRACKER = ""
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = 
"file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 
                    
file://ed.h;endline=20;md5=c708cda1b2e8d723d458690b7db03878 
                    
file://main.c;endline=24;md5=1bd039d59e04ee5f82adcc970144a2c3"
SECTION = "base"
PR = "r0"
# LSB states that ed should be in /bin/
bindir = "${base_bindir}"
SRC_URI = "${GNU_MIRROR}/ed/ed­${PV}.tar.gz 
           file://ed­1.2­build.patch"
SRC_URI[md5sum] = "9a78593decccaa889523aa4bb555ed4b"
SRC_URI[sha256sum] = 
"211c67b0c4aae277d34b1c5f842db1952e468e5905142868e4718ac838f08a65"
do_configure() {
${S}/configure
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
}
Tâches explicites
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 25
www.ciose.fr
Anatomie d'une recette
(image)
include recipes­sato/images/core­image­sato.bb
IMAGE_FEATURES += "debug­tweaks"
DISTRO_FEATURES += "pulseaudio"
WEB = "web­webkit"
# Add extra image features
EXTRA_IMAGE_FEATURES += " 
    ${SOC_EXTRA_IMAGE_FEATURES} 
    nfs­server 
    tools­debug 
    tools­profile 
    qt4­pkgs 
"
IMAGE_INSTALL += " 
    ${SOC_IMAGE_INSTALL} 
    cpufrequtils 
    nano 
    packagegroup­fsl­gstreamer 
    packagegroup­fsl­tools­testapps 
    packagegroup­fsl­tools­benchmark 
    packagegroup­qt­in­use­demos 
    qt4­plugin­phonon­backend­gstreamer 
    qt4­demos 
    qt4­examples 
    fsl­gui­extrafiles 
    "
export IMAGE_BASENAME = "fsl­image­gui"
Sélection de features
Sélection de composants
logiciels
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 26
www.ciose.fr
Bon à savoir
Outil historiquement en mode console :
Mais apparition d'outils graphiques : Hob, Toaster
Plugin Eclipse : ADT
Prévoir beaucoup de disque et de temps CPU :
Génération de la toolchain + libc par l'outil (temps
CPU)
Conservation des étapes intermédiaires – optionnel
mais utile – très gourmand en disque
Connaissance de Python : non obligatoire mais
un + pour comprendre / développer des recettes
Connaissance des standards tels que autotools,
pkgconfig etc... conseillée :
Plus du fait des logiciels gérés que de l'outil lui même
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 27
www.ciose.fr
Conclusion
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 28
www.ciose.fr
Conclusion
Yocto Project fournit un framework complet pour
développer des distributions embarquées riches et
fiables :
Jeu de recettes large et forte communauté d'utilisateurs
Génération automatique d'image pré-paramétrées, prêtes à
l'installation (pas de personnalisation par admin système)
Génération d'un SDK exportable aux développeurs
Le framework et la communauté prennent en compte la
complexité et la fragmentation de l'écosystème Linux
Utilisé par des fondeurs majeurs (Intel, AMD, Freescale,
Texas Instruments, Broadcom, Huawei …)
Fondation de distribution Linux commerciales (Wind River
Linux, Enea Linux, Mentor Graphics Embedded Linux ...)
2 release par an, sur une base prévisible (Printemps et
Automne)
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 29
www.ciose.fr
Conclusion
Yocto Project offre un outil de packaging, la qualité
globale dépend également de la qualité des projets
upstream
Mais des corrections locales
Un effort de sélection de projets « sérieux »
Ne pas négliger qu'il n'y a pas d'outil miracle :
Temps de prise en main initial
Courbe d'apprentissage pour passer par les stades :
J'utilise
Je comprends
Je modifie / je crée
La documentation s'est professionnalisée (sur le site
Web Yocto Project et distribuée avec l'outil).
Possibilité de se faire accompagner par un
spécialiste : réduction du Time To Market
Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 30
www.ciose.fr
Merci de votre attention
Questions ?

Contenu connexe

Tendances

Virtualisation
VirtualisationVirtualisation
VirtualisationTsubichi
 
raspberry pi
 raspberry pi raspberry pi
raspberry piTECOS
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHubThibault Vlacich
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementLilia Sfaxi
 
Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur Mohamed Lahby
 
Rapport de Stage
Rapport de StageRapport de Stage
Rapport de Stagegphilippon
 
Mise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZMise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZGauthier Hubert
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to GitlabJulien Pivotto
 
Splash screen for Embedded Linux 101: How to customize your boot sequence
 Splash screen for Embedded Linux 101: How to customize your boot sequence Splash screen for Embedded Linux 101: How to customize your boot sequence
Splash screen for Embedded Linux 101: How to customize your boot sequencePierre-jean Texier
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Khalid EDAIG
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...ICS
 
Virus informatiques et antivirus
Virus informatiques et antivirusVirus informatiques et antivirus
Virus informatiques et antivirusBrahimDjiddiHabre
 
강좌 06 부트로더
강좌 06 부트로더강좌 06 부트로더
강좌 06 부트로더chcbaram
 
강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍chcbaram
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationTunisie collège
 

Tendances (20)

Virtualisation
VirtualisationVirtualisation
Virtualisation
 
raspberry pi
 raspberry pi raspberry pi
raspberry pi
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
pfe book 2023 2024.pdf
pfe book 2023 2024.pdfpfe book 2023 2024.pdf
pfe book 2023 2024.pdf
 
eServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API ManagementeServices-Chp5: Microservices et API Management
eServices-Chp5: Microservices et API Management
 
Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur
 
Rapport du stage
Rapport du stageRapport du stage
Rapport du stage
 
Rapport de Stage
Rapport de StageRapport de Stage
Rapport de Stage
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
Mise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à ZMise en place d'une infrastructure VDI de A à Z
Mise en place d'une infrastructure VDI de A à Z
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to Gitlab
 
Splash screen for Embedded Linux 101: How to customize your boot sequence
 Splash screen for Embedded Linux 101: How to customize your boot sequence Splash screen for Embedded Linux 101: How to customize your boot sequence
Splash screen for Embedded Linux 101: How to customize your boot sequence
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
Virus informatiques et antivirus
Virus informatiques et antivirusVirus informatiques et antivirus
Virus informatiques et antivirus
 
강좌 06 부트로더
강좌 06 부트로더강좌 06 부트로더
강좌 06 부트로더
 
Présentation E-SEHATI , STartup Week end FES
Présentation E-SEHATI , STartup Week end FES Présentation E-SEHATI , STartup Week end FES
Présentation E-SEHATI , STartup Week end FES
 
강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍강좌 05 통신용 PC 프로그래밍
강좌 05 통신용 PC 프로그래밍
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitation
 

Similaire à Créer une distribution Linux embarqué professionnelle avec Yocto Project

Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Christian Charreyre
 
Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectChristian Charreyre
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmChristian Charreyre
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeChristian Charreyre
 
Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015Christian Charreyre
 
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Christian Charreyre
 
Open Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetOpen Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetChristian Charreyre
 
Distro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedDistro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedAnne Nicolas
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...jihbed
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec OdooHassan WAHSISS
 
Copsykey diapo
Copsykey diapoCopsykey diapo
Copsykey diapojfcastell
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Xavier Lacot
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Silicon Comté
 
Firefox OS dans le web - Journée du libre 2015 Lille
Firefox OS dans le web - Journée du libre 2015  LilleFirefox OS dans le web - Journée du libre 2015  Lille
Firefox OS dans le web - Journée du libre 2015 LilleChristophe Villeneuve
 

Similaire à Créer une distribution Linux embarqué professionnelle avec Yocto Project (20)

Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015
 
Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto Project
 
Créer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou AngströmCréer sa distribution Linux embarqué avec Yocto ou Angström
Créer sa distribution Linux embarqué avec Yocto ou Angström
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
 
Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015Présentation Yocto - SophiaConf 2015
Présentation Yocto - SophiaConf 2015
 
Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...Yocto une solution robuste pour construire des applications à fort contenu ap...
Yocto une solution robuste pour construire des applications à fort contenu ap...
 
OS libres pour l'IoT - Zephyr
OS libres pour l'IoT - ZephyrOS libres pour l'IoT - Zephyr
OS libres pour l'IoT - Zephyr
 
Open Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projetOpen Embedded un framework libre pour assurer la cohérence de son projet
Open Embedded un framework libre pour assurer la cohérence de son projet
 
Distro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbeddedDistro Recipes 2013 : Yocto / OpenEmbedded
Distro Recipes 2013 : Yocto / OpenEmbedded
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
 
Yocto oe
Yocto oeYocto oe
Yocto oe
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec Odoo
 
Prototypage IoT avec logiciel/matériel libre
Prototypage IoT avec logiciel/matériel librePrototypage IoT avec logiciel/matériel libre
Prototypage IoT avec logiciel/matériel libre
 
Copsykey diapo
Copsykey diapoCopsykey diapo
Copsykey diapo
 
Autotools
AutotoolsAutotools
Autotools
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
 
Firefox OS dans le web - Journée du libre 2015 Lille
Firefox OS dans le web - Journée du libre 2015  LilleFirefox OS dans le web - Journée du libre 2015  Lille
Firefox OS dans le web - Journée du libre 2015 Lille
 

Plus de Christian Charreyre

Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'EmbarquéMeetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'EmbarquéChristian Charreyre
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureChristian Charreyre
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Christian Charreyre
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICChristian Charreyre
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceChristian Charreyre
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsChristian Charreyre
 
Logiciels libres en milieu industriel
Logiciels libres en milieu industrielLogiciels libres en milieu industriel
Logiciels libres en milieu industrielChristian Charreyre
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsChristian Charreyre
 

Plus de Christian Charreyre (11)

Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'EmbarquéMeetup Cybersécurité RGPD Conséquences dans l'Embarqué
Meetup Cybersécurité RGPD Conséquences dans l'Embarqué
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
 
Le Device Tree Linux
Le Device Tree LinuxLe Device Tree Linux
Le Device Tree Linux
 
Meetup Systemd vs sysvinit
Meetup Systemd vs sysvinitMeetup Systemd vs sysvinit
Meetup Systemd vs sysvinit
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015
 
Licences libres et embarqué
Licences libres et embarquéLicences libres et embarqué
Licences libres et embarqué
 
Conference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTICConference Informatique Embarquée Synergie-NTIC
Conference Informatique Embarquée Synergie-NTIC
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projects
 
Logiciels libres en milieu industriel
Logiciels libres en milieu industrielLogiciels libres en milieu industriel
Logiciels libres en milieu industriel
 
ERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projectsERTS 2008 - Using Linux for industrial projects
ERTS 2008 - Using Linux for industrial projects
 

Créer une distribution Linux embarqué professionnelle avec Yocto Project

  • 1. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 1 www.ciose.fr Créer une distributionCréer une distribution Linux embarquéLinux embarqué professionnelle avec Yoctoprofessionnelle avec Yocto ProjectProject C. CharreyreC. Charreyre christian.charreyre@ciose.frchristian.charreyre@ciose.fr http://www.ciose.frhttp://www.ciose.fr http://fr.slideshare.net/charreyrehttp://fr.slideshare.net/charreyre @CIOinfoindus@CIOinfoindus
  • 2. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 2 www.ciose.fr Licence Attribution-Noncommercial-Share Alike 4.0 International You are free: to Share - copy and redistribute the material in any medium or format to Adapt - remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms. Under the following conditions: Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. NonCommercial — You may not use the material for commercial purposes. ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. License text : http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
  • 3. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 3 www.ciose.fr CIO en quelques mots Société d'ingénierie en systèmes embarqués : électronique et logiciel Au service de nos clients depuis 1990 15 spécialistes en embarqué et temps réel Expert en Linux embarqué depuis 2000, OpenEmbedded et Yocto Project depuis 2008 CA annuel : 1 500 000 € Siège à Saint-Etienne Agence à Marseille Agréé CIR
  • 4. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 4 www.ciose.fr Présentation C. Charreyre Associé au sein de CIO Systèmes Embarqués Responsable des technologies Linux embarqué Formateur Linux embarqué et outils Yocto Project 30 ans dans l'embarqué et le monde Unix / Linux Fervent promoteur du logiciel libre
  • 5. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 5 www.ciose.fr « It's not an embedded Linux distribution – it creates a custom one for you » Page d'accueil du site yoctoproject.org
  • 6. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 6 www.ciose.fr Contexte
  • 7. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 7 www.ciose.fr Les tendances en Linux embarqué 10 ans en arrière, Linux = alternative aux RTOS propriétaires → peu de besoins fonctionnels : Kernel et glibc Fabrication à la main d'un Root File System autour de Busybox Application métier développée en interne Peu de problèmes de complexité et de cohérence Nécessité d'une bonne connaissance de Linux pour créer sa distribution embarquée Linux = un OS parmi d'autres, pas de développement massif
  • 8. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 8 www.ciose.fr Les tendances en Linux embarqué Aujourd'hui: forte pression pour développer des smart devices dans des Time To Market réduits Moins (plus?) de limitations de mémoire vive ou de masse Processeurs beaucoup plus puissants IHM riches avec audio, vidéo, graphisme évolué (impact iOS et Androïd) Besoins importants de connectivité : Wifi, Bluetooth, 3G Time to Market de plus en plus court Recentrage sur la valeur ajoutée
  • 9. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 9 www.ciose.fr Pourquoi un outil de build ?
  • 10. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 10 www.ciose.fr Le challenge Linux embarqué Logique économique : Réduire le Time To Market et optimiser les coûts Utiliser largement des logiciels issus du riche écosystème Linux Les assembler comme des briques modulaires, tels quels ou adaptés Le challenge = Gérer la richesse et la complexité : Un monde riche et fragmenté aux multiples sources Qu'il faut assembler en un ensemble cohérent : le device à réaliser Mais chaque projet contributeur vit sa vie à son propre rythme : cycle de vie propre, sans gestion centralisée
  • 11. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 11 www.ciose.fr Pourquoi un outil de build ? Pour éviter cela
  • 12. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 12 www.ciose.fr Pourquoi un outil de build ? Pour gérer cela Réseau de dépendances entre composants logiciels au cycle de vie autonome
  • 13. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 13 www.ciose.fr Pourquoi un outil de build ? Dépendances de nautilus (file manager) : 62 librairies
  • 14. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 14 www.ciose.fr Pourquoi un outil de build ? Rôles de l'outil : Sélectionner les bons composants dans les bonnes versions (compatibilité) Automatiser les générations (composants + image finale déployable) Prendre en charge les architectures variées (cross compilation) Au final, création d'une distribution : Dédiée et non généraliste (plus ou moins selon type de device) Adaptée à l'architecture embarquée retenue Fiable malgré sa richesse
  • 15. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 15 www.ciose.fr Yocto Project
  • 16. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 16 www.ciose.fr Workflow du Yocto Project Crédit – Yocto Project
  • 17. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 17 www.ciose.fr Workflow du Yocto Project Les entrées : Code source des projets « upstream » : Fetchés depuis le site projet ou depuis un miroir Yocto Project Formats variés : archive, révision dans un SCM ... Protocoles variés : http(s), ftp, svn, git … Code source local (projet interne) : Archive locale ou accès à un serveur SCM interne Fichiers de configuration : Caractéristiques de la machine cible (kernel, bootloader, format image, tuning compilateur ...) Caractéristiques de la distribution (paquets inclus, versions, choix entre alternatives, choix libc …) Configuration du build : machine, distribution, layers actives, format paquet ...
  • 18. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 18 www.ciose.fr Workflow du Yocto Project Le cœur : Un moteur d'exécution de tâches écrit en Python : bitbake Exécute automatiquement les tâches nécessaires à la fabrication de la cible fournie : composant ou image complète Fonctionne en ligne de commande Exemple : bitbake core­image­minimal crée l'image en une commande unique
  • 19. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 19 www.ciose.fr Workflow du Yocto Project Les sorties : Les paquets binaires des composants utilisés (formats ipk, deb ou rpm) Possibilité d'embarquer un gestionnaire de paquets sur la cible Permet de travailler en différentiel pour mise à jour / enrichissement L'image finale déployable sur la cible (formats variés : tar.bz2, ext3, ubi etc....) Un SDK exportable pour les développeurs d'application Un récapitulatif des paquets embarqués et de leur licences
  • 20. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 20 www.ciose.fr Le moteur bitbake Un moteur écrit en Python : bitbake Un jeu de recettes pour fabriquer les paquets logiciels : fichiers texte Des dépendances entre paquets, décrites dans les recettes Pour chaque recette des tâches élémentaires Calcul de l'arbre des dépendances pour fabriquer les paquets dans le bon ordre
  • 21. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 21 www.ciose.fr Principales tâches élémentaires Tâche Rôle fetch Téléchargement depuis dépôt upstream unpack Extraction dans répertoire travail patch Application de patches issus des recettes configure Configuration compile Compilation croisée install Installation dans tampon local au composant populate_lic Installation fichier(s) licence dans répertoire deploy package Fabrication des descriptifs des packages populate_sysroot Déploiement des paquets dans le sysroot package_write_xxx Création du paquet au format xxx
  • 22. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 22 www.ciose.fr Anatomie d'une recette Une recette pour un ou plusieurs paquets (fractionnement pour optimisation de l'espace) Des variables d'environnement Des tâches élémentaires implicites ou explicites (pour modifier/remplacer l'implicite) : langage shell et python Jeu de recettes géré par la communauté Yocto Project → solution au problème de complexité : Cohérence entre versions de composants dépendants Mise à jour des recettes fonction des évolutions upstream Application de patches locaux quand cela est nécessaire
  • 23. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 23 www.ciose.fr Anatomie d'une recette (log4c) SUMMARY = "a library of C for flexible logging to files,  syslog and other destinations" SECTION = "libs" HOMEPAGE = "http://log4c.sourceforge.net/" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM =  "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" PR = "r1" SRC_URI = "http://prdownloads.sourceforge.net/$ {PN}/log4c­${PV}.tar.gz  file://oe.patch  file://add­pkgconfig­data.patch  " inherit autotools pkgconfig binconfig SRC_URI[md5sum] = "ca5412b7515d8901714ab7892323adb6" SRC_URI[sha256sum] =  "6ed40a41307c26d052667e1661437394ab00e29cd24ff2640b502ba8 ab1e442b"
  • 24. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 24 www.ciose.fr Anatomie d'une recette (ed) DESCRIPTION = "a line­oriented text editor" HOMEPAGE = "http://www.gnu.org/software/ed/" BUGTRACKER = "" LICENSE = "GPLv3+" LIC_FILES_CHKSUM =  "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949                       file://ed.h;endline=20;md5=c708cda1b2e8d723d458690b7db03878                       file://main.c;endline=24;md5=1bd039d59e04ee5f82adcc970144a2c3" SECTION = "base" PR = "r0" # LSB states that ed should be in /bin/ bindir = "${base_bindir}" SRC_URI = "${GNU_MIRROR}/ed/ed­${PV}.tar.gz             file://ed­1.2­build.patch" SRC_URI[md5sum] = "9a78593decccaa889523aa4bb555ed4b" SRC_URI[sha256sum] =  "211c67b0c4aae277d34b1c5f842db1952e468e5905142868e4718ac838f08a65" do_configure() { ${S}/configure } do_install() { oe_runmake 'DESTDIR=${D}' install } Tâches explicites
  • 25. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 25 www.ciose.fr Anatomie d'une recette (image) include recipes­sato/images/core­image­sato.bb IMAGE_FEATURES += "debug­tweaks" DISTRO_FEATURES += "pulseaudio" WEB = "web­webkit" # Add extra image features EXTRA_IMAGE_FEATURES += "      ${SOC_EXTRA_IMAGE_FEATURES}      nfs­server      tools­debug      tools­profile      qt4­pkgs  " IMAGE_INSTALL += "      ${SOC_IMAGE_INSTALL}      cpufrequtils      nano      packagegroup­fsl­gstreamer      packagegroup­fsl­tools­testapps      packagegroup­fsl­tools­benchmark      packagegroup­qt­in­use­demos      qt4­plugin­phonon­backend­gstreamer      qt4­demos      qt4­examples      fsl­gui­extrafiles      " export IMAGE_BASENAME = "fsl­image­gui" Sélection de features Sélection de composants logiciels
  • 26. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 26 www.ciose.fr Bon à savoir Outil historiquement en mode console : Mais apparition d'outils graphiques : Hob, Toaster Plugin Eclipse : ADT Prévoir beaucoup de disque et de temps CPU : Génération de la toolchain + libc par l'outil (temps CPU) Conservation des étapes intermédiaires – optionnel mais utile – très gourmand en disque Connaissance de Python : non obligatoire mais un + pour comprendre / développer des recettes Connaissance des standards tels que autotools, pkgconfig etc... conseillée : Plus du fait des logiciels gérés que de l'outil lui même
  • 27. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 27 www.ciose.fr Conclusion
  • 28. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 28 www.ciose.fr Conclusion Yocto Project fournit un framework complet pour développer des distributions embarquées riches et fiables : Jeu de recettes large et forte communauté d'utilisateurs Génération automatique d'image pré-paramétrées, prêtes à l'installation (pas de personnalisation par admin système) Génération d'un SDK exportable aux développeurs Le framework et la communauté prennent en compte la complexité et la fragmentation de l'écosystème Linux Utilisé par des fondeurs majeurs (Intel, AMD, Freescale, Texas Instruments, Broadcom, Huawei …) Fondation de distribution Linux commerciales (Wind River Linux, Enea Linux, Mentor Graphics Embedded Linux ...) 2 release par an, sur une base prévisible (Printemps et Automne)
  • 29. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 29 www.ciose.fr Conclusion Yocto Project offre un outil de packaging, la qualité globale dépend également de la qualité des projets upstream Mais des corrections locales Un effort de sélection de projets « sérieux » Ne pas négliger qu'il n'y a pas d'outil miracle : Temps de prise en main initial Courbe d'apprentissage pour passer par les stades : J'utilise Je comprends Je modifie / je crée La documentation s'est professionnalisée (sur le site Web Yocto Project et distribuée avec l'outil). Possibilité de se faire accompagner par un spécialiste : réduction du Time To Market
  • 30. Créer une distribution Linux embarqué professionnelle avec Yocto Project - 19 Novembre 2015 30 www.ciose.fr Merci de votre attention Questions ?