[PATCH 1/2] autoboot: allow custom prompt without requiring AUTOBOOT_KEYED
Tom Rini
trini at konsulko.com
Mon Apr 6 18:10:57 CEST 2026
On Mon, Apr 06, 2026 at 03:39:38PM +0000, Ferass El Hafidi wrote:
> On Mon, 06 Apr 2026 15:30, Tom Rini <trini at konsulko.com> wrote:
> > On Sun, Apr 05, 2026 at 10:49:04AM +0000, Ferass El Hafidi wrote:
> >
> > > The autoboot prompt used to only be customizable in Kconfig when
> > > AUTOBOOT_KEYED was enabled. For a usecase such as having a nicer
> > > autoboot prompt alongside a splash screen, there is no reason for
> > > AUTOBOOT_KEYED to be required for this.
> > >
> > > Remove the dependency to AUTOBOOT_KEYED, and use AUTOBOOT_PROMPT in
> > > print_boot_delay() instead of a hardcoded string.
> > >
> > > Signed-off-by: Ferass El Hafidi <funderscore at postmarketos.org>
> > > ---
> > > boot/Kconfig | 31 ++++++++++++++++---------------
> > > common/autoboot.c | 4 +++-
> > > 2 files changed, 19 insertions(+), 16 deletions(-)
> > >
> > > diff --git a/boot/Kconfig b/boot/Kconfig
> > > index bfed452d77e..6c8ec356996 100644
> > > --- a/boot/Kconfig
> > > +++ b/boot/Kconfig
> > > @@ -1560,6 +1560,22 @@ config AUTOBOOT
> > > help
> > > This enables the autoboot. See doc/README.autoboot for detail.
> > > +config AUTOBOOT_PROMPT
> > > + string "Autoboot stop prompt"
> > > + default "Autoboot in %d seconds\\n" if AUTOBOOT_KEYED
> > > + default "\\rHit any key to stop autoboot: %d"
> > > + help
> > > + This string is displayed before the boot delay selected by
> > > + CONFIG_BOOTDELAY starts. If it is not defined there is no
> > > + output indicating that autoboot is in progress.
> > > +
> > > + Note that this define is used as the (only) argument to a
> > > + printf() call, so it may contain '%' format specifications,
> > > + provided that it also includes, separated by commas exactly
> > > + like in a printf statement, the required arguments. It is
> > > + the responsibility of the user to select only such arguments
> > > + that are valid in the given context.
> > > +
> > > if AUTOBOOT
> > > config BOOTDELAY
> > > @@ -1597,21 +1613,6 @@ config AUTOBOOT_FLUSH_STDIN
> > > This can't be enabled for the sandbox as flushing stdin would
> > > break the autoboot unit tests.
> > > -config AUTOBOOT_PROMPT
> > > - string "Autoboot stop prompt"
> > > - default "Autoboot in %d seconds\\n"
> > > - help
> > > - This string is displayed before the boot delay selected by
> > > - CONFIG_BOOTDELAY starts. If it is not defined there is no
> > > - output indicating that autoboot is in progress.
> > > -
> > > - Note that this define is used as the (only) argument to a
> > > - printf() call, so it may contain '%' format specifications,
> > > - provided that it also includes, separated by commas exactly
> > > - like in a printf statement, the required arguments. It is
> > > - the responsibility of the user to select only such arguments
> > > - that are valid in the given context.
> > > -
> > > config AUTOBOOT_ENCRYPTION
> > > bool "Enable encryption in autoboot stopping"
> > > help
> > > diff --git a/common/autoboot.c b/common/autoboot.c
> > > index 1783ef92c94..d12d618fea3 100644
> > > --- a/common/autoboot.c
> > > +++ b/common/autoboot.c
> > > @@ -379,7 +379,9 @@ static int abortboot_key_sequence(int bootdelay)
> > > static void print_boot_delay(int bootdelay)
> > > {
> > > - printf(ANSI_CLEAR_LINE "\rHit any key to stop autoboot: %d", bootdelay);
> > > +#ifdef CONFIG_AUTOBOOT_PROMPT
> > > + printf(ANSI_CLEAR_LINE CONFIG_AUTOBOOT_PROMPT, bootdelay);
> > > +#endif
> > > }
> > > static int abortboot_single_key(int bootdelay)
> >
> > We shouldn't need to guard this, as it's always prompted for now during
> > configuration, yes?
> >
>
> I did this in case it happened to be unset, and also to provide a way to
> silence the prompt entirely.
I believe it must be set (there may or may not be some fun around
CMDLINE=n), but this doesn't allow for the prompt to be unset, if I'm
recalling some of the fun around Kconfig -> defines works (defined to ""
is not the same as undefined, we would need to add a new bool Kconfig
option, that's why there's USE_PREBOOT and PREBOOT for example).
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260406/bc962b36/attachment.sig>
More information about the U-Boot
mailing list