Linux embarqué

Une formation pour acquérir des bases solides pour la mise en oeuvre d'un système Linux embarqué.

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é. 

Les travaux pratiques seront réalisés sur une carte Raspberry Pi B+ (RPi B+) basée sur un processeur ARM11 (BCM 2835), sur l'émulateur QEMU et sur plate-forme x86 (le PC du stagiaire). La RPi sera livrée avec une carte SD de 4 Go et un câble console USB permettant également d'alimenter la RPi.

Les stagiaires utiliseront leur PC (Windows ou Linux) ou MacBook (Mac OS X 10.5 ou plus) puisque l'environnement de développement est intégré à une image VirtualBox contenant également les supports de cours. L'image de développement est basée sur la distribution Fedora 14.

Le matériel nécessaire aux travaux pratiques sera fourni aux stagiaires (carte RPi et accessoires, ouvrage « Linux embarqué ») et pourra être conservé à l'issue du stage (dans le cas d'une formation Inter-entreprises).  

A l'issue de cette formation, vous serez capable de construire en toute autonomie une distribution Linux embarquée sur une cible de type x86 ou ARM (compilation croisée).

Public visé

Ingénieurs de développement embarqué et chefs de projets techniques 

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
  • Notions de manipulation de la ligne de commande (shell)

Le stagiaire utilisera son PC portable (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 administrateursur 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 2 Gode mémoire vive et de 20 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.

Linux embarqué (3 jours)

  • Quelques rappels sur GNU/Linux
  • Licences GPL/LGPL, GPL avec exception
  • Architecture de Linux : principaux fichiers et répertoires, procédure de démarrage
  • Prise en main de la carte RPi, test de la distribution fournie par le constructeur (Debian/Raspbian)
  • Construction d'une distribution embarquée « from scratch ». La distribution sera installée sur la carte SD fournie avec la RPi.
    • Installation de la chaîne croisée CodeSourcery (Mentor Graphics) pour ARM
    • Le noyau Linux: introduction, configuration, compilation croisée
    • Busybox
    • Installation des bibliothèques
    • Configuration de la carte SD : noyau Linux et root-filesystem puis test de la distribution
    • Test avec NFS-RootOutils de construction de distribution
  • Outils de construction de distribution
    • Présentation des solutions existantes
    • Utilisation de Buildroot et OpenEmbbeded
      • Création d'une distribution
      • Configuration et adaptation
      • Création d'un paquet « Hello World »
    • Conclusion : avantages et inconvénients des deux outils
  • Utilisation d'un Bootloader et mémoire « flash »
    • Test de U-Boot sur RPi et QEMU/ARM
    • Introduction aux mémoires flash NOR et NAND
    • Prise en compte des flash dans U-Boot et dans le noyau Linux (pilote MTD)
    • Systèmes de fichiers pour flash : JFFS2, UBIFS
    • Installation d'une distribution Linux sur mémoire flash NOR sous QEMU/ARM
  • Mise au point
    • Compilation d'une application minimale, installation sur la carte RPi et mise au point avec GDBSERVER
    • Mise au point du noyau ou d'un module noyau avec KGDB
  • IHM embarquée
    • Utilisation de Qt sur plate-forme ARM, intégration dans Buildroot
    • Test d'une application de démonstration sous QEMU/ARM