Duration
Embedded Linux Essentials
4 days
Objective
Be able to understand the role and principle of an embedded Linux build system, and compare Yocto Project/OpenEmbedded to other tools offering similar functionality.
- Be able to configure and build basic embedded Linux system with Yocto, and install the result on an embedded platform.
- Be able to write and extend recipes, for your own packages or customizations.
- Be able to use existing layers of recipes, and create your own new layers.
- Be able to integrate support for your own embedded board into a BSP layer.
- Be able to create custom images.
- Be able to use the tools and workflows suitable to develop applications with the Yocto Project SDK
Audience
Be able to understand the role and principle of an embedded Linux build system, and compare Yocto Project/Open Embedded to other tools offering similar functionality.
- Be able to configure and build basic embedded Linux system with Yocto, and install the result on an embedded platform.
- Be able to write and extend recipes, for your own packages or customizations.
- Be able to use existing layers of recipes, and create your own new layers.
- Be able to integrate support for your own embedded board into a BSP layer.
- Be able to create custom images.
- Be able to use the tools and workflows suitable to develop applications with the Yocto Project SDK
Prerequisite
Knowledge and practice of UNIX or GNU/Linux commands: participants must be familiar with the Linux command line. Participants lacking experience on this topic should get trained by themselves, for example with our freely available on-line slides at bootlin.com/blog/command-line/.
- Minimal experience in embedded Linux development: participants should have a minimal understanding of the architecture of embedded Linux systems: role of the Linux kernel vs. user-space, development of Linux user space applications in C. Following Bootlin’s Embedded Linux course at bootlin.com/training/embedded-linux/ allows to fulfill this pre-requisite.
Outline
Writing recipes - basics
- Writing a minimal recipe
- Adding dependencies
- Development workflow with bitbake
- Writing a recipe for nInvaders
Writing recipes - advanced features
- Extending and overriding recipes
- Adding steps to the build process
- Learn about classes
- Analysis of examples
- Logging
- Debugging dependencies
Layers
- What layers are
- Where to find layers
- Creating a layer
- Learn how to write a layer
- Add the layer to the build
Writing a BSP
- Extending an existing BSP
- Adding a new machine
- Bootloaders
- Linux and the linux-yocto recipe
- Adding a custom image type
Creating a custom image
- Writing an image recipe
- Adding users/groups
- Adding custom configuraon
- Writing and using package groups recipes
Creating and using an SDK
- Understanding the purpose of an SDK for the application developer
- Building an SDK for the custom image
- Building an SDK
Programme scope, delivery arrangements and suitability are confirmed during enquiry.