[PATCH 1/2] autoboot: allow custom prompt without requiring AUTOBOOT_KEYED

Ferass El Hafidi funderscore at postmarketos.org
Mon Apr 6 19:41:44 CEST 2026


On Mon, 06 Apr 2026 16:10, Tom Rini <trini at konsulko.com> wrote:
>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).
>

Ah right, then the #ifdef/#endif are completely useless. Will modify the
Kconfig help message as well. I don't intend to have this unset in my
usecase anyway.

Thanks for the review!

Best regards,
Ferass


More information about the U-Boot mailing list