Bootlin had a very strong presence at the recent Open Source Summit Europe, with 26 members of our team attending the event, 8 talks given by our engineers, and a booth at the technical showcase.
As the Linux Foundation just posted the videos of all talks from the event, now is a good time to publish the slides of our talks, alongside with the videos.
Navigating Security Tradeoffs in Embedded Linux Systems
Talk by Bootlin engineer Olivier Benjamin
Embedded systems vary wildly in purpose, characteristics and usage. They are therefore faced with very different adversaries, that engineers and designers must take into account to achieve a secure system or product.
The tradeoff between security and convenience can only be properly arbitrated by evaluating the benefits of each security measure against the cost of its implementation, and the added complexity to the system, which will eventually be surfaced to the user.
In this talk, we will explore the security guarantees of various security measures popular in embedded Linux systems: Secure Boot, Disk encryption, dm-verity, Secure Enclaves as well as someapplication-level security features from the point of view of what they bring to a system, and what they cost to the implementer or theuser. Ultimately, we will present what type of systems they are a good fit for, and which systems are probably better off not using them.
Snag It, Flash It, Ship It: Rethinking Factory Flashing With Open Tools
Talk by Bootlin engineer Romain Gantois together with Texas Instruments engineer Paresh Bhagat
Factory flashing is a critical stage in the lifecycle of any embedded product. It can quickly become a bottleneck in the supply chain, and its correct execution is essential to ensure that shipped devices are both fully functional and secure. Today’s available tools are often closed-source and tightly coupled to specific vendors, limiting flexibility and making customization difficult.
In 2023, Bootlin introduced Snagboot—an open-source, vendor-agnostic tool designed for recovering and reflashing embedded platforms. Building on this foundation, Bootlin and Texas Instruments collaborated in 2024 to expand Snagboot into a comprehensive factory flashing solution, maintaining its open-source and vendor-neutral nature.
In this talk, we’ll present Snagboot as a recovery and reflashing solution, highlighting its core tools, snagrecover and snagflash. We’ll then dive into the unique challenges of factory flashing and explain how our extended toolset—Snagfactory—addresses them effectively.
Unpacking the Linux WiFi Stack: Writing and Integrating Wireless Drivers
Talk by Bootlin engineer Alexis Lothoré
WiFi is a cornerstone of modern connectivity, and Linux powers countless devices that rely on seamless wireless communication. But how does a WiFi driver actually work within the Linux kernel? In this talk, we will explore the process of supporting a Wifi device in Linux, focusing on its integration with the mac80211 and cfg80211 subsystems. We’ll cover key aspects such as hardware initialization, packet transmission, regulatory compliance, power management, and more. Additionally, we’ll discuss how userspace tools like iw, hostapd, and wpa_supplicant interact with kernel drivers via nl80211. By the end of this session, attendees will have a better understanding of the Linux WiFi stack and the skills needed to develop, debug, and extend WiFi drivers effectively, whether they want to implement a new one or improve an existing one.
Graphic Testing Without Hardware: Discovering the Power of VKMS!
Talk by Bootlin engineer Louis Chauvet
As a userspace developer, creating graphical applications is a common task. While software and frameworks like Weston or Qt make it straightforward to display content on a screen, ensuring compatibility across various displays poses significant challenges. Users may have different screen sizes, resolutions, and capabilities, making comprehensive testing complex. How will your application perform on a small screen? What about an extremely large one? How does it react to displays being connected/disconnected? Moreover, if your application must run on diverse devices, how will it leverage or adapt to varying hardware capabilities?
VKMS addresses these challenges by enabling graphic testing without the need for physical hardware. VKMS is a Linux kernel DRM driver that allows you to emulate a wide range of display configurations on any device. This talk will introduce VKMS, highlight its current capabilities, demonstrate practical test examples, and provide details on additional features we are currently working on upstreaming into VKMS.
Bridging Worlds: Using Device Tree Overlays To Support Complex PCI Devices in Linux
Talk by Bootlin engineer Hervé Codina
To support complex PCI devices, a new solution landed in Linux kernel (v6.13). It allows to describe hardware within a PCI device using a Device Tree (DT) overlay, taking advantages of the DT such as modularity, clarity, and wide driver support.
The Linux kernel provides a rich set of drivers for hardware blocks found in System-on-Chips (SoC). These drivers typically rely on DT descriptions. Some of those blocks appear in PCI devices. Instead of adapting drivers to the PCI context, why not having PCI devices working in a DT context?
The first driver using this feature is the driver for the Microchip LAN966x PCI device. The LAN966x SoC was already supported in the kernel, with Linux running on its ARM cores. Drivers exist for all its hardware blocks. The PCI device version is made from the SoC version where CPU cores have been replaced by a PCI endpoint. Using a DT overlay for PCI devices allows to reuse existing drivers without any modification.
This talk will delve into motivations and use cases behind this feature, followed by a dive into the implementation. We will present challenges encountered, how they were addressed, and what this means for future PCI device support.
Hotplug of Non-discoverable Hardware: Status and Future Directions
Talk by Bootlin engineer Luca Ceresoli
More and more industrial products are being designed with add-on components that can be hotplugged at runtime and connected with non-discoverable busses: I²C, MIPI CSI-2, LVDS, and seemingly simpler ones such as interrupts and GPIO lines.
A similar use case comes from popular developer boards with expansion connectors.
Work is in progress for the kernel to support such hardware using device tree overlays.
This talk describes the goals, work done and in progress and future directions. Special attention will be given to the DRM subsystem which is by far the most challenging one.
Topics covered are:
- Use cases and overview of the goals
- What is a connector, and implications for the Operating System
- Device tree overlays: how to describe connectors and add-ons
- Hotplugging in the DRM subsystems, challenges in making DRM bridges removable, current work and next steps
Discussion about future directions will be very welcome.
Linux Power Management Features & Their Interactions, Part 2
Talk by Bootlin engineer Théo Lebrun
Over time, many features have been introduced into the Linux kernel to tackle various Power Management related needs. Most features rely upon the device model to provide its features, making each feature in isolation have rather understandable behavior and straight forward APIs. Complexity can creep in however when those various features interact with each other.
Breadths is so wide that it takes two talk to cover features. This is a continuation talk expanding on last year’s.
Topics targeted are system-wide suspend wakeup sources, device & generic power domains, the concept of latency tolerance (QoS), async PM and others.
From Raw To Refined: The Evolution of Raw Flash Support in Linux
Talk by Bootlin engineer Miquèl Raynal
The Memory Technology Device (MTD) subsystem has come a long way from its early days of rudimentary flash support. As embedded systems have evolved, so too has Linux’s ability to manage and interface with raw flash memory devices — from parallel NAND and NOR to modern SPI-based variants.
While SPI NOR initially led the charge, the past few years have seen SPI NAND support in Linux grow rapidly, gaining robustness, better performance, and broader compatibility. But the story doesn’t end there. Improvements across the MTD stack continue to shape how developers design with raw flash.
This talk takes a tour through the evolution of raw flash support in Linux: how we got here, what’s new, and what it means for future designs. Whether you’re maintaining legacy NAND systems or eyeing SPI NAND for your next embedded project, we’ll explore the practical impact of recent changes and what to expect next. Raw flashes might not be dead just yet — they’ve just gotten smarter.