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

Simon Glass sjg at chromium.org
Tue Dec 20 17:22:09 CET 2022


Hi Tom,

On Mon, 5 Dec 2022 at 17:05, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Heinrich (and anyone else),
>
> On Thu, 10 Nov 2022 at 15:15, Simon Glass <sjg at chromium.org> wrote:
> >
> > 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.
>
> I'd like to get this applied now that -next is opening. Do you have
> any more comments?

What are your thoughts on apply this now, -next?

I am starting to wonder if we should have a VBE tree, as we do for EFI?

Regards,
Simon


More information about the U-Boot mailing list