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

Tom Rini trini at konsulko.com
Tue Jan 17 14:57:14 CET 2023


On Fri, Jan 06, 2023 at 08:52:18AM -0600, 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.
> 
> All of this is implementing using a new 'expo' construct, a collection of
> scenes (like menu screens) which can be navigated by the user to view
> information and select options. This is fairly general and should be able
> to cope with a wider array of use cases, with less hacking of the menu
> code, such as is currently needed for CMD_BOOTEFI_BOOTMGR.
> 
> Of course it would be possible to enhance the existing menu rather than
> creating a new setup. Instead it seems better to make the existing menu
> use expo, if code space permits. It avoids the event-loop problem and
> should be more extensible, given its loosely coupled components and use of
> IDs instead of pointers. Further motivation is provided in the
> documentation.
> 
> For now the CLI keypress-decoding code is split out to be used by the new
> menu. The key codes defined by menu.h are reused also.
> 
> This is of course just a starting point. Some ideas for future work are
> included in the documentation.
> 
> Changes in v3:
> - Rebase to master

With a minor change to add a doc comment to include/expo.h, this has
been applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230117/1023c245/attachment.sig>


More information about the U-Boot mailing list