X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fplatform.c;h=fc0930db29a1cd67d6223d891f9fa9a865e064e6;hp=445158991fcef7cfc2b2846b0154d7bb45f97625;hb=27863350496534c1bdd6a2d48661f8973aed0945;hpb=366ff957d2900eae6d26ad2f002b735302e7eb41 diff --git a/discover/platform.c b/discover/platform.c index 4451589..fc0930d 100644 --- a/discover/platform.c +++ b/discover/platform.c @@ -3,6 +3,7 @@ #include #include +#include #include #include @@ -35,6 +36,9 @@ static void dump_config(struct config *config) if (config->safe_mode) pb_log(" safe mode: active\n"); + if (config->disable_snapshots) + pb_log(" dm-snapshots disabled\n"); + for (i = 0; i < config->network.n_interfaces; i++) { struct interface_config *ifconf = config->network.interfaces[i]; @@ -56,22 +60,20 @@ static void dump_config(struct config *config) pb_log(" static:\n"); pb_log(" ip: %s\n", ifconf->static_config.address); pb_log(" gw: %s\n", ifconf->static_config.gateway); + pb_log(" url: %s\n", ifconf->static_config.url); } } for (i = 0; i < config->network.n_dns_servers; i++) pb_log(" dns server %s\n", config->network.dns_servers[i]); - if (config->boot_device) - pb_log(" boot device %s\n", config->boot_device); - - if (config->n_boot_priorities) - pb_log(" boot priority order:\n"); - - for (i = 0; i < config->n_boot_priorities; i++) { - struct boot_priority *prio = &config->boot_priorities[i]; - pb_log(" %10s: %d\n", device_type_name(prio->type), - prio->priority); + for (i = 0; i < config->n_autoboot_opts; i++) { + if (config->autoboot_opts[i].boot_type == BOOT_DEVICE_TYPE) + pb_log(" boot device %d: %s\n", i, + device_type_name(config->autoboot_opts[i].type)); + else + pb_log(" boot device %d: uuid: %s\n", + i, config->autoboot_opts[i].uuid); } pb_log(" IPMI boot device 0x%02x%s\n", config->ipmi_bootdev, @@ -102,6 +104,8 @@ static bool config_debug_on_cmdline(void) void config_set_defaults(struct config *config) { + const char *lang; + config->autoboot_enabled = true; config->autoboot_timeout_sec = 10; config->autoboot_enabled = true; @@ -109,22 +113,30 @@ void config_set_defaults(struct config *config) config->network.n_interfaces = 0; config->network.dns_servers = NULL; config->network.n_dns_servers = 0; - config->boot_device = NULL; config->safe_mode = false; - config->lang = NULL; + config->allow_writes = true; + config->disable_snapshots = false; - config->n_boot_priorities = 2; - config->boot_priorities = talloc_array(config, struct boot_priority, - config->n_boot_priorities); - config->boot_priorities[0].type = DEVICE_TYPE_NETWORK; - config->boot_priorities[0].priority = 0; - config->boot_priorities[1].type = DEVICE_TYPE_ANY; - config->boot_priorities[1].priority = 1; + config->n_autoboot_opts = 2; + config->autoboot_opts = talloc_array(config, struct autoboot_option, + config->n_autoboot_opts); + config->autoboot_opts[0].boot_type = BOOT_DEVICE_TYPE; + config->autoboot_opts[0].type = DEVICE_TYPE_NETWORK; + config->autoboot_opts[1].boot_type = BOOT_DEVICE_TYPE; + config->autoboot_opts[1].type = DEVICE_TYPE_ANY; config->ipmi_bootdev = 0; config->ipmi_bootdev_persistent = false; config->debug = config_debug_on_cmdline(); + + lang = setlocale(LC_ALL, NULL); + pb_log("lang: %s\n", lang); + if (lang && strlen(lang)) + config->lang = talloc_strdup(config, lang); + else + config->lang = NULL; + } int platform_init(void *ctx)