[PATCH] discover/device-handler: Treat empty boot order as 'boot any'

Samuel Mendoza-Jonas sam at mendozajonas.com
Wed Feb 7 17:16:43 AEDT 2018


It is possible to have autoboot enabled with an empty boot order.
Currently this acts as if autoboot is disabled, but it likely makes more
sense to the user for this to behave as "autoboot any device".

Signed-off-by: Samuel Mendoza-Jonas <sam at mendozajonas.com>
---
 discover/device-handler.c | 3 +++
 ui/ncurses/nc-config.c    | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/discover/device-handler.c b/discover/device-handler.c
index 7a570f9..a6eb884 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -832,6 +832,9 @@ static enum default_priority default_option_priority(
 		int boot_match = autoboot_option_priority(config, opt);
 		if (boot_match > 0)
 			return boot_match;
+	} else {
+		/* If there is no specific boot order, boot any device */
+		return DEFAULT_PRIORITY_LOCAL_FIRST;
 	}
 
 	/* If the option didn't match any entry in the array, it is disabled */
diff --git a/ui/ncurses/nc-config.c b/ui/ncurses/nc-config.c
index 58bae29..8ffa5ef 100644
--- a/ui/ncurses/nc-config.c
+++ b/ui/ncurses/nc-config.c
@@ -203,7 +203,7 @@ static int screen_process_form(struct config_screen *screen)
 	const struct system_info *sysinfo = screen->cui->sysinfo;
 	enum net_conf_type net_conf_type;
 	struct interface_config *iface;
-	bool allow_write, autoboot;
+	bool allow_write;
 	char *str, *end;
 	struct config *config;
 	int i, n_boot_opts, rc;
@@ -218,8 +218,8 @@ static int screen_process_form(struct config_screen *screen)
 	n_boot_opts = widget_subset_get_order(config, &order,
 					      screen->widgets.boot_order_f);
 
-	autoboot = widget_select_get_value(screen->widgets.autoboot_f);
-	config->autoboot_enabled = autoboot && n_boot_opts;
+	config->autoboot_enabled = widget_select_get_value(
+						screen->widgets.autoboot_f);
 
 	config->n_autoboot_opts = n_boot_opts;
 	config->autoboot_opts = talloc_array(config, struct autoboot_option,
-- 
2.16.1



More information about the Petitboot mailing list