← Formations
OS / LINUX

Embedded Linux

⏱ 35h (5 jours)
📋 Level 1 — Bases C/Linux
📍 Présentiel Tunis / En ligne

🎯 Objectifs pédagogiques

Ce cours forme les participants à la construction complète d'un système Linux embarqué : de la cross-compilation à la génération d'images avec Yocto et Buildroot, en passant par la configuration du bootloader U-Boot, l'écriture de device trees, le développement de kernel modules et la mise en place d'un rootfs opérationnel. À l'issue de la formation, les participants sont capables de porter Linux sur une board custom et de livrer un BSP complet.

📋 Prérequis et cours liés

Prérequis

Bases de programmation C (pointeurs, structures, allocation mémoire). Utilisation courante de Linux en ligne de commande (shell, permissions, éditeur). Équivalent du parcours Linux Embedded Level 1 d'OpCode Labs ou expérience similaire.

→ Cours lié : C Standard C11
→ Cours lié : C Standard C11

🛠 Environnement pratique

🔧 Plateformes Hardware

• STM32MP1 Discovery Kit
• Raspberry Pi 4 (optionnel)
• BeagleBone Black (optionnel)
• Câble UART debug + câbles Ethernet

💻 IDE & Toolchain

• GCC ARM cross-toolchain
• Yocto Project / Buildroot
• GDB remote debugging
• Console série (minicom/picocom)

🔬 Outils d'analyse

• Analyseur logique
• Oscilloscope
• strace / ltrace / ftrace

✅ Ce que vous ferez concrètement

• Builder une image Linux complète avec Yocto
• Écrire un device tree custom pour votre board
• Développer et charger un kernel module
• Configurer U-Boot et la séquence de boot
• Cross-compiler et debugger une application userspace

📍 Format & Certification

📍 Lieu & Format

Présentiel à Tunis ou en ligne (remote avec accès lab à distance). Groupes de 6–12 participants. Durée : 5 jours consécutifs ou 10 soirées.

🎓 Attestation de complétion

Une attestation de complétion OpCode Labs sera délivrée à l'issue de la formation, validant les compétences acquises en Linux embarqué.

📚

Programme détaillé

Cross-compilation

Mise en place du toolchain, sysroot, différence target vs host, compilation d'une application pour ARM.

Buildroot

Configuration menuconfig, ajout de packages, personnalisation du rootfs, génération d'images complètes.

Yocto Project

Architecture en layers, écriture de recipes, création d'images custom, SDK generation, bitbake en profondeur.

Device Tree

Syntaxe DTS, bindings, overlays, configuration des périphériques, debug device tree.

U-Boot

Configuration du bootloader, séquence de boot, variables d'environnement, boot scripts, FIT images.

Kernel Modules

Développement de modules, Kbuild system, insmod/rmmod, paramètres de module, character devices.

Rootfs & systemd

Hiérarchie du filesystem, systèmes d'init (BusyBox init vs systemd), services, journald, networkd.

Debugging & Profiling

GDB remote sur target, strace/ltrace, ftrace, analyse des logs kernel, résolution de problèmes de boot.

Intéressé par cette formation ?

Contactez-nous pour planifier une session ou obtenir un devis.

S'inscrir →