Yocto - Open Embedded

3 jours pour maîtriser Yocto/Open Embedded
Cette formation s'inscrit dans notre programme de formations inter-entreprises mais peut aussi être réalisée en intra-entrepise sur demande.

Objectif

Le but de la formation est de présenter les principaux aspects de la mise en place et de l'utilisation de Linux embarqué et particulièrement de l'environnement Yocto / OpenEmbedded. Les travaux pratiques seront réalisés sur une carte Raspberry Pi B+ (Rpi B+) basée sur un processeur ARM11 (BCM 2835).

Dans le cadre de la formation, nous utiliserons une image de VM (VirtualBox) sous Ubuntu 14.04 LTS (ou 12.04.3 LTS).

Public visé

Cette formation s'adresse à des ingénieurs et chefs de projets techniques qui seront amenés à concevoir une solution industrielle basée sur YOCTO. 

Pré-requis

Les connaissances nécessaires pour la participation au stage sont les suivantes :

  • Connaissance utilisateur Linux ou à défaut UNIX
  • Notions de langage C
  • Manipulation de la ligne de commande (shell)

Le stagiaire utilisera PC (ou un MacBook) pour la formation. La machine devra satisfaire aux pré-requis suivants :

  • Système d'exploitation Windows (XP ou supérieur), Linux ou bien MacBook sous Mac OS X 10.5 ou supérieur.
  • Droits administrateur sur le système Windows ou MacOS X afin d'ajouter l'image VirtualBox et le pilote du câble USB/Série
  • La machine devra disposer AU MINIMUM de 8 Go de mémoire vive et de 40 Go d'espace libre sur le disque.
  • La machine devra disposer d'un lecteur de carte SD

Programme

La formation s'effectue sur 3 journées de 7 h, soit 21 h de cours.

Introduction et rappels sur UNIX/Linux (0,5 j)

  • Historique UNIX, les projets GNU et Linux
  • Licences GPL et LGPL
  • Architecture de Linux : principaux fichiers et répertoires, procédure de démarrage

Introduction à Linux embarqué (0,5 j)

  • Prise en main de la carte RPi
  • Test de la distribution POKY produite avec Yocto (fournie sur la carte SD)
  • Comparaison avec la distribution RASPBIAN
  • Construction d'une distribution embarquée « from scratch ». La distribution sera installée sur la carte SD fournie avec la RPi.
  • Présentation du concept de chaîne croisée, exemple d'une cible ARM
  • Le noyau Linux: introduction, configuration, compilation pour la cible
  • Busybox
  • Installation des bibliothèques
  • Test de la distribution avec NFS-Root et sur carte SD
  • Outils de construction de distribution ou « build systems »
  • Avantages et inconvénients par rapport à une distribution classique
  • Présentation des solutions existantes (Yocto, Buildroot, ...)

Utilisation de Yocto (2 j)

  • Historique, introduction
  • Principaux concepts : BitBake, méta-données, layers, héritage, architecture, ...
  • Création de la distribution core-image-minimal pour Raspberry Pi
  • Études des répertoires produits (deploy et work)
  • Paramétrage et optimisation (fichiers local.conf et bblayers.conf)
  • Écriture de recettes (fichiers .bb, .bbappend)
  • Dépendances statiques et dynamiques
  • Recettes noyau et modules
  • Ajout du support d'une nouvelle cible → APF27
  • Construction d'une chaîne de compilation (meta-toolchain)
  • Serveur de mise à jour de paquets
  • Mise au point d'une application avec les outils GDB/GDBSERVER produits par Yocto
  • Intégration avec ECLIPSE
  • Utilisation de HOB
  • Brève présentation de Buildroot, comparaison avec Yocto et conclusion