[ipxe-devel] ROM timeout adjust

Michael Brown mcb30 at ipxe.org
Tue Sep 15 10:10:24 UTC 2015

On 15/09/15 02:22, Ben Hildred wrote:
> As I wrote earlier I have been reviewing debian's patches of ipxe (tanks
> to Robin and michael one issue is resolved) and I am not sure I like
> their way of suppressing the control-b time out, specifically their
> patch changes ROM_BANNER_TIMEOUT_TICKS definition in
> arch/i386/prefix/romprefix.S so that it is only defined if not already
> defined and define it as 0 in a local configuration file (The local
> configuration file approach seems reasonable, but I am not sure of their
> choice of variable) the definition of ...TICKS is in terms
> of ROM_BANNER_TIMEOUT. Firstly I have no issue with the actual code
> debian wrote, I am however not sure if it is a good idea overall.

That seems like a pointless patch, since config/general.h already allows 
that timeout to be configured.

> I propose the following courses of action:
> 1. in environments where there is the ability to receive pre-execution
> input (command line, emulator settings, hardware buttons) that we
> disable banner timeout in favor of pre-execution input. A simple way of
> doing this quickly in the case of qumu would to create two boot-roms;
> one with no delay and one with autoboot disabled and select between them
> by qemu commandline options. A similar method could be explored with
> boot menu options. Long term I would prefer to use command line
> parameters or emulator variables (or hardware buttons on the network card).

If an embedded image or a command line has been provided, then iPXE will 
already omit the normal shell prompt ("Press Ctrl-B for the iPXE command 
line").  See http://ipxe.org/cmd/prompt for details.

This does not apply to the ROM-only POST prompt ("Press Ctrl-B to 
configure iPXE"), which runs in an environment in which the only way to 
provide pre-execution input is via an embedded script.  Since adding an 
embedded script requires recompilation anyway, there is no downside to 
requiring the user to also configure ROM_BANNER_TIMEOUT at the same time.

> 2. In environments where pre-execution input is not available I would
> like to make it easier to adjust the banner timeout at compile time by
> both local configuration includes and compiler options. I think the
> pattern of the debian patch has value for this, but I am not sure they
> picked the right configuration variable.

config/general.h already provides BANNER_TIMEOUT and ROM_BANNER_TIMEOUT 
as configurable options.  I'm not sure what the Debian patch is trying 
to add here.


More information about the ipxe-devel mailing list