Boot Loaders

= U-Boot =

Early Splash Screen Using U-boot [OSSE 2023]
Presenters: Devarsh Thakkar and Nikhil Jain Summary: Increasing number of Auto and robotic use case require enabling display as early as possible. U-boot is a widely used bootloader which supports large number of SoC's and provides a framework for writing video drivers and displaying images while device boots up. This talk will cover how one can add support for a new video driver in u-boot and enable display during bootup. Display controller basics and u-boot boot flow will be covered briefly, before moving into details on how to write a new video class driver using U-boot's Video Class framework and how to display images from different boot media at U-boot prompt or during bootup. It will then cover details regarding enabling early splash screen for displaying image at U-boot's SPL binary and ensuring flicker free experience during hand-off to further bootloader binaries and Linux kernel. Different design considerations related to storage media, memory addressing, and hand-off will be covered to give an idea to user on platform specific changes that need to be done to support early display using U-boot.


 * PDF
 * VIDEO

Recent Advances in U-Boot [EOSS 2023]
Presenter: Simon Glass, Google LLC Summary: There has been a lot of development in U-Boot in the last 2-3 years, much of it under the hood. This talk aims to bring you up to date, focussing on several major new features but also touching on many smaller ones that together advance the state of the art in firmware development. This talk covers major areas like Kconfig migration, standard boot, UEFI support, binman, documentation and testing. Minor topics covered include VBE, IPv6, cyclic, RISC-V, x86, tracing, events, live tree, device tree schema, CI, text environment, pinctrl and GUI. The talk ends with a demo.
 * video
 * PDF

Semihosting U-Boot [FOSDEM 2023]
Presenter: Sean Anderson Summary: Semihosting provides console, filesystem access, and other functions over a debug interface, such as JTAG. This is especially useful when traditional bootstrap interfaces such as serial, USB, or Ethernet are not available in hardware. This talk will discuss implementing improved semihosting support in U-Boot; semihosting's strengths, weaknesses, and how to work around them; and how to semihost U-Boot with OpenOCD on your next board bringup.
 * PDF and VIDEO

U-Boot as PSCI provider on ARM64 [FOSDEM 2023]
Presenter: Marek Vasut Summary: OS kernel on embedded ARM64 systems requires PSCI interface to bring CPU cores up/down, suspend/resume/reset/power off. U-Boot bootloader provides a PSCI interface and this talk explains it.
 * PDF

Introduction to VBE - Verified Boot for Embeedded [osfc 2022]
Presenter: Simon Glass, Google LLC Summary: The presentation introduces a new boot/update standard for emebedded systems. It is designed to provide a simpler, faster and more deterministic alternative to UEFI.
 * PDF VIDEO

Tutorial: Introduction to the Embedded Boot Loader U-boot [ELC 2020]
Presenter: Behan Webster, Converse in Code Summary: The presentation introduces U-Boot and various features supported by it.
 * PDF

Discover UEFI with U-Boot [FOSDEM 2020]
Presenter: Heinrich Schuchardt Summary: The Unified Extensible Firmware Interface (UEFI) is the default for booting most Linux and BSD distributions. But the complexity of the UEFI standard does not offer an easy entry point for new developers. The U-Boot firmware provides a lightweight UEFI implementation. Using booting from iSCSI with U-Boot and iPXE as an example let's delve into the UEFI API.
 * PDF and VIDEO

What’s new in U-Boot? [ELC 2019]
Presenter: Simon Glass, Google LLC Summary: The slides cover some of the new concepts adapted from Linux in u-boot (< 2 years) such as device-tree overlays, platform data, etc.


 * PDF | VIDEO

Implementing State-of-the-Art U-Boot Port, 2018 Edition [ELC 2018]
Presenter: Marek Vasut, Self Employed Summary: The slides include examples and experience from platforms recently added to mainline U-Boot. This presentation is a practical guide to implementing U-Boot bootloader port to a new system from scratch.


 * PDF | VIDEO
 * PDF and VIDEO (FOSDEM edition)

Binman - a data-controller firmware packer for U-Boot [ELC 2019]
Presenter: Simon Glass, Google LLC Summary: Binman is a firmware packaging tool.

Modern firmware images can be complex, with dozens of pieces and various alignment and positional requirements. It can be challenging to build these images using a set of ad-hoc scripts and tools which must be maintained.

Binman collects together the files, processes them as needed, handles any other required operations (such as signing entries) and writes out the images. It permits existing images to be inspected.

By placing the image descriptions in a single configuration file, it is easier to inspect and adjust the format and layout. It also improves performance, since images are create in a single pass. Binman supports adding various U-Boot components, lists of files, microcode, binary components, Coreboot Filesystem (CBFS), text and device trees. Binman provides run-time access to the configuration via device tree and linker symbols.

Binman is used in U-Boot to produced binaries for several SoCs, notably Tegra and x86. It has comprehensive tests with 100% code coverage.

This talk describes binman, including a demo of its capabilities.


 * PDF
 * Video

EBBR: Standard Boot for Embedded Platforms [ELCE 2018]
Presenter: Grant Likely, Arm Summary: This session discusses the goals and present state of the EBBR project (Embedded Base Boot Requirements). EBBR specifies a subset of the UEFI standard that can be implemented with upstream U-Boot taking into account common design patterns common on embedded systems.


 * VIDEO

U-Boot - Bootloader for IoT Platform? [ELCE 2018]
Presenter: Alexey Brodkin, Synopsys Summary: This presentation demonstrates how to squeeze U-Boot with required functionality into a board with 256kB or less of ROM and RAM with the goal of catering to IoT platforms.


 * PDF | VIDEO

Enabling New Hardware in U-Boot [ELC 2017]
Presenter: Jon Mason, Broadcom Ltd. Summary: This presentation covers the trials and tribulations of enhancing and upstreaming U-boot with Broadcom’s Northstar SoC


 * PDF | VIDEO

State of the U-Boot [ELC 2017]
Presenter: Thomas Rini, Konsulko Group Summary: The slides talk about how to support EFI binaries, CI testing in a unified environment. The presenter also discusses about other features in progress and challenges in moving from a vendor provided tree to the latest mainline version.


 * PDF | VIDEO

Marrying U-Boot, uEFI and grub2 [ELC 2017]
Presenter: Alexander Graf, SUSE Summary: This talk will take you through how ARM systems boot, what UEFI really means, how uEFI binaries interact with firmware and how this enables convergence of the Enterprise and Embedded markets.


 * PDF | VIDEO

Porting U-Boot and Linux on New ARM Boards: A Step-by-Step Guide [ELCE 2017]
Presenter: Quentin Schulz, Free Electrons Summary: This talk will offer a step-by-step guide through the porting process of U-Boot and Linux on a custom Frescale/NXP i.Mx6 platform


 * PDF | VIDEO

Device tree in U-Boot SPL
Presenter: Simon Glass, Google Summary: Describes how to use Device Tree in the constrained space of U-Boot SPL, using automatic tools which remove unwanted nodes and properties, as well as converting it to C.


 * PDF

Update on Shared Logging between the Kernel and the Bootloader [ELCE 2016]
Presenter: Sean Hudson, Mentor Graphics, Inc Summary: In continuation to last year's talk, this presentation provides an update on the current status of the shared logging feature between the boot-loader (U-boot) and kernel.


 * PDF | VIDEO

Shared Logging between the Kernel and the Bootloader [ELCE 2015]
Presenter: Sean Hudson, Mentor Graphics, Inc Summary: This presentation talks about shared logging feature between the boot-loader (U-Boot) and the kernel


 * PDF | VIDEO

Order at Last: The New U-Boot Driver Model Architecture [ELCE 2015]
Presenter: Simon Glass, Google Summary: This session talks about new driver model architecture in U-Boot.
 * PDF | VIDEO

Redundant booting with U-Boot [ELCE 2014]
Presenter: Thomas Rini, Texas Instruments Summary: This session talks about status of redundancy in U-Boot and future plans in this domain.


 * PDF

Secure and flexible boot with U-Boot Bootloader [ELCE 2014]
Presenter: Marek Vašu, DENX Summary: The session covers ways to develop a secure, tamper-proof U-Boot


 * PDF

Falcon Boot: current status and enhancements [ELCE 2013]
Presenter: Stefano Babic Summary: The session talks about falcon mode in U-Boot


 * PDF

Verified Boot on Chrome OS and How to do it yourself [ELCE 2013]
Presenter: Simon Glass Summary: The session talks about ways to use secure u-boot to boot chrome OS.


 * PDF

Driver Model, Kconfig and little Patman
Presenter: Simon Glass Summary: Describes the goals with Driver Model, the Kconfig conversion and Patman, a patch-management tool for mailing lists.


 * PDF

= Barebox =

barebox, the bootloader for Linux kernel developers [FOSDEM 2023]
Presenter: Marco Felsch, Pengutronix Summary: Embedded doesn't mean we can't have nice things. As Linux kernel developers we have grown accustomed to the comfort afforded to us by Kconfig, device trees, the device-driver model, multi-platform kernel images, the kernel having sane defaults and virtual filesystems giving us shell-level access to debug and introspect the system. Why can't we have this in the boot environment? We can and you'll see how, welcome to barebox.


 * PDF

Barebox and Bootloader Specification [ELCE 2013]
Presenter: Sascha Hauer Summary: The presentation tries to define common boot loader specs for different ARM platforms.


 * PDF

Barebox Bootloader [ELCE 2012]
Presenter: Sascha Hauer, Pengutronix e.K. Summary: This presentation takes a tour through Barebox bootloader


 * PDF

U-Boot-v2 [ELCE 2009]
Presenter: Sascha Hauer, Marc Kleine-Budde Summary: The presentation talks about changes to U-Boot being done as part of U-Boot-v2 project.


 * PDF

= MCU-Boot =

MCUboot: Multi-Image Support [ELCE 2018]
Presenter: David Brown, Linaro, Ltd Summary: In this presentation, the presenter reviews the current status of the MCUboot project and covers the work being done to support multiple image update
 * PDF | VIDEO

= Fastboot =

TPL: SPL Loading SPL (and, SPL as just another U-Boot config) [ELCE 2013]
Presenter: Scott Wood Summary: The session talks about developing a tertiary program loader on similar lines as SPL and its usage.


 * PDF

IPL+UBI: Flexible and Reliable with Linux as the Bootloader [ELCE 2010]
Presenter: John Ogness Summary: This session discusses about methods to make Linux itself as a bootloader and faster and reliable ways to boot it.


 * PDF

= DFU =

Device Firmware Upgrade (DFU) - present situation and future development [ELCE 2013]
Presenter: Lukasz Majewski Summary: The presentation talks present status and future plans for device upgrade procedures on U-Boot.


 * PDF

= Security =

UEFI Secure boot in U-Boot [ELC 2019]
Presenter: Simon Glass, Google LLC Summary: This presentation will go over the current state of UEFI and Secure Boot on U-Boot, including how to use it


 * PDF | VIDEO

Secure Boot from A to Z [ELC 2018]
Presenter: Quentin Schulz & Mylune Josserand, Bootlin Summary: These slides introduce each and every link of the chain-of-trust from the boot ROM to filesystem, as well as the boot-loader and kernel with real life examples.


 * PDF | VIDEO

U-Boot Verified RSA Boot Flow on ARM (With Demo Run) [ELCE 2013]
Presenter: Jagan Teki Summary: The presentation talks about booting u-boot securely on an ARM platform.


 * PDF

= Others =

Replace Your Exploit-Ridden Firmware with Linux [ELCE 2017]
Presenter: Ronald Minnich, Google Summary: This presentation talks about NERF (Non-Extensible Reduced Firmware), an open source software system developed at Google to replace almost all of UEFI firmware with a tiny Linux kernel and initramfs.


 * PDF | VIDEO

Upgrading Without Bricking [ELCE 2012]
Presenter: Arnout Vandecappelle, Essensium/Mind Summary: This presentation talks about upgrading process of bootloaders


 * PDF

Coreboot [ELCE 2009]
Presenter: Peter Stuge Summary: The session talks about a new boot loader coreboot suggested as a possible replacement to BIOS.


 * VIDEO