$749.00 USD

Hands On With Embedded Linux And Yocto

Hands-On With Embedded Linux and Yocto

Dates: May 5 – May 8, 2025
Time: 9 – 1 PM

Location:
250 Moonachie Road, Suite 301 Moonachie, NJ 07074

 Looking to get hands-on experience with Embedded Linux and The Yocto Project/OpenEmbedded? In this in-person course, participants will learn how to get started customizing Embedded Linux, developing a custom distribution with The Yocto Project/OpenEmbedded, and deploying it to commercial hardware.

In this course, you will learn about the different components that make up a complete Embedded Linux system, from the bootloader to rich, full-featured GUI applications. You will learn how to apply a simple customization to each component and confirm its operation on the target hardware.

Additionally, you will learn how to build an Embedded Linux distribution from a vendor-provided board support package (BSP) based on The Yocto Project/OpenEmbedded. You will also learn how to best apply the customizations learned previously to the vendor-provided BSP to create your own custom distribution!

Each session will consist of a lecture with slides and a lab portion. Participants will have their own properly configured laptop and hardware to successfully complete each lab.

The following outlines what will be covered in each session:

  • Day 1:
    • Embedded Linux system architecture and components
    • The Embedded Linux boot process
    • U-Boot Software Architecture
    • Environment variables in U-Boot
    • U-Boot Commands
    • Lab: Customizing U-Boot
  • Day 2
    • The Different Types of Kernels: Micro vs Monolithic vs Modular
    • The Linux Kernel Overview, Architecture, and Components
    • Different Subsystems in the Linux Kernel
    • Kconfig: How to Enable Features In the Linux Kernel
    • How the Linux Kernel Uses the Devicetree to Learn About Hardware
    • Devicetree Overlays
    • Linux Kernel Modules
    • Lab: Implementing an Out-Of-Tree Module to Interact with Hardware
  • Day 3
    • Kernel-space vs User-space
    • Cross-compiling Applications to Run On Embedded Systems
    • Systemd: Launching Applications on Startup
    • The Yocto Project/OpenEmbedded Overview
    • Understanding the Mechanics of The Yocto Project
    • Building a Vendor-Provided BSP and Flashing It To Our Board
    • Lab: Creating an Application To Interact With Our Hardware
  • Day 4
    • Creating Our Own Layer In The Yocto Project BSP
      o Applying Our U-Boot Customization and Validating It
    • Incorporating Our Devicetree Overlay and Kernel Module
    • Adding Our Custom Application And Ensuring It Starts On Boot
    • Trimming the Fat: Reducing Our RFS Size
    • Shared State: Improving Build Speeds
    • Lab: Creating a Custom Linux Distribution Using The Yocto Project