Skip to content
All courses
EMB 510
Term 1
3 credits

Embedded Linux Systems Engineering

Students will gain practical skills in building, configuring, and optimizing custom embedded Linux distributions for various hardware platforms. Topics include bootloader customization, kernel and device driver development, system integration using Yocto/Buildroot, and real-time considerations, preparing students for professional roles in embedded systems.

Course outline

Lectures, virtual labs, and graded assignments — completed in your browser.

01Foundations of Embedded Linux and Toolchain Setuplecture
02Mastering Bootloaders: U-Boot Customization and Workflowlecture
03Linux Kernel Deep Dive for Embedded Platformslecture
04Device Tree Specification and Hardware Configurationlecture
05Introduction to Linux Kernel Module and Driver Developmentlecture
06Advanced Device Drivers: I2C, SPI, and Platform Integrationlecture
07Crafting Robust Root Filesystems for Embedded Deviceslecture
08Yocto Project Part 1: Core Concepts and BitBakelecture
09Yocto Project Part 2: Customizing Images and Layerslecture
10Buildroot: Fast Embedded Linux System Generationlecture
11Real-Time Linux: Achieving Predictable Performancelecture
12Embedded System Board Bring-up and Troubleshootinglecture
13Embedded Linux Security and System Updateslecture
14Embedded Linux System Design Capstone and Futuresassignment

Syllabus

Week 1: Introduction to Embedded Linux and Development Environment Setup
Week 2: Bootloaders: U-Boot Architecture and Customization
Week 3: Linux Kernel Internals and Configuration for Embedded Systems
Week 4: Device Tree: Understanding and Customizing Hardware Abstraction
Week 5: Developing Simple Linux Kernel Modules and Character Drivers
Week 6: Advanced Kernel Drivers: Platform Devices, I2C, SPI, and GPIO
Week 7: Root Filesystems: BusyBox, JFFS2, UBIFS, and OverlayFS
Week 8: Build Systems: Introduction to Yocto Project Fundamentals
Week 9: Yocto Project: Recipes, Layers, and Customizing Images
Week 10: Build Systems: Introduction to Buildroot and Configuration
Week 11: Real-Time Linux: PREEMPT_RT Patch and Latency Analysis
Week 12: Board Bring-up Process and Debugging Techniques
Week 13: Embedded Linux Security and Over-the-Air Updates (OTA)
Week 14: Final Project Presentations and Advanced Topics