Speaker
Description
Devicetree evolved from systems that were tightly vertically integrated, and this has been a continuing trend throughout its adoption in early Linux. This is not a problem when the same organisation is responsible for building the bootloader, the kernel, and the OS - they can just do whatever they want, often with little care given to forward compatibility, or compatibility with custom software at all.
The last 5 years has seen a drastic shift, with ARM powered SBCs and laptops in the hands of consumers the “Devicetree Selection” problem has hit us full force in several ways:
- Devices with good support in the kernel using Devicetree but they only ship ACPI
- Devices that provide old Devicetrees that don’t work with new kernels, or vice versa
- Devices with multiple variants which use different Devicetrees
- Devices with optional add-ons which use overlays
So how do we as bootloader, kernel, middleware and distro developers deal with this and start bringing the "typical Linux" experience to more devices?
In this talk Casey will cover her experiences working with upstream Devicetree, she will explore the problem space and surprising complexity of loading a suitable Devicetree for your hardware and kernel, the problem of overlays and hardware variants, and the different ways that distros, bootloaders, and the kernel community are trying to improve the situation. She will focus on specific issues with the recent Snapdragon laptops, smartphones, and dev boards, with insight from her experience as a distro developer and U-Boot custodian. Finally, she will describe her proposal to improve the situation today, providing a way forward for distros and users to get up and running on devices that are already out in the wild by standardising on a way for users and firmware to express a devicetree preference to the OS loader.