Hands-On Kernel Lab: Introduction to linux-yocto, kernel config fragments and common workflow patterns
2022-05-17 , Honister

The Linux kernel is a key component of your board support package (BSP). In this session, we will discuss various practical ways of building the Linux kernel in the Yocto Project. We will cover building a traditional git tree and defconfig, an out-of-tree kernel module, a linux-yocto based kernel, adding kernel fragments for additional functionality and other common workflow patterns. This session will be a combination of a talk and hands-on labs.


The linux-yocto workflow is a powerful and flexible way to provide a consistent kernel experience across many platforms. But the use of yocto-kernel-cache metadata (a structured tree of kernel fragments) and the linux-yocto git repository often confuses newcomers to the Yocto Project. Many traditional developers prefer to use “a git tree and a defconfig” to build their kernel, so we will also cover this use case. Individual platforms will also differ in the use of bootloader, device tree and other details that involve where the kernel is installed and how it is booted. We will give hands-on practical examples of these use cases to help you on your journey to creating and working with well-behaved Yocto Project BSP layers.

See also: YPS Kernel Lab Slides (PDF) (1.9 MB)

Tim Orling is a Principal Software Engineer at Konsulko Group. Tim joined Konsulko Group at the end of 2021. Tim was elected to the OpenEmbedded Board in 2022. He has spent many years as a volunteer developer for OpenEmbedded and the Yocto Project. He has been an open source software and embedded hardware enthusiast for many years. He taught in a university setting for more than 5 years and has given many well-received training sessions and technical talks at conferences. Tim is currently working in areas of over the air updates, secure boot and disk encryption. Tim has driven updates in the Python recipe infrastructure to keep up with upstream packaging changes and the introduction of Rust extensions. Tim has been tinkering at home with microcontrollers via Zephyr Project, MicroPython and CircuitPython.

This speaker also appears in: