[PATCH v4 00/33] Initial implementation of standard boot

Mark Kettenis mark.kettenis at xs4all.nl
Sun Mar 13 16:47:36 CET 2022


> From: Simon Glass <sjg at chromium.org>
> Date: Sun,  6 Mar 2022 05:49:43 -0700
> 
> The bootflow feature provide a built-in way for U-Boot to automatically
> boot an Operating System without custom scripting and other customisation.
> This is called 'standard boot' since it provides a standard way for
> U-Boot to boot a distro, without scripting.
> 
> It introduces the following concepts:
> 
>    - bootdev - a device which can hold a distro
>    - bootmeth - a method to scan a bootdev to find bootflows (owned by
>                 U-Boot)
>    - bootflow - a description of how to boot (owned by the distro)
> 
> This series provides an implementation of these, enabled to scan for
> bootflows from MMC, USB and Ethernet. It supports the existing distro
> boot as well as the EFI loader flow (bootefi/bootmgr). It works
> similiarly to the existing script-based approach, but is native to
> U-Boot.
> 
> With this we can boot on a Raspberry Pi 3 with just one command:
> 
>    bootflow scan -lb
> 
> which means to scan, listing (-l) each bootflow and trying to boot each
> one (-b). The final patch shows this.
> 
> With a standard way to identify boot devices, booting become easier. It
> also should be possible to support U-Boot scripts, for backwards
> compatibility only.

For the record.  In its current state this series breaks booting on
Apple M1:

  Hit any key to stop autoboot: 0
  Flags not supported: enable CONFIG_BOOTFLOW_FULL
  bootflow - Boot flows

  Usage:
  bootflow scan - boot first available bootflow

  =>

I'll see if I can actually convert this board to "standard boot".  But
I think this means that this breaks the majority of the boards
currently in the tree.


More information about the U-Boot mailing list