Hands-On With Embedded Linux and Yocto

$749.00

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.

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.

  • 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