Hands-On Kernel Lab: Introduction to linux-yocto, kernel config fragments and common workflow patterns
11-30, 18:00–19:30 (UTC), Room B

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: Kernel Lab Slides (1.5 MB)

Tim Orling is the Core OS Architect for High-Velocity Silicon Platforms Engineering (HSPE) in the Internet of Things Group (IOTG) at Intel. Tim joined Intel in early 2016, after 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 containerization, orchestration and virtualization for embedded systems. Tim is also driving containerized building and testing of Yocto Project in a highly-scalable Kubernetes native implementation. Tim has been tinkering at home with microcontrollers via Zephyr Project, MicroPython and CircuitPython.

This speaker also appears in: