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

Simon Glass
2022-03-13T22:24:14Z

Hi Mark,

On Sun, 13 Mar 2022 at 09:47, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
>
> > 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.

Ah yes, I put an error on that command when flags are given. You can
enable CONFIG_BOOTFLOW_FULL to get that back. For now, 'bootflow scan'
just scans and boots and does not support args. See
do_bootflow_scan().

I will update the cover letter so it just says 'bootflow scan'.

Regards,
SImon