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

Mark Kettenis
2022-03-13T15:47:47Z

> From: Simon Glass <sjg@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.