[U-Boot] [PATCH] add default-option to bootmenu

From 6304b2ee2d2e9be47672d3559fee8d879b7328ff Mon Sep 17 00:00:00 2001
From: Frank Wunderlich frank-w@public-files.de Date: Fri, 5 Oct 2018 11:41:59 +0200 Subject: [PATCH] add default-option to bootmenu with this patch the selected Entry in bootmenu can be set by environment-var bootmenu_default=<number> Signed-off-by: Frank Wunderlich frank-w@public-files.de --- cmd/bootmenu.c | 5 +++++ files/u-boot.bin | Bin 278424 -> 278480 bytes uEnv.txt | 2 ++ 3 files changed, 7 insertions(+) diff --git a/cmd/bootmenu.c b/cmd/bootmenu.c index 21f353ffd3..979ac4a638 100644 --- a/cmd/bootmenu.c +++ b/cmd/bootmenu.c @@ -253,6 +253,7 @@ static struct bootmenu_data *bootmenu_create(int delay) int len; char *sep; + char *default_str; struct bootmenu_entry *entry; menu = malloc(sizeof(struct bootmenu_data)); @@ -263,6 +264,10 @@ static struct bootmenu_data *bootmenu_create(int delay) menu->active = 0; menu->first = NULL; + default_str = env_get("bootmenu_default"); + if (default_str) + menu->active = (int)simple_strtol(default_str, NULL, 10); + while ((option = bootmenu_getoption(i))) { sep = strchr(option, '='); if (!sep) {

On Fri, Oct 05, 2018 at 11:58:39AM +0200, Frank Wunderlich wrote:
From 6304b2ee2d2e9be47672d3559fee8d879b7328ff Mon Sep 17 00:00:00 2001
From: Frank Wunderlich frank-w@public-files.de Date: Fri, 5 Oct 2018 11:41:59 +0200 Subject: [PATCH] add default-option to bootmenu with this patch the selected Entry in bootmenu can be set by environment-var bootmenu_default=<number> Signed-off-by: Frank Wunderlich frank-w@public-files.de
Applied to u-boot/master, thanks!

thank you
as a small improvement (i've recently experienced), menu->active should be checked against menu->count (at the end of bootmenu_create), else it can be "outside" of the menu and selection is not visible till menu->active is below menu->count.
http://git.denx.de/?p=u-boot.git;a=blob;f=cmd/bootmenu.c;h=979ac4a638df48b95...
but i'm not 100% sure, how to handle it correctly, so i post it for discussion
because menu->active is initialized with 0 my preferred version is this:
if (menu->active >= menu->count) menu->active=0; //or any other value below menu->count (maybe a const set by boardconfig, but this can also be outside the menu, so 0 is imho better)
this is a user-configured environment-var so it is not a big problem :) but a simple check avoids this issue
regards Frank
Gesendet: Dienstag, 27. November 2018 um 19:47 Uhr Von: "Tom Rini" trini@konsulko.com An: "Frank Wunderlich" FrankWu@gmx.de Cc: u-boot@lists.denx.de Betreff: Re: [U-Boot] add default-option to bootmenu
On Fri, Oct 05, 2018 at 11:58:39AM +0200, Frank Wunderlich wrote:
From 6304b2ee2d2e9be47672d3559fee8d879b7328ff Mon Sep 17 00:00:00 2001
From: Frank Wunderlich frank-w@public-files.de Date: Fri, 5 Oct 2018 11:41:59 +0200 Subject: [PATCH] add default-option to bootmenu with this patch the selected Entry in bootmenu can be set by environment-var bootmenu_default=<number> Signed-off-by: Frank Wunderlich frank-w@public-files.de
Applied to u-boot/master, thanks!
-- Tom

attached Patch to check if active menuitem is inside menu
regards Frank
Gesendet: Samstag, 01. Dezember 2018 um 13:41 Uhr Von: "Frank Wunderlich" frank-w@public-files.de An: "Tom Rini" trini@konsulko.com Cc: u-boot@lists.denx.de Betreff: Re: [U-Boot] add default-option to bootmenu
thank you
as a small improvement (i've recently experienced), menu->active should be checked against menu->count (at the end of bootmenu_create), else it can be "outside" of the menu and selection is not visible till menu->active is below menu->count.
http://git.denx.de/?p=u-boot.git;a=blob;f=cmd/bootmenu.c;h=979ac4a638df48b95...
but i'm not 100% sure, how to handle it correctly, so i post it for discussion
because menu->active is initialized with 0 my preferred version is this:
if (menu->active >= menu->count) menu->active=0; //or any other value below menu->count (maybe a const set by boardconfig, but this can also be outside the menu, so 0 is imho better)
this is a user-configured environment-var so it is not a big problem :) but a simple check avoids this issue
regards Frank
Gesendet: Dienstag, 27. November 2018 um 19:47 Uhr Von: "Tom Rini" trini@konsulko.com An: "Frank Wunderlich" FrankWu@gmx.de Cc: u-boot@lists.denx.de Betreff: Re: [U-Boot] add default-option to bootmenu
On Fri, Oct 05, 2018 at 11:58:39AM +0200, Frank Wunderlich wrote:
From 6304b2ee2d2e9be47672d3559fee8d879b7328ff Mon Sep 17 00:00:00 2001
From: Frank Wunderlich frank-w@public-files.de Date: Fri, 5 Oct 2018 11:41:59 +0200 Subject: [PATCH] add default-option to bootmenu with this patch the selected Entry in bootmenu can be set by environment-var bootmenu_default=<number> Signed-off-by: Frank Wunderlich frank-w@public-files.de
Applied to u-boot/master, thanks!
-- Tom
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
participants (3)
-
Frank Wunderlich
-
Frank Wunderlich
-
Tom Rini