[SeaBIOS] [PATCH] bootmenu: Skip wait for keypress with less than one item

Kevin O'Connor kevin at koconnor.net
Wed Jun 25 03:20:41 CEST 2014


On Tue, Jun 24, 2014 at 11:48:21AM -0500, Matt DeVillier wrote:
> Here's how I did it - this will skip the 'Press XXX for boot menu.' as well, so that there is no delay in booting, and no confusion on the user's part as to why the boot menu key isn't working :)
> 
> requires the file /etc/boot-auto to exist in the CBFS.
> 
>  diff --git a/src/boot.c b/src/boot.c
> index 133e206..bb5fd1f 100644
> --- a/src/boot.c
> +++ b/src/boot.c
> @@ -455,6 +455,12 @@ interactive_bootmenu(void)
>      if (! CONFIG_BOOTMENU || !romfile_loadint("etc/show-boot-menu", 1))
>          return;
>  
> +    //skip menu if only one boot device
> +    if ( NULL == BootList.first->next  && romfile_loadint("etc/boot-auto", 0) ) {

The above would access invalid memory if there were no bootable
devices - it should be something like:

    if ((!BootList.first || !BootList.first->next)
        && romfile_loadint("etc/boot-auto", 0))
        return;

> +       printf("\n");

Why the printf?

-Kevin



More information about the SeaBIOS mailing list