[PATCH v2 00/25] bootstd: Add a boot menu

Simon Glass sjg at chromium.org
Thu Nov 10 03:15:56 CET 2022


Hi Heinrich,

On Mon, 7 Nov 2022 at 16:35, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Heinrich,
>
> On Mon, 7 Nov 2022 at 12:15, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
> >
> > On 11/4/22 23:48, Simon Glass wrote:
> > > So far standard boot lacks a boot menu, although it is possible to create
> > > a rudimentary one using the existing 'bootmenu' command.
> > >
> > > Even then, this text-based menu offer only basic functionality and does
> > > not take full advantage of the displays which are common on many devices.
> > >
> > > This series provides a 'bootflow menu' command which allows the user to
> > > select from the available bootflows. An attempt is made to show the name
> > > of the available operating systems, by reading more information into the
> > > bootflow. A logo can be read also, where supported, so that this can be
> > > presented to the user when an option is highlighted.
> > >
> > > Full use is made of TrueType fonts, if enabled. For cases where only a
> > > serial console is available, it falls back to a simple text-based menu.
> >
> > Please, add the link to your design document
> >
> > https://docs.google.com/document/d/1VQeApnLlH6xKm_OI36AhWkJLUEd9OXEvIJXB8aM2de8/edit?resourcekey=0-DwgHpR2S8vJEJzvvwPb-AQ#heading=h.17wg41voij6q
> > is broken.
>
> What happens when you click that? It works for me.
>
> >
> > in future version of this series.
> >
> > The series leaves us with duplicate code in
> >
> > bootmenu_choice_entry() and eficonfig_choice_entry() as well as
> > bootmenu_loop() and bootmenu_autoboot_loop().
>
> Yes OK, but that is the case today and my series actually removes some
> duplicated code, so perhaps that could be cleaned up later?
>
> >
> > The bootmenu command relies heavily on ANSI sequences but VIDEO_ANSI is
> > disabled by default for CONFIG_EFI_LOADER=n which means that the
> > bootmenu command will not work anymore.
>
> Does it not work, or does it just work but in a serial fashion? I
> don't see ANSI codes as being necessary to show a menu.
>
> >
> > >
> > > All of this is implementing using a new 'expo' construct, a collection of
> >
> > Expo is not an English word. Expo is typically used as name of trade
> > fairs. Transaction probably is the right word to use here.
>
> That is debatable I think. Transaction is quite generic and appears in
> U-Boot >400 times. I think it will just be confusing, like the word
> 'metadata' used in the FWU stuff.
>
> Expo is short for exposition. My use of it is somewhat archaic
> perhaps, but even for the meaning you mention, a public exposition is
> not a bad description of what is provided here.
>
> I am not 100% convinced about 'expo' either. Do you have any other ideas?
>
> >
> > Files expo.c and scene.c are in boot/ which does not match a generic GUI
> > feature. They should be placed in lib/.
>
> Yes I was wondering about that, but thought that boot/ made at least
> some sense since the menu will only ever be used for booting...?
>
> I can move it, but I am a little nervous about that, since lib/
> normally has utility libraries. Perhaps lib/expo would be better?

Just to say that I replied to your comments on the doc also, so let me
know what you think.

Regards,
Simon


More information about the U-Boot mailing list