Plan du cours

  1. Démarrage
    1. Obtenir Buildroot
    2. Configuration requise pour le système de compilation
    3. Terminologie des compilateurs croisés : build, host, target, sysroot
    4. Choisir la bonne cible
    5. Construire un système embarqué minimal et le démarrer
    6. Contenu de l'image du système de fichiers résultant
    7. Constructions parallèles
    8. Reconstructions complètes et partielles
  2. Objectifs de conception de Buildroot
  3. Choix à faire
    1. Bibliothèque C : glibc ou uClibc ou musl ?
    2. Système d'initialisation : busybox vs sysVinit vs systemd
    3. Gestion des nœuds de périphériques dans /dev
    4. Sélection d'autres paquets
  4. Comprendre les instructions de construction
    1. Syntaxe des fichiers Kconfig (Confog.in)
    2. Caractéristiques de GNU Make utilisées par les fichiers Makefiles de Buidroot
    3. Guide de style pour les fichiers Config.in et *.mk
    4. Comment ajouter un paquetage simple basé sur Autotools
    5. La différence entre les répertoires staging et target
    6. Le besoin de paquets hôtes
    7. Comment exprimer les dépendances et les fonctionnalités optionnelles
    8. Prise en charge des langages autres que le C et des systèmes de construction autres qu'Autotools
    9. Débogage des Makefiles
    10. Reconstruction d'un seul paquet
  5. Analyser les résultats de la compilation
    1. Qu'est-ce qui a pris le plus de temps à la compilation ?
    2. Qu'est-ce qui a pris autant d'espace disque ?
    3. Pourquoi ce paquet a-t-il été construit ?
  6. Organisation des arborescences de paquets externes
  7. Flux de travail pour les développeurs d'applications
    1. Comment utiliser un répertoire source local
    2. Remplacer les instructions de construction
    3. Débogage de votre application
    4. Accélérer les reconstructions
    5. Consulter les journaux de compilation
  8. Traiter les problèmes courants liés à la compilation croisée
    1. Comment écrire votre propre logiciel de manière à ce qu'il soit compatible avec les compilateurs croisés ?
  9. Flux de travail pour les développeurs du noyau
    1. Comment le noyau démarre sur un système embarqué
    2. Modification des options de configuration et ajout de correctifs
    3. Mécanismes de chargement de modules
  10. Réalisation d'un produit fini
    1. Exécution des démons au démarrage
    2. Fournir des fichiers de configuration personnalisés
    3. Mécanismes de mise à jour des microprogrammes disponibles
    4. Mise à niveau vers une nouvelle version Buildroot.
    5. Respecter les licences open-source

Pré requis

  • Le participant doit avoir construit au moins une fois un noyau pour un système Linux de bureau traditionnel (non intégré).
  • Connaître les composants de l'espace utilisateur Linux d'un système de bureau.
  • Il sait comment générer et utiliser des correctifs.
  • Doit être capable d'expliquer ce qu'est GNU Make, Autotools, et quels sont les autres systèmes de compilation existants.
  • Idéalement, il maintient au moins un paquet Linux, soit en tant qu'auteur en amont, soit dans une distribution de bureau Linux traditionnelle.
  • Une expérience préalable en matière de développement embarqué n'est pas requise et ne remplace pas les connaissances sur les logiciels de bureau traditionnels Linux spécifiées ci-dessus.
 7 heures

Nombre de participants


Prix par participant

Cours à venir