Global training solutions for engineers creating the world's electronics

Designing Embedded Systems with Yocto


This course is available Live Online worldwide: View the Live Online full course description »


Standard Level - 4 days

The Yocto Project is ideal for rapid prototyping and provides the tools and processes required to develop an embedded Linux-based product. The collaboration has widespread support from leading hardware manufacturers, open-source operating systems vendors, and electronics companies looking to address the challenges of developing embedded technology.

This course from Doulos Embedded has been designed to help you understand how to use the Yocto Project tools to manage key components of a Linux distribution: Toolchains, bootloaders, kernels and package management systems. You will learn how to use a Yocto Project based toolchain and tools to develop, debug and test your software, as well as how to use Yocto to customize and maintain an Embedded Linux distribution for multiple boards.

  • Engineers who are migrating to a Yocto Project based distribution environment
  • Project managers and engineers who are evaluating the use of Linux for their projects
  • Project managers and engineers who are considering supporting their own Linux distribution and tools
  • Engineers responsible for build systems and software releases

 

Project managers: This course is designed for those looking to maximise their effectiveness in utilising Yocto to complete embedded systems projects on time and in budget. New Linux projects and projects which will require a long term maintenance cycle would benefit from investigating the components of the Yocto Project. The Yocto Project infrastructure is suitable for Linux projects of any size. Starting from a minimal Linux system, it can be scaled up by integrating additional software in a managed environment. 

Engineers: This course outlines how development teams can directly benefit from the tools and SDKs produced by the build system. It clearly separates development cycle tasks from the tasks required to integrate, maintain and distribute software.

Delegates must have attended Developing with Embedded Linux or an equivalent course, or have some experience of using Linux for Embedded Systems. Please contact Doulos to discuss and assess your specific experience against the pre-requisites.

Doulos course materials are renowned for being the most comprehensive and user friendly available. Their unique style, content and coverage has made them sought after resources in their own right. The materials include fully indexed class notes creating a complete reference manual.

Yocto Kick-start

  • Understand components of the Yocto Project
  • Embedded Linux components
  • Host setup requirements
  • Building U-Boot, Linux and the root filesystem
  • Booting Linux on an emulated board (QEMU)

 

The Yocto Build System

  • An automated build system
  • Metadata file types:
    • Recipes, classes and configuration files
  • Layers
  • Configuration file types

 

Yocto Outputs

  • The deploy directory
  • The work directory
  • The cross toolchain
  • Package feeds
  • Generating an SDK

 

Layers and Recipes

  • Adding custom layers
  • Example recipe
  • Using recipetool
  • Application integration

 

Manage Custom Layers

  • Adding custom layers
  • Example recipe
  • Using recipetool
  • Application integration
  • Managing package users

 

Working With Sources and Recipes

  • Steps in the build process
  • More on recipetool
  • The devshell
  • The devtool

 

Development Workflow

  • More on the SDK
  • Extensible SDK
  • Development tools and features
  • Managing sources and layers
  • Target infrastructure

 

Systems Integration

  • Kernel configuration and build
  • Initial board support
  • Machine configuration file
  • In and out of tree kernel development
  • Kernels in Yocto
  • U-Boot configuration and build

 

Package Management

  • Package distribution through HTTP or FTP
  • Linux package management tools
  • Package groups
  • Package release versioning
  • Over the Air Updates

 

BitBake

  • The global datastore
  • Conditional variable assignment
  • Functions and tasks
  • Bitbake commands
  • Log files and logging functions

 

Building Secure Systems

  • Yocto security features
    • Standard features
    • Meta-security and other layers
  • License management and open source compliance
    • Managing licenses
    • SPDX and SBOMs

 

Working With The Build System

  • QA system
  • Package testing
  • The BuildHistory
  • Toaster
  • Useful commands and tips

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request