[bootlin/training-materials updates] master: French agenda for the online embedded Linux course (96a5cbed)
Michael Opdenacker
michael.opdenacker at bootlin.com
Mon May 11 16:53:17 CEST 2020
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/96a5cbed3ab098019ab3be3434c7bae311f85c31
>---------------------------------------------------------------
commit 96a5cbed3ab098019ab3be3434c7bae311f85c31
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Mon May 11 16:53:17 2020 +0200
French agenda for the online embedded Linux course
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
96a5cbed3ab098019ab3be3434c7bae311f85c31
agenda/embedded-linux-online-fr-agenda.tex | 480 +++++++++++++++++++++++++++++
1 file changed, 480 insertions(+)
diff --git a/agenda/embedded-linux-online-fr-agenda.tex b/agenda/embedded-linux-online-fr-agenda.tex
new file mode 100644
index 00000000..bd7331c8
--- /dev/null
+++ b/agenda/embedded-linux-online-fr-agenda.tex
@@ -0,0 +1,480 @@
+\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article}
+
+\usepackage{agenda}
+\usepackage{colortbl}
+\usepackage{xcolor}
+\usepackage{calc}
+
+\hypersetup{pdftitle={Développement de systèmes Linux embarqué},
+ pdfauthor={Bootlin}}
+
+\renewcommand{\arraystretch}{2.0}
+
+\begin{document}
+
+\thispagestyle{fancy}
+
+\setlength{\arrayrulewidth}{0.8pt}
+
+\begin{center}
+\LARGE
+Formation au développement de systèmes Linux embarqué\\
+\large
+Séminaire de formation en ligne
+\end{center}
+\vspace{1cm}
+
+\small
+\newcolumntype{g}{>{\columncolor{fedarkblue}}m{4cm}}
+\newcolumntype{h}{>{\columncolor{felightblue}}X}
+
+\arrayrulecolor{lightgray} {
+ \setlist[1]{itemsep=-5pt}
+ \begin{tabularx}{\textwidth}{|g|h|}
+ {\bf Titre} & {\bf Formation au développement de systèmes Linux embarqué} \\
+ \hline
+
+ {\bf Aperçu} &
+Chaînes de compilation croisée, bibliothèques standard C pour l'embarqué. \par
+Chargeurs de démarrage (bootloaders). \par
+Configuration et compilation du noyau Linux. \par
+Applications et bibliothèques légères pour systèmes embarqués \par
+Systèmes de fichiers pour stockage de type bloc \par
+Gestion de stockage de type flash et systèmes de fichiers spécialisés \par
+Outils de développement de systèmes embarqués Linux. \par
+Développement et mise au point d'applications sur le système embarqué. \par
+Contraintes temps-réel et Linux embarqué. \par
+Démonstrations pratiques avec une carte ARM. \\
+ \hline
+ {\bf Supports} &
+ Vérifiez que le contenu de la formation correspond à vos besoins :
+ \newline \url{https://bootlin.com/doc/training/embedded-linux}. \\
+ \hline
+
+ {\bf Durée} & {\bf Huit} demi-journées - 32 h (4 h par demi-journée)
+ \newline 80\% de présentations et 20\% de démonstrations. \\
+ \hline
+
+ {\bf Formateur} & Un des ingénieurs mentionnés sur :
+ \newline \url{https://bootlin.com/training/trainers/}\\
+ \hline
+
+ {\bf Langue} & Présentations : Français
+ \newline Supports : Anglais\\
+ \hline
+
+ {\bf Public ciblé} & Ingénieurs développant des systèmes embarqués
+ reposant sur Linux et des composants open-source.\\
+ \hline
+
+ {\bf Pré-requis} &
+
+ {\bf Connaissance et pratique des commandes UNIX ou
+ GNU/Linux}
+ \newline Les personnes n'ayant pas ces connaissances peuvent
+ s'autoformer, par exemple en utilisant nos supports de formation
+ disponibles en ligne :
+ \newline \url{https://bootlin.com/blog/command-line/} \vspace{1em}
+ \\
+ \hline
+ \end{tabularx}
+
+ \begin{tabularx}{\textwidth}{|g|h|}
+ {\bf Équipement nécessaire} &
+ \begin{itemize}
+ \item Ordinateur avec le système d'exploitation de votre choix, équipé du
+ navigateur Google Chrome ou Chromium pour la conférence vidéo.
+ \item Une webcam et un micro (de préférence un casque avec micro)
+ \item Une connexion à Internet à haut débit
+ \end{itemize}\\
+ \hline
+
+ {\bf Supports} & Version électronique des présentations, des instructions
+ et des données pour les démos.\\
+ \hline
+
+\end{tabularx}}
+\normalsize
+
+\feagendatwocolumn
+{Matériel}
+{
+ La plateforme matérielle utilisée pendant les démonstrations de
+ cette formation est la carte {SAMA5D3 Xplained de Microchip}, dont voici les
+ caractéristiques :
+
+ \begin{itemize}
+ \item Un processeur ARM Cortex A5 de Microchip (SAMA5D36)
+ \item Alimenté par USB
+ \item 256 Mo de RAM DDR2
+ \item 256 Mo de flash NAND
+ \item 2 ports Ethernet (Gigabit + 100 Mbit)
+ \item 2 ports USB 2.0 hôte
+ \item 1 port USB device
+ \item 1 port MMC/SD
+ \item Port série 3.3 V (comme Beaglebone Black)
+ \item Connecteur compatible Arduino R3
+ \item Divers : JTAG, boutons, LEDs
+ \end{itemize}
+}
+{}
+{
+ \begin{center}
+ \includegraphics[height=5cm]{../slides/xplained-board/xplained-board.png}
+ \end{center}
+}
+
+\section{1\textsuperscript{ère} demi-journée}
+
+\feagendaonecolumn
+{Cours – Introduction à Linux embarqué}
+{
+ \begin{itemize}
+ \item Avantages de Linux par rapport aux autres OS pour l'embarqué.
+ Raisons pour choisir Linux.
+ \item Aperçu général : comprendre l'architecture d'un système Linux
+ embarqué. Aperçu des principaux éléments dans un système typique.
+ \end{itemize}
+ {\em Le reste de la formation étudie chacun de ces éléments en détail.}
+}
+\\
+\feagendatwocolumn
+{Cours - Environnement de développement}
+{
+ \begin{itemize}
+ \item Système d'exploitation et outils sur la station de travail
+ pour le développement de systèmes Linux embarqué.
+ \item Astuces pour l'utilisation de Linux sur station de travail.
+ \end{itemize}
+}
+{Cours - Chaîne de compilation croisée et bibliothèque standard C}
+{
+ \begin{itemize}
+ \item Les composants d'une chaîne de compilation croisée.
+ \item Choisir une bibliothèque standard C.
+ \item Le contenu de la bibliothèque standard C.
+ \item Les chaînes de compilation croisée prêtes à l'emploi.
+ \item La construction automatisée d'une chaîne de compilation croisée.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo – Chaîne de compilation croisée}
+{
+ \begin{itemize}
+ \item Configuration de Crosstool-NG
+ \item Exécution pour construire une chaîne de compilation croisée
+ personnalisée reposant sur la uClibc.
+ \end{itemize}
+}
+
+\section{2\textsuperscript{ème} demi-journée}
+
+
+\feagendaonecolumn
+{Cours – Chargeurs de démarrage}
+{
+ \begin{itemize}
+ \item Chargeurs de démarrage existants
+ \item Fonctionnalités des chargeurs de démarrage
+ \item Installation d'un chargeur de démarrage
+ \item Focus sur U-Boot
+ \end{itemize}
+}
+\\
+
+\feagendatwocolumn
+{Démo - U-Boot}
+{
+ {\em Utilisation de la carte SAMA5D3 Xplained de Microchip}
+ \begin{itemize}
+ \item Mise en place de la communication série avec la carte.
+ \item Configuration, compilation et installation du chargeur de
+ démarrage de premier niveau et d'U-Boot sur la carte Xplained.
+ \item Familiarisation avec l'environnement et les commandes d'U-Boot.
+ \item Mise en place de la communication TFTP avec la carte.
+ Utilisation des commandes TFTP d'U-Boot.
+ \end{itemize}
+}
+{Cours – Noyau Linux}
+{
+ \begin{itemize}
+ \item Rôle et architecture générale du noyau Linux.
+ \item Fonctionnalités disponibles dans le noyau Linux, en insistant
+ sur les fonctionnalités utiles dans les systèmes embarqués.
+ \item L'interface entre le noyau et les applications.
+ \item Récupérer les sources.
+ \item Comprendre les versions du noyau.
+ \item Utilisation de la commande patch.
+ \end{itemize}
+}
+\\
+
+\feagendaonecolumn
+{Démo - Sources du noyau}
+{
+ \begin{itemize}
+ \item Téléchargement des sources
+ \item Application de patches
+ \end{itemize}
+}
+
+\section{3\textsuperscript{ème} demi-journée}
+
+feagendaonecolumn
+{Cours – Configuration et compilation du noyau Linux}
+{
+ \begin{itemize}
+ \item Configuration du noyau.
+ \item Utilisation de configurations prêtes à l'emploi pour des cartes embarquées.
+ \item Compilation du noyau.
+ \item Fichiers générés à l'issue de la compilation.
+ \item Utilisation des modules noyau.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo - Compilation croisée du noyau et démarrage sur la carte}
+{
+ {\em Utilisation de la carte Xplained de Microchip}
+ \begin{itemize}
+ \item Configuration du noyau Linux et compilation croisée pour la carte ARM.
+ \item Mise en place d'un serveur TFTP sur la station de développement.
+ \item Téléchargement du noyau en utilisant le client TFTP d'U-Boot.
+ \item Démarrage du noyau depuis la RAM.
+ \item Copie du noyau vers la flash et démarrage depuis la flash.
+ \item Stockage des paramètres de démarrage en flash et automatisation
+ du démarrage du noyau.
+ \end{itemize}
+}
+
+\section{4\textsuperscript{ème} demi-journée}
+
+\feagendatwocolumn
+{Cours – Système de fichier racine}
+{
+ \begin{itemize}
+ \item Les systèmes de fichiers dans Linux.
+ \item Rôle et organisation du système de fichiers racine.
+ \item Localisation de ce système de fichiers: sur espace
+ de stockage, en mémoire, sur le réseau.
+ \item Les fichiers device, les systèmes de fichiers virtuels.
+ \item Contenu type d'un système de fichiers.
+ \end{itemize}
+}
+{Cours - BusyBox}
+{
+ \begin{itemize}
+ \item Présentation de BusyBox. Intérêt pour les systèmes embarqués.
+ \item CConfiguration, compilation et installation.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo – Construction d'un minuscule système Linux embarqué avec BusyBox}
+{
+ {\em Utilisation de la carte Xplained de Microchip}
+ \begin{itemize}
+ \item Construction à partir de zéro d'un système de fichiers racine
+ contenant un système Linux embarqué
+ \item Mise en place d'un noyau permettant de démarrer le système
+ depuis un répertoire mis à disposition par la station de
+ développement au travers de NFS.
+ \item Passage de paramètres au noyau pour le démarrage avec NFS.
+ \item Création complète du système de fichiers à partir de zéro :
+ installation de BusyBox, création des fichiers spéciaux
+ pour les périphériques.
+ \item Initialisation du système en utilisant le programme init de BusyBox.
+ \item Utilisation du serveur HTTP de BusyBox.
+ \item Contrôle de la cible à partir d'un navigateur Web sur la
+ station de développement.
+ \item Mise en place des bibliothèques partagées sur la cible et
+ développement d'une application d'exemple.
+ \end{itemize}
+}
+
+\section{5\textsuperscript{ème} demi-journée}
+
+\feagendatwocolumn
+{Cours - Système de fichiers bloc}
+{
+ \begin{itemize}
+ \item Systèmes de fichiers pour périphériques bloc.
+ \item Utilité des systèmes de fichiers journalisés.
+ \item Systèmes de fichiers en lecture seule.
+ \item Systèmes de fichiers en RAM.
+ \item Création de chacun de ces systèmes de fichiers.
+ \item Suggestions pour les systèmes embarqués.
+ \end{itemize}
+}
+{Démo - Système de fichiers bloc}
+{
+ {\em En utilisant la carte ARM Xplained}
+ \begin{itemize}
+ \item Créer des partitions sur le stockage bloc.
+ \item Démarrage d'un système avec un assemblage de plusieurs systèmes
+ de fichiers : SquashFS pour les applications, ext3 pour la
+ configuration et les données utilisateur et tmpfs pour les
+ fichiers temporaires.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Cours - Système de fichiers pour flash}
+{
+ \begin{itemize}
+ \item Le sous-système Memory Technology Devices du noyau Linux.
+ \item Les systèmes de fichiers pour le stockage MTD : JFFS2, YAFFS2, UBIFS.
+ \item Options de configuration du noyau.
+ \item Partitions MTD.
+ \item Etude en détail de la meilleure solution du moment, UBI et UBIFS:
+ préparation, flashage et mise en oeuvre d'images d'espace UBI.
+
+ \end{itemize}
+}
+
+\section{6\textsuperscript{ème} demi-journée}
+
+\feagendaonecolumn
+{Démo – Systèmes de fichiers pour flash}
+{
+ {\em Sur la carte ARM Xplained}
+ \begin{itemize}
+ \item Définition de partitions dans U-Boot pour
+ votre stockage flash interne, au lieu d'utiliser
+ des offsets bruts.
+ \item Partage de ces définitions avec Linux.
+ \item Creation d'une image UBI sur votre station de travail,
+ flashage depuis U-Boot et démarrage de Linux sur un
+ des volumes UBI via le système de fichiers UBIFS.
+ \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours – Réutilisation de composants open-source existants pour le système
+embarqué}
+{
+ \begin{itemize}
+ \item Motivations pour la réutilisation de composants existants.
+ \item Trouver et choisir des composants libres et open-source existants.
+ \item Les licences de Logiciels Libres et leurs conditions.
+ \item Aperçu de composants typiquement utilisés dans les systèmes
+ Linux embarqués : bibliothèques et systèmes graphiques (framebuffer,
+ GTK, Qt, etc.), utilitaires système, bibliothèques et
+ utilitaires réseau, bibliothèques multimédia, etc.
+ \item Construction du système et intégration des composants.
+ \end{itemize}
+}
+{Cours – Compilation croisée de bibliothèques et d'applications}
+{
+ \begin{itemize}
+ \item Configuration, compilation croisée et installation de bibliothèques
+ et d'applications pour un système embarqué
+ \item Détails sur le système de compilation utilisé dans la plupart
+ des composants open-source.
+ \item Aperçu des principaux problèmes rencontrés lors de la
+ réutilisation des composants.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo – Compilation croisée de bibliothèques et d'applications.}
+{
+ {\em Si suffisamment de temps disponible}
+ \begin{itemize}
+ \item Construction d'un système avec les bibliothèques ALSA et une
+ application de lecture audio.
+ \item Compilation et installation manuelle de plusieurs
+ composants open-source.
+ \item Apprentissage des principales techniques et des problèmes principaux.
+ \end{itemize}
+}
+
+\section{7\textsuperscript{ème} demi-journée}
+
+\feagendaonecolumn
+{Démo – Compilation croisée de bibliothèques et d'applications.}
+{
+ \begin{itemize}
+ \item Suite en fin
+ \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours - Outils de construction de systèmes}
+{
+ \begin{itemize}
+ \item Outils de la communauté pour la construction
+ automatisée de systèmes.
+ \item Exemple de Buildroot.
+ \end{itemize}
+}
+{Démo - Construction d'un système avec Buildroot}
+{
+ {\em Utilisation de la carte Xplained de Microchip}
+ \begin{itemize}
+ \item Utilisation de Buildroot pour construire de façon automatisée
+ un système similaire à celui de la démo précédente.
+ \item Voir à quel point cela est plus simple
+ \item Optionnel: rajout d'un paquet dans Buildroot
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Cours - Développement et déboguage d'application}
+{
+ \begin{itemize}
+ \item Langages de programmations et bibliothèques disponibles.
+ \item Aperçu de la bibliothèque C pour le développement d'applications.
+ \item Systèmes de construction pour votre application, comment utiliser des
+ bibliothèques existantes dans votre application.
+ \item Environnements de développement intégrés (IDE) et lecteur de code source.
+ \item Débogueurs : déboguage d'applications à distance avec gdb et gdbserver, analyse
+ post-mortem d'une application.
+ \item Analyseurs de code, analyseurs mémoire, outils de profiling.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo – Développement et déboguage d'application}
+{
+ {\em Sur la carte Xplained de Microchip}
+ \begin{itemize}
+ \item Développement et compilation d'une application basée sur la bibliothèque
+ ncurses.
+ \item Utilisation de strace, ltrace et gdbserver pour déboguer une application de
+ mauvaise qualité sur le système embarqué
+ \item Analyse post-mortem d'une application plantée.
+ \end{itemize}
+}
+
+\section{8\textsuperscript{ème} demi-journée}
+
+\feagendaonecolumn
+{Cours - Linux et le temps réel}
+{
+ {\em Utile pour de nombreux types de systèmes, industriels ou multimédia.}
+ \begin{itemize}
+ \item Comprendre les sources de latence dans le noyau Linux standard.
+ \item Solutions temps réel mou : améliorations apportées au noyau mainline
+ \item Comprendre et utiliser les patches RT preempt pour le noyau Linux.
+ \item Déboguage temps-réel du noyau. Mesure et analyse de la latence.
+ \item Xenomai, une solution temps réel dur pour Linux : fonctionnalités, concepts,
+ implémentation et exemples.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo - Tests de latence Linux}
+{
+ \begin{itemize}
+ \item Tests sur la carte ARM Xplained.
+ \item Mesure de latence sur Linux standard.
+ \item Mesure de latence sur un noyau Linux
+ incluant les patches \code{PREEMPT_RT}.
+ \item Mise en place de Xenomai.
+ \item Mesure de latence avec Xenomai.
+ \end{itemize}
+}
+
+\end{document}
More information about the training-materials-updates
mailing list