Prérequis
Avoir de bonnes connaissances sur C, Shell et CMakeFile. Avoir un Pentium 7 (32 Go de RAM) et 300 Go de disque, ainsi qu'un kit Raspberry PI (avec clavier et écran supplémentaire) et un câble Ethernet.
Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Générer une plateforme Linux avec Yocto.
Programme de votre formation
-
#
M2I START AVANT VOTRE FORMATION
Contextualisation du projet de formation et prise en compte des besoins de chacun
- Positionnement initial de l’apprenant par rapport aux objectifs
- Définition des priorités et des objectifs personnels de l’apprenant
- Vidéos de mise en situation
- Accès au Chat interactif myM2i pour interagir avec les membres de son groupe
-
#
M2I LIVE VOTRE FORMATION ANIMÉE PAR NOTRE EXPERT ¹
Programme
Jour 1
Présentation
Découverte
- Principe
- Histoire de Yocto
- Ressources
- Les avantages de Yocto
- Les inconvénients de Yocto
- Buildroot et Yocto
- Equipes de travail et choix de la plateforme
- Recommandations
- Dépendances nécessaires sur la machine de développement
- Les composants de Yocto
- Choix d'un répertoire de travail
- Téléchargement de Poky
- Guide de migration des versions
- Autres variantes de commandes de chargement
- Contenu du répertoire Poky
Fabrication d'une image
- Initialisation de l'environnement de travail
- Organisation des répertoires build et Poky
- Attention après initialisation
- Plusieurs répertoires build
- Lancement du build
- Processus parallèle bitbake
- Les différents états des tâches Yocto
- Test de la machine virtuelle
- Vérification Busybox
- Bitbake
- Les recettes
- Le répertoire tmp
- Le fichier local.conf
- Curiosité dans l'affectation des variables
Les variables et layers
Les variables
- Les différentes passes de bitbake
- Comportement de bitbake
- Expansion des variables
- Exemples variables
- OVERRIDES avant et après la version Honister
- Autres variables
- Les drapeaux de variables
- La variable IMAGE_INSTALL
- La variable PACKAGE_EXCLUDE
Les layers
- Utilisation d'une variable en Shell
- Installation de la couche RaspberryPI
- Récapitulatif des répertoires
- Le fichier bblayers.conf
- Séquence des commandes
- Exploration du meta RaspberryPI
- Modification de la variable MACHINE dans local.conf
- Flashage de la carte
- Remarque sur cette première installation
- Eléments de vocabulaire
Jour 2
Sélection de paquets
- Paquets virtuels
- Versions de paquets
- Les features
- Modification du hostname du device
- Gestion des utilisateurs
- La directive INHERIT
- Utilisation de extrausers
- Les recettes de Poky
- Utilisation d'un package Poky
- Recherche des recettes installées avec devtool
- Les différentes sources de meta
- Ajouter une recette extérieure
- Lister les recettes appartenant à un meta
- Remarque sur l'organisation du répertoire de travail
- Création d'une image
- Customisation de my-image
- Remarques
Fabriquer des recettes
Utilisation de recettes
- Ajouter une recette
- Les types de recette
- Ajouter le fichier bb
- Renommer la recette bb
- Les fonctions de logging
- Les variables des recettes
- Les variables S et B
- La variable D
- L'entête d'une recette
- Les protocoles sources distants
- Ajout des licences
- Fichiers licences issus des sources
- Dépendances des recettes
- Exploration des dépendances
- Les tâches d'une recette
- Installation de fichiers
- La variable FILES
- Exécution de la recette
- Prise en compte de la recette
Jour 3
Code dans les recettes
- Intégrer du code Shell dans Bitbake
- Intégrer du code Python
- Insérer du code lors de la lecture des fichiers de configuration
- Processus de création de la recette
- Fabrication d'une recette avec utilisation de variables
Héritage d'une classe
- Les classes de Poky
- Les directives "include require inherit"
- Mauvaise fabrication d'une recette utilisateurs
- Problème avec EXTRA_USERS_PARAMS
- Utilisation de la classe useradd
- Recette d'ajout d'un utilisateur
Création d'une recette CMake
- Fabrication d'une recette CMake
- La variable SRC_URI
- Le contenu du fichier hello.tgz
- Construction de la recette
- Syntaxe Bitbake
- Points divers sur les recettes
Création d'autres recettes
- Ajout d'un patch dans une recette
- Extension de recette pour un fichier patch
- Utilisation de recipetool
- Fabrication d'une recette avec devtool
Jour 4
Configurations
Configuration
- Configuration de busybox
- Configuration du noyau
- La chaîne compilation SDK et la chaîne de compilation eSDK
- La chaîne de compilation croisée
- Plusieurs chaînes de compilations croisées
- Installation du meta-Qt5
- Ajout de la chaîne croisée dans QtCreator
- Mise en place du device
Les tâches
- Gestion des tâches
- Communiquer avec l'environnement de la tâche de build
- Drapeaux sur les variables
- Evénements
- Extension de classe
- Dépendances
- Dépendance récurcive et inter-dépendance
Rappel des commandes Yocto
- Commandes bitbake
- Commandes qemu
- Commandes bitbake-layers
- Commandes devtool
Exemples de travaux pratiques (à titre indicatif)
- Fabrication d'une image qemu
- Prise en main de la machine ARM en qemu
- Localiser le répertoire générant busybox avant son installation
- Récupérer et installer l'image sur une carte SD pour en vérifier le bon fonctionnement sur la Raspberry
- Choisir une recette extérieure et l'installer sur qemu et/ou sur votre carte
- Ajouter un utilisateur avec mot de passe sur le device, sur les opérateurs
- Ajouter un programme C dans votre device
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
-
#
M2I BOOST APRÈS VOTRE FORMATION
Réactivation et consolidation des acquis en situation de travail
- 30 jours d’accompagnement personnalisé sur myM2i inclus ²
- Ressources Boosters (Abonnement au M2i’Mag Soft Skills, formations offertes, invitations aux conférences d’actualité…)
- ¹ Les actions et les outils présentés dans ce programme le sont à titre indicatif et peuvent faire l’objet d'adaptation selon les niveaux, prérequis et besoins des apprenants. Les compétences clés de ce programme sont traitées à raison d'une compétence par demi-journée de formation.
- ² Sur myM2i, pendant 30 jours post-fin de formation, les apprenants disposent d’une messagerie sécurisée pour échanger, dans la limite de 4 sollicitations, avec leur formateur.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2I, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2I s'engage pour faciliter l'accessibilité de ses formations. Toutes nos formations sont accessibles aux personnes en situation de handicap : les détails de l'accueil des personnes sont consultables sur la page Politique Handicap.
Modalités et délais d’accès à la formation
Les formations M2I sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.


