Réservez les formations disponibles partout en France !

location-dot
location-dot
location-dot
À partir de
location-dot
image OF
  1. Accueil
  2. Air, Défense, Espace
  3. Aéronautique
  4. Systèmes embarqués
  5. Yocto - Développer des systèmes embarqués sous Linux
Yocto - Développer des systèmes embarqués sous Linux

Yocto - Développer des systèmes embarqués sous Linux

Qualiopi
En centre
Non éligible CPF
Objectifs
Programme

A l'issue de cette formation, vous serez capable de :

  • Générer une plateforme Linux avec Yocto.

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
Public visé

Administrateurs et/ou développeurs Linux.

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.

logo ouformer
Réalisation :Definima
Utilisation des cookies

Nous utilisons des cookies pour vous fournir l'ensemble de nos services, notamment la recherche et les alertes. En acceptant, vous consentez à notre utilisation de ces cookies.

Tout refuser
Tout accepter