Embedded Linux Development with Yocto Project - LFD460

In this course, you’ll obtain a solid understanding of embedded Linux development using the Yocto Project. In addition to learning the basics of embedded Linux development, you’ll also learn how to take advantage of the time- and effort-saving benefits offered by the Yocto project as you develop on embedded Linux. [4 days]

Course description

This course will teach you how to take advantage of the Yocto Project - the open source collaboration effort that provides templates, tools and methods to help you create and maintain custom Linux-based systems for embedded products regardless of the specific hardware architecture. You’ll learn:

  • How to use the Poky and Bitbake build process, with its recipes and layers to customize Linux kernel and packages for a custom embedded application
  • How to build Linux on an embedded board
  • How to use emulators for verification
  • How to create board support packages (BSP) for target hardware
  • And more.

The information in this course will work with any major Linux distribution.

Course details

Who should attend?

This course is primarily intended for experienced software engineers who are interested in learning the fundamentals of a build system for embedded Linux.

Previous knowledge

You should be familiar with basic Linux utilities and text editors. Some experience with Python is helpful but not required.

Course Materials

As part of your registration, a printed copy of the course manual will be provided. You will also receive an embedded board for the hands-on labs during the course. After class, you can take your embedded Linux development kit home for further practice.

Stockholm, Bucharest or On-Site
On request
Number of days

Course outline

• Introduction
• The Yocto Project and OpenEmbedded
• Poky and bitbake
• Setting up the Build System and Building an x86 Emulation Image
• Troubleshooting Build Failures
• Setting Up a Target Development Board
• Booting the Target Development Board
• Board Support Packages
• Customizing Images
• Toaster
• Adding Packages
• Layers
• Kernel Recipes
• Development Tools
• Application Development Toolkit
• Licensing and Compliance
• Appendices