Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore the critical challenges of firmware Application Binary Interface (ABI) stability in contemporary embedded systems through this 37-minute conference talk from the Linux Plumbers Conference. Examine how modern embedded systems increasingly rely on bootloaders and firmware that expose ABIs to the Linux kernel for essential functions like starting CPU cores, configuring clocks, power domains, and pin multiplexing. Understand the stark contrast between strictly enforced ABI stability in established interfaces like ACPI versus the vendor-dependent and frequently broken ABIs in newer embedded firmware interfaces. Learn about the serious consequences of ABI breakage, including mandatory bootloader updates and special-case kernel fixes during system updates. Discover how the proliferation of closed-source firmware implementations running on secure coprocessors compounds these stability issues. Analyze detailed examples from contemporary System-on-Chips (SoCs) and consider predictions for future firmware ABI development trends. Evaluate multiple proposed solutions, including using open-source bootloaders like U-Boot to manage firmware components through fitImage bundles, minimizing security-sensitive code with U-Boot SPL, and implementing improved introspection and versioning systems that enable Linux kernel workarounds for firmware-specific bugs.
Syllabus
Firmware ABI stability - Marek Vasut
Taught by
Linux Plumbers Conference