10 Commits

Author SHA1 Message Date
Simon Glass
16dad5cc12 expo: Support disk-passphrase entry in the menu
Provide fields to show that a disk is locked and allow the user to
enter a passphrase to unlock it.

Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
2025-11-14 12:00:31 -07:00
Simon Glass
65898fe68e expo: Add an image that indicates verification
Where an OS is verified by a vendor, add a way to show a suitable symbol
to indicate this.

Series-to: concept
Series-cc: heinrich
Cover-letter:
expo: Extend the boot menu
The current boot menu works but it is still fairly basic. This series
makes various improvements:

- adds buttons for settings, help
- adds a way to show other items for each OS (e.g. distro version-name)
- adds a second logo
- allows a box to be drawn around each item

This series also provides a way to dump the expo as a text file, so that
it can be examined or compared with another one. This is useful for
debugging. A 'cedit dump' command allows dumping the information.

A few fixes are included as well:

- for mouse operation, avoid dropping click events
- for keyboard, fix support for escape sequences
END

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-10-10 03:11:26 +01:00
Simon Glass
18968628f5 expo: Add a box around each item
Some layouts show a box around each menu item. Add an item for that.
For now this is not used in the standard layout.

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-10-10 03:11:26 +01:00
Simon Glass
69be9bbff3 expo: Add a way to display the distro version-name
Some distros have a name in addition to the version. Add an object for
that in case it is needed. Move the existing objects down to make room.

Add a definition for a button which displays help. For now this is not
used in the standard layout.

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-10-10 03:11:26 +01:00
Simon Glass
5d66c957de expo: Add a help button
Add a definition for a button which displays help. For now this is not
used in the standard layout.

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-10-10 03:11:26 +01:00
Simon Glass
e94de63e6c expo: Add a way to select settings
In some cases it is useful to provide a settings scene, or perhaps just
a button to change the layout. Add support for this.
2025-10-10 03:11:26 +01:00
Simon Glass
f4e3c6f418 expo: Add another logo in the bootmenu
In some cases we want to show a logo other than the U-Boot one. Add a
field for this, so it can be used by layouts which need it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-10-10 03:11:23 +01:00
Simon Glass
8960f0a4c8 expo: Add comments for enum bootmenu_id_t
Document the ranges in this enum, so it is clear what they a used for.

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-09-15 13:23:12 -06:00
Simon Glass
1a0434517a expo: Improve the visual appearance of the menu
The menu is currently quite basic. Make use of some recently added
features in expo, to:

- Show proper prompts
- Highlight the current item
- Centre text
- Use multi-line text instead of two independent lines
- Put a box around the items

Signed-off-by: Simon Glass <sjg@chromium.org>
2025-05-02 09:45:52 -06:00
Simon Glass
02d929bfb2 bootstd: Support creating a boot menu
Create an expo to handle the boot menu. For now this is quite simple, with
just a header, some menu items and a pointer to show the current one.

Signed-off-by: Simon Glass <sjg@chromium.org>
2023-01-16 18:26:50 -05:00