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

  • 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 2

  • 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

  • Creating Our Own Layer In The Yocto Project BSP

  • 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