Difference between revisions of "Boot Loaders"

From eLinux.org
Jump to: navigation, search
(Others)
(Reorder Simon's talk to be in chronological order)
 
(23 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= '''U-Boot''' =
 
= '''U-Boot''' =
 +
== Early Splash Screen Using U-boot [OSSE 2023] ==
 +
'''Presenters:''' Devarsh Thakkar and Nikhil Jain <br>
 +
'''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.
 +
 +
* [https://static.sched.com/hosted_files/osseu2023/5c/Early_Splash_Screen_using_Uboot_OSS2023_21sept.pdf PDF]
 +
* [https://youtu.be/L98v4epQmrg?t=7320 VIDEO]
 +
 +
== Recent Advances in U-Boot [EOSS 2023] ==
 +
'''Presenter:''' Simon Glass, Google LLC <br>
 +
'''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.
 +
* [https://www.youtube.com/watch?v=YlJBsVZJkDI video]
 +
* [https://static.sched.com/hosted_files/eoss2023/b3/Recent%20Advances%20in%20U-Boot.pdf PDF]
 +
 +
== Semihosting U-Boot [FOSDEM 2023] ==
 +
'''Presenter:''' Sean Anderson <br>
 +
'''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.
 +
* [https://fosdem.org/2023/schedule/event/semihosting_uboot/ PDF and VIDEO]
 +
 +
== U-Boot as PSCI provider on ARM64 [FOSDEM 2023] ==
 +
'''Presenter:''' Marek Vasut <br>
 +
'''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.
 +
* [https://fosdem.org/2023/schedule/event/uboot_psci/attachments/slides/5377/export/events/attachments/uboot_psci/slides/5377/fosdem_2023_vasut.pdf PDF]
 +
 +
== Introduction to VBE - Verified Boot for Embeedded [osfc 2022] ==
 +
'''Presenter:''' Simon Glass, Google LLC <br>
 +
'''Summary:'''
 +
The presentation introduces a new boot/update standard for emebedded systems. <br>
 +
It is designed to provide a simpler, faster and more deterministic alternative to UEFI.
 +
* [https://elinux.org/File:Osfc22_VBE_-_Verified_Boot_for_Embedded_1BUma3C.pdf PDF] [https://vimeo.com/755670021 VIDEO]
 +
 +
== Tutorial: Introduction to the Embedded Boot Loader U-boot [ELC 2020] ==
 +
'''Presenter:''' Behan Webster, Converse in Code <br>
 +
'''Summary:'''
 +
The presentation introduces U-Boot and various <br>
 +
features supported by it. <br>
 +
* [https://cm.e-ale.org/2020/ELC2020/intro-to-u-boot/intro-to-u-boot-2020.pdf PDF]
 +
 +
== Discover UEFI with U-Boot [FOSDEM 2020] ==
 +
'''Presenter:''' Heinrich Schuchardt <br>
 +
'''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.
 +
* [https://archive.fosdem.org/2020/schedule/event/firmware_duwu/ PDF and VIDEO]
 +
 
== What’s new in U-Boot? [ELC 2019] ==
 
== What’s new in U-Boot? [ELC 2019] ==
 
'''Presenter:''' Simon Glass, Google LLC <br>
 
'''Presenter:''' Simon Glass, Google LLC <br>
Line 5: Line 52:
 
The slides cover some of the new concepts adapted from Linux in <br>  
 
The slides cover some of the new concepts adapted from Linux in <br>  
 
u-boot (< 2 years) such as device-tree overlays, platform data, etc. <br>  
 
u-boot (< 2 years) such as device-tree overlays, platform data, etc. <br>  
 +
 
* [https://elinux.org/images/8/82/What%27s_New_with_U-Boot_%281%29.pdf PDF] | [https://youtu.be/TJzFK8VIUJo VIDEO]
 
* [https://elinux.org/images/8/82/What%27s_New_with_U-Boot_%281%29.pdf PDF] | [https://youtu.be/TJzFK8VIUJo VIDEO]
 
== UEFI Secure boot in U-Boot [ELC 2019] ==
 
'''Presenter:''' Simon Glass, Google LLC <br>
 
'''Summary:'''
 
This presentation will go over the current state of UEFI <br>
 
and Secure Boot on U-Boot, including how to use it <br>
 
* [https://elinux.org/images/d/db/2019.08.23_UEFI_Secure_Boot_on_U-Boot.pdf PDF] | [https://www.youtube.com/watch?v=VnsF3uRZzNk VIDEO]
 
  
 
== Implementing State-of-the-Art U-Boot Port, 2018 Edition [ELC 2018] ==
 
== Implementing State-of-the-Art U-Boot Port, 2018 Edition [ELC 2018] ==
Line 21: Line 62:
 
guide to implementing U-Boot bootloader port to a new system from <br>
 
guide to implementing U-Boot bootloader port to a new system from <br>
 
scratch. <br>
 
scratch. <br>
 +
 
* [https://elinux.org/images/8/88/Elc-2018-marek.pdf PDF] | [https://youtu.be/rJtlAi8rxgs VIDEO]
 
* [https://elinux.org/images/8/88/Elc-2018-marek.pdf PDF] | [https://youtu.be/rJtlAi8rxgs VIDEO]
 +
* [https://archive.fosdem.org/2018/schedule/event/state_of_the_art_uboot/ PDF and VIDEO (FOSDEM edition)]
 +
 +
== Binman - a data-controller firmware packer for U-Boot [ELC 2019] ==
 +
'''Presenter:''' Simon Glass, Google LLC <br>
 +
'''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.
 +
 +
* [https://pretalx.com/media/osfc2019/submissions/Y7EN9V/resources/Binman_-_A_data-controlled_firmware_packer_for_U-B_pFU3n2K.pdf PDF]
 +
* [https://www.youtube.com/watch?v=L84ujgUXBOQ Video]
 +
  
 
== EBBR: Standard Boot for Embedded Platforms [ELCE 2018] ==
 
== EBBR: Standard Boot for Embedded Platforms [ELCE 2018] ==
Line 31: Line 93:
 
implemented with upstream U-Boot taking into account <br>
 
implemented with upstream U-Boot taking into account <br>
 
common design patterns common on embedded systems. <br>
 
common design patterns common on embedded systems. <br>
 +
 
* [https://youtu.be/Zz5wGjY9VpU VIDEO]
 
* [https://youtu.be/Zz5wGjY9VpU VIDEO]
  
Line 39: Line 102:
 
with required functionality into a board with 256kB or <br>
 
with required functionality into a board with 256kB or <br>
 
less of ROM and RAM with the goal of catering to IoT platforms. <br>
 
less of ROM and RAM with the goal of catering to IoT platforms. <br>
 +
 
* [https://elinux.org/images/d/d6/U-Boot-Bootloader-for-IoT-Platform-Alexey-Brodkin-Synopsys-2.pdf PDF] | [https://youtu.be/ZxvDtzFCtFg VIDEO]
 
* [https://elinux.org/images/d/d6/U-Boot-Bootloader-for-IoT-Platform-Alexey-Brodkin-Synopsys-2.pdf PDF] | [https://youtu.be/ZxvDtzFCtFg VIDEO]
  
Line 46: Line 110:
 
This presentation covers the trials and tribulations <br>
 
This presentation covers the trials and tribulations <br>
 
of enhancing and upstreaming U-boot with Broadcom’s Northstar SoC <br>
 
of enhancing and upstreaming U-boot with Broadcom’s Northstar SoC <br>
 +
 
* [https://elinux.org/images/c/c9/Enabling_New_Hardware_in_U-Boot.pdf PDF] | [https://www.youtube.com/watch?v=zWjt6ZYxAfQ VIDEO]
 
* [https://elinux.org/images/c/c9/Enabling_New_Hardware_in_U-Boot.pdf PDF] | [https://www.youtube.com/watch?v=zWjt6ZYxAfQ VIDEO]
  
Line 55: Line 120:
 
about other features in progress and challenges in moving from a <br>
 
about other features in progress and challenges in moving from a <br>
 
vendor provided tree to the latest mainline version. <br>
 
vendor provided tree to the latest mainline version. <br>
 +
 
* [https://elinux.org/images/4/49/ELC2017_-_State_of_the_U-Boot.pdf PDF] | [https://www.youtube.com/watch?v=dKBUSMa6oZI VIDEO]
 
* [https://elinux.org/images/4/49/ELC2017_-_State_of_the_U-Boot.pdf PDF] | [https://www.youtube.com/watch?v=dKBUSMa6oZI VIDEO]
 +
 +
== Marrying U-Boot, uEFI and grub2 [ELC 2017] ==
 +
'''Presenter:''' Alexander Graf, SUSE <br>
 +
'''Summary:'''
 +
This talk will take you through how ARM systems boot, what UEFI really means, <br>
 +
how uEFI binaries interact with firmware and how this enables convergence of the <br>
 +
Enterprise and Embedded markets. <br>
 +
 +
* [https://elinux.org/images/6/69/Marrying_U-Boot%2C_UEFI_and_grub.pdf PDF] | [https://www.youtube.com/watch?v=qJAkJ3nmWgM VIDEO]
  
 
== Porting U-Boot and Linux on New ARM Boards: A Step-by-Step Guide [ELCE 2017] ==
 
== Porting U-Boot and Linux on New ARM Boards: A Step-by-Step Guide [ELCE 2017] ==
Line 62: Line 137:
 
This talk will offer a step-by-step guide through the porting <br>
 
This talk will offer a step-by-step guide through the porting <br>
 
process of U-Boot and Linux on a custom Frescale/NXP i.Mx6 platform <br>
 
process of U-Boot and Linux on a custom Frescale/NXP i.Mx6 platform <br>
 +
 
* [https://elinux.org/images/2/2a/Schulz-how-to-support-new-board-u-boot-linux.pdf PDF] | [https://youtu.be/5E0sdYkvq-Q VIDEO]
 
* [https://elinux.org/images/2/2a/Schulz-how-to-support-new-board-u-boot-linux.pdf PDF] | [https://youtu.be/5E0sdYkvq-Q VIDEO]
 +
 +
== Device tree in U-Boot SPL ==
 +
'''Presenter:''' Simon Glass, Google <br>
 +
'''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.
 +
 +
*  [https://www.elinux.org/images/1/15/Device_tree_in_U-Boot_SPL.pdf PDF ]
  
 
== Update on Shared Logging between the Kernel and the Bootloader [ELCE 2016] ==
 
== Update on Shared Logging between the Kernel and the Bootloader [ELCE 2016] ==
Line 70: Line 153:
 
an update on the current status of the shared logging feature <br>
 
an update on the current status of the shared logging feature <br>
 
between the boot-loader (U-boot) and kernel. <br>
 
between the boot-loader (U-boot) and kernel. <br>
 +
 
* [https://elinux.org/images/f/fd/Update_on_Shared_Logging_between_the_Kernel_and_the_Bootloader.pdf PDF] | [https://youtu.be/gHsna-HGRXE?list=PLbzoR-pLrL6pRFP6SOywVJWdEHlmQE51q VIDEO]
 
* [https://elinux.org/images/f/fd/Update_on_Shared_Logging_between_the_Kernel_and_the_Bootloader.pdf PDF] | [https://youtu.be/gHsna-HGRXE?list=PLbzoR-pLrL6pRFP6SOywVJWdEHlmQE51q VIDEO]
  
Line 75: Line 159:
 
'''Presenter:''' Sean Hudson, Mentor Graphics, Inc <br>
 
'''Presenter:''' Sean Hudson, Mentor Graphics, Inc <br>
 
'''Summary:'''
 
'''Summary:'''
This presentation talks about shared logging feature between <br>
+
This presentation talks about shared logging feature <br>
the boot-loader (U-Boot) and the kernel <br>
+
between the boot-loader (U-Boot) and the kernel <br>
 +
 
 
* [https://elinux.org/images/2/2b/2015-10-05_-_ELCE_-_Shared_Logging.pdf PDF] | [https://www.youtube.com/watch?v=E4h1Of8zyVg VIDEO]
 
* [https://elinux.org/images/2/2b/2015-10-05_-_ELCE_-_Shared_Logging.pdf PDF] | [https://www.youtube.com/watch?v=E4h1Of8zyVg VIDEO]
  
Line 100: Line 185:
  
 
* [https://elinux.org/images/8/8a/Vasut--secure_and_flexible_boot_with_u-boot_bootloader.pdf PDF]
 
* [https://elinux.org/images/8/8a/Vasut--secure_and_flexible_boot_with_u-boot_bootloader.pdf PDF]
 
== TPL: SPL Loading SPL (and, SPL as just another U-Boot config) [ELCE 2013] ==
 
'''Presenter:''' Scott Wood <br>
 
'''Summary:'''
 
The session talks about developing a tertiary program loader <br>
 
on similar lines as SPL and its usage. <br>
 
 
* [http://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2013/tpl-presentation.pdf PDF]
 
  
 
== Falcon Boot: current status and enhancements [ELCE 2013] ==
 
== Falcon Boot: current status and enhancements [ELCE 2013] ==
Line 124: Line 201:
 
* [https://elinux.org/images/0/05/Glass-chromeos_and_diy_vboot_0.pdf PDF]
 
* [https://elinux.org/images/0/05/Glass-chromeos_and_diy_vboot_0.pdf PDF]
  
== U-Boot Verified RSA Boot Flow on ARM (With Demo Run) [ELCE 2013] ==
+
== Driver Model, Kconfig and little Patman ==
'''Presenter:''' Jagan Teki <br>
+
'''Presenter:''' Simon Glass <br>
 
'''Summary:'''
 
'''Summary:'''
The presentation talks about booting u-boot securely <br>
+
Describes the goals with Driver Model, the Kconfig conversion and Patman, a patch-management tool for mailing lists. <br>
on an ARM platform. <br>
+
 
 +
* [https://elinux.org/images/f/fb/Dm-kconfig-patman.pdf PDF]
  
* [https://elinux.org/images/e/e9/U-boot_verified_RSA_boot_flow_on_arm_target.pdf PDF]
+
= '''Barebox''' =
  
== Device Firmware Upgrade (DFU) - present situation and future development [ELCE 2013] ==
+
== barebox, the bootloader for Linux kernel developers [FOSDEM 2023] ==
'''Presenter:''' Lukasz Majewski <br>
+
'''Presenter:''' Marco Felsch, Pengutronix <br>
 
'''Summary:'''
 
'''Summary:'''
The presentation talks present status and future <br>
+
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.
plans for device upgrade procedures on U-Boot. <br>
 
  
* [http://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2013/dfu_elce_u-boot.pdf PDF]
+
* [https://fosdem.org/2023/schedule/event/barebox/attachments/slides/5668/export/events/attachments/barebox/slides/5668/Marco_Felsch_barebox_the_bootloader_for_Linux_kernel_developers PDF]
 
 
= '''MCU-Boot''' =
 
== MCUboot: Multi-Image Support [ELCE 2018] ==
 
'''Presenter:''' David Brown, Linaro, Ltd <br>
 
'''Summary:'''
 
In this presentation, the presenter reviews the <br>
 
current status of the MCUboot project and covers <br>
 
the work being done to support multiple image update <br>
 
* [https://elinux.org/images/0/0b/MCUboot-Multi-Image-Support-David-Brown-Linaro-Ltd.pdf PDF] | [https://youtu.be/v2iPYJxWoZw VIDEO]
 
  
= '''Others''' =
 
 
== Barebox and Bootloader Specification [ELCE 2013] ==
 
== Barebox and Bootloader Specification [ELCE 2013] ==
 
'''Presenter:''' Sascha Hauer <br>
 
'''Presenter:''' Sascha Hauer <br>
Line 165: Line 232:
 
* [https://elinux.org/images/6/6b/PRE-20121108-1-Barebox.pdf PDF]
 
* [https://elinux.org/images/6/6b/PRE-20121108-1-Barebox.pdf PDF]
  
== Upgrading Without Bricking [ELCE 2012] ==
+
== U-Boot-v2 [ELCE 2009] ==
'''Presenter:''' Arnout Vandecappelle, Essensium/Mind <br>
+
'''Presenter:''' Sascha Hauer, Marc Kleine-Budde <br>
 +
'''Summary:'''
 +
The presentation talks about changes to U-Boot <br>
 +
being done as part of U-Boot-v2 project. <br>
 +
 
 +
* [https://elinux.org/images/9/90/Hauer-U_BootV2.pdf PDF]
 +
 
 +
= '''MCU-Boot''' =
 +
 
 +
== MCUboot: Multi-Image Support [ELCE 2018] ==
 +
'''Presenter:''' David Brown, Linaro, Ltd <br>
 +
'''Summary:'''
 +
In this presentation, the presenter reviews the <br>
 +
current status of the MCUboot project and covers <br>
 +
the work being done to support multiple image update <br>
 +
* [https://elinux.org/images/0/0b/MCUboot-Multi-Image-Support-David-Brown-Linaro-Ltd.pdf PDF] | [https://youtu.be/v2iPYJxWoZw VIDEO]
 +
 
 +
= '''Fastboot''' =
 +
 
 +
== TPL: SPL Loading SPL (and, SPL as just another U-Boot config) [ELCE 2013] ==
 +
'''Presenter:''' Scott Wood <br>
 
'''Summary:'''
 
'''Summary:'''
This presentation talks about upgrading process of bootloaders <br>
+
The session talks about developing a tertiary program loader <br>
 +
on similar lines as SPL and its usage. <br>
  
* [https://elinux.org/images/6/61/Upgrading_Without_Bricking.pdf PDF]
+
* [http://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2013/tpl-presentation.pdf PDF]
  
 
== IPL+UBI: Flexible and Reliable with Linux as the Bootloader [ELCE 2010] ==
 
== IPL+UBI: Flexible and Reliable with Linux as the Bootloader [ELCE 2010] ==
Line 180: Line 268:
  
 
* [https://elinux.org/images/4/45/Ipl_and_ubi.pdf PDF]
 
* [https://elinux.org/images/4/45/Ipl_and_ubi.pdf PDF]
 +
 +
= '''DFU''' =
 +
 +
== Device Firmware Upgrade (DFU) - present situation and future development [ELCE 2013] ==
 +
'''Presenter:''' Lukasz Majewski <br>
 +
'''Summary:'''
 +
The presentation talks present status and future <br>
 +
plans for device upgrade procedures on U-Boot. <br>
 +
 +
* [http://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2013/dfu_elce_u-boot.pdf PDF]
 +
 +
= '''Security''' =
 +
 +
== UEFI Secure boot in U-Boot [ELC 2019] ==
 +
'''Presenter:''' Simon Glass, Google LLC <br>
 +
'''Summary:'''
 +
This presentation will go over the current state of UEFI <br>
 +
and Secure Boot on U-Boot, including how to use it <br>
 +
 +
* [https://elinux.org/images/d/db/2019.08.23_UEFI_Secure_Boot_on_U-Boot.pdf PDF] | [https://www.youtube.com/watch?v=VnsF3uRZzNk VIDEO]
 +
 +
== Secure Boot from A to Z [ELC 2018] ==
 +
'''Presenter:''' Quentin Schulz & Mylune Josserand, Bootlin <br>
 +
'''Summary:'''
 +
These slides introduce each and every link of the <br>
 +
chain-of-trust from the boot ROM to filesystem, as well<br>
 +
as the boot-loader and kernel with real life examples.<br>
 +
 +
* [https://elinux.org/images/e/e0/Josserand-schulz-secure-boot.pdf PDF] | [https://www.youtube.com/watch?v=jtLQ8SzfrDU VIDEO]
 +
 +
== U-Boot Verified RSA Boot Flow on ARM (With Demo Run) [ELCE 2013] ==
 +
'''Presenter:''' Jagan Teki <br>
 +
'''Summary:'''
 +
The presentation talks about booting u-boot securely <br>
 +
on an ARM platform. <br>
 +
 +
* [https://elinux.org/images/e/e9/U-boot_verified_RSA_boot_flow_on_arm_target.pdf PDF]
 +
 +
= '''Others''' =
 +
 +
== Replace Your Exploit-Ridden Firmware with Linux [ELCE 2017] ==
 +
'''Presenter: '''Ronald Minnich, Google <br>
 +
'''Summary:'''
 +
This presentation talks about NERF (Non-Extensible Reduced Firmware),<br>
 +
an open source software system developed at Google to replace almost<br>
 +
all of UEFI firmware with a tiny Linux kernel and initramfs.
 +
 +
* [https://elinux.org/images/6/69/ELC_2FOCP_2FCEA_Oct._2017_NERF.pdf PDF] | [https://youtu.be/iffTJ1vPCSo VIDEO]
 +
 +
== Upgrading Without Bricking [ELCE 2012] ==
 +
'''Presenter:''' Arnout Vandecappelle, Essensium/Mind <br>
 +
'''Summary:'''
 +
This presentation talks about upgrading process of bootloaders <br>
 +
 +
* [https://elinux.org/images/6/61/Upgrading_Without_Bricking.pdf PDF]
 +
 +
== Coreboot [ELCE 2009] ==
 +
'''Presenter:''' Peter Stuge <br>
 +
'''Summary:'''
 +
The session talks about a new boot loader coreboot <br>
 +
suggested as a possible replacement to BIOS. <br>
 +
 +
* [https://bootlin.com/pub/video/2008/elce/nluug-fall2008-stuge-coreboot.ogv VIDEO]

Latest revision as of 11:30, 23 September 2023

Contents

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.


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.

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.

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

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.

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.

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

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.

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.

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

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.

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.

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

Falcon Boot: current status and enhancements [ELCE 2013]

Presenter: Stefano Babic
Summary: The session talks about falcon mode in U-Boot

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.

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.

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.

Barebox and Bootloader Specification [ELCE 2013]

Presenter: Sascha Hauer
Summary: The presentation tries to define common boot loader specs
for different ARM platforms.

Barebox Bootloader [ELCE 2012]

Presenter: Sascha Hauer, Pengutronix e.K.
Summary: This presentation takes a tour through Barebox bootloader

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.

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

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.

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.

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.

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

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.

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.

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.

Upgrading Without Bricking [ELCE 2012]

Presenter: Arnout Vandecappelle, Essensium/Mind
Summary: This presentation talks about upgrading process of bootloaders

Coreboot [ELCE 2009]

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