|
|
|
|
| Création du système de fichier racine |
 |
Périphériques, programmes, bibliothèques, ... |
 |
Installation des modules |
 |
Recherche et installation des bibliothèques dynamiques nécessaires |
 |
Vérification de la cohérence du système de fichier |
 |
Utilisation d'outils de génération de systèmes de fichiers racine embarqués (BuildRoot, LTIB, ...) |
| Exercice : |
Création d'un système de fichier racine avec Buildroot. |
| 3ème jour |
| Choix du type de système de fichier |
 |
Ramdisk/initrd |
 |
Systèmes de fichier adapté aux flashs (JFFS2, UBIFS, ...) |
 |
Systèmes de fichier adaptés à l'embarqué (ROMFS, CRAMFS, ...) |
 |
Systèmes de fichiers compatibles "desktop" (EXT2, FAT) |
| Boot de Linux |
 |
Partionnement d'un disque Linux |
 |
Bootloaders (lilo, grub, U-boot...) |
 |
Paramètres du noyau au boot |
 |
Etapes de chargement et de démarrage du noyau |
 |
Choix des programmes lançés au démarrage (runlevels, services, suppression de l'IHM...) |
| Exercice : |
Partitionnement dynamique de la NAND |
| Exercice : |
Flashage du noyau et du système de fichier |
| Exercice : |
Boot depuis la mémoire flash |
| 4ème jour |
| Développement croisé |
 |
Préparation de la machine hôte |
|
 |
Services réseau (DHCP, TFTP) |
|
 |
Partage du système de fichier (NFS) |
|
 |
Etude des outils de développement (gcc, gdb, les Makefiles) |
|
 |
Utilisation de l'IDE Eclipse pour la programmation et le debug croisé |
|
 |
Préparation de la cible |
|
 |
Téléchargement d'un noyau par TFTP |
|
 |
Démarrage sur un système de fichier distant (diskless) |
|
 |
Utilisation de gdbserver pour le debug distant |
|
 |
Utilisation de Qemu pour simuler une carte complète |
| Exercice : |
Installation d'une distribution complète sur carte PowerPC, ARM ou sur simulateur d'ARM (Qemu) |
| Exercice : |
Compilation, test et debug distant d'une application embarquée |
| Exercice : |
Compilation et installation de modules noyau indépendants |
| Exercice : |
Compilation croisé de paquetage |