avoir une compréhension générale d'un système Linux embaqué, notamment de comment il boot, et de quels composants logiciels il est constitué
avoir une première expérience d'utilisation de l'outils Yocto permettant de construire un système Linux embarqué sur mesure
Partie1 : Présentation de Linux Embarqué
Introduction Linux Embarqué
historique
intérêt d'un système Linux embarqué
architectures matérielles supportées par Linux
Architecture d'un système Linux
le bootloader
le noyau Linux
le rootfs
Environnement de développement
Configuration de la machine hôte
cross-compilation toolchain
Produire un système Linux embarqué
Build manuel
Utilisation de système tout prêt
Utilisation d'un outil (system baker) pour produire un système Linux sur mesure
Partie 2: Yocto
Présentation général de Yocto et du lexique employé (Poky, layers, recipes, tasks, bitbake)
Le bases
Création de l'environnement de build
Configuration du build
Build d'un système Linux
Usage avancé
Manipulation des variables
Choisir une alternative entre plusieurs packages proposant la même fonctionnalité
Choisir les packages installés dans le système Linux produit
Layers
Recommandation sur les layers
Création d'un nouveau layer
Ecriture de recipes
Organisation d'une recipe
Appliquer un patch
Example de recipe
Debugguer une recipe
BSP layers
Fichier de configuration du hardware
Images
Introduction aux images Linux
Type d'image Linux
Présentation des packages groups
Création de SDK
Utilisation de Devtool
Mise en place de l'environnement de développement
Lab1: manipulation des droits sur les fichiers Linux
objectif comprendre quand utiliser la commande sudo
Lab2: manipulation d'un périphérique block
objectif comprendre ce que représente les périphériques block dans le devfs et ce qu'ils contiennent
Lab3: première compilation Yocto
objectif: commencer à utiliser Yocto pour produire une image Linux qui nous servira de base dans la suite des TPs
Lab4: modification de la configuration
objectif: manipuler les fichiers de configuration de Yocto et booter via NFS pour plus de praticité lors du développement
Lab5: générer une image graphique
objectif: avoir une image graphique pour la suite de labs
Lab6: création d'un Yocto Layer
objectif: avoir son propre layer Yocto pour pouvoir apporter nos modifications à Yocto
Lab7: création de recipes
objectif: comprendre comment ajouter des packages propriétaires dans l'image Linux
Lab8: création d'un fichier de configuration pour une cible embarqué
objectif: comprendre comment est construit le fichier de configuration de la machine
Lab9: création d'une image Linux
objectif: contrôler plus précisément ce qui est installé dans le système Linux
Lab10: utilisation d'un SDK produit par Yocto
objectif: comprendre comment produire un SDK et comment l'utiliser
Lab11: utilisation de devtool
objectif: présenter l'outils devtool qui peut aider à l'écriture de recipe
Une connaissance basique de Linux (commande les plus courante) et de la programmation en C.
Les slides et labs ont été a l'origine réalisés par la société Boolin:
On a ensuite modifié les slides et labs en interne en utilisant les documentions: