← Formations
OS / LINUX

Embedded Linux

⏱ 35h (5 days)
📋 Level 1 — Bases C/Linux
📍 In-Person Tunis / Online

🎯 Learning Objectives

This course trains participants in the complete construction of an embedded Linux system: from cross-compilation to image generation with Yocto and Buildroot, including U-Boot bootloader configuration, device tree writing, kernel module development, and the implementation of a working rootfs. Upon completion of the training, participants will be able to port Linux to a custom board and deliver a complete BSP.

📋 Prerequisites and related courses

Prerequisites

Fundamentals of C programming (pointers, structures, memory allocation). Regular use of Linux command line (shell, permissions, editor). Equivalent to OpCode Labs' Linux Embedded Level 1 course or similar experience.

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

🛠 Practical environment

🔧 Hardware Platforms

• STM32MP1 Discovery Kit
• Raspberry Pi 4 (optional)
• BeagleBone Black (optional)
• UART debug cable + Ethernet cables

💻 IDE & Toolchain

• GCC ARM cross-toolchain
• Yocto Project / Buildroot
• GDB remote debugging
• Serial console (minicom/picocom)

🔬 Analysis Tools

• Logic analyzer
• Oscilloscope
• strace / ltrace / ftrace

✅ What you will actually do

• Build a complete Linux image with Yocto
• Write a custom device tree for your board
• Develop and load a kernel module
• Configure U-Boot and the boot sequence
• Cross-compile and debug a userspace application

📍 Format & Certification

📍 Location & Format

 

In-person in Tunis or online (remote with access to a remote lab). Groups of 6–12 participants. Duration: 5 consecutive days or 10 evenings.

🎓 Certificate of Completion

An OpCode Labs certificate of completion will be issued at the end of the training, validating the skills acquired in embedded Linux.

📚

Detailed program

Cross-compilation

Setting up the toolchain, sysroot, difference between target and host, compiling an application for ARM.

Buildroot

Menuconfig configuration, adding packages, customizing the rootfs, generating full images.

Yocto Project

Layered architecture, recipe writing, custom image creation, SDK generation, in-depth bitbake.

Device Tree

DTS syntax, bindings, overlays, device configuration, debug device tree.

U-Boot

Bootloader configuration, boot sequence, environment variables, boot scripts, FIT images.

Kernel Modules

Module development, Kbuild system, insmod/rmmod, module parameters, character devices.

Rootfs & systemd

Filesystem hierarchy, init systems (BusyBox init vs systemd), services, journald, networkd.

Debugging & Profiling

GDB remote on target, strace/ltrace, ftrace, kernel log analysis, boot troubleshooting.

Interested in this training?

Contact us to schedule a session or to get a quote. Register →