X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fplatform.c;h=93f25c357ad1ddbb16675d799be85d7421a185b2;hp=d52c9f65eecd48617b24f911a803f9498cde4ab4;hb=2bb12a3b0f27af0d1724d2d58abdb877835289fa;hpb=a984595cfb4910ba6f464c69c316f1613f10f894 diff --git a/discover/platform.c b/discover/platform.c index d52c9f6..93f25c3 100644 --- a/discover/platform.c +++ b/discover/platform.c @@ -11,6 +11,23 @@ void *platform_ctx; static struct platform *platform; static struct config *config; +static const char *device_type_name(enum device_type type) +{ + switch (type) { + case DEVICE_TYPE_DISK: + return "disk"; + case DEVICE_TYPE_OPTICAL: + return "optical"; + case DEVICE_TYPE_NETWORK: + return "network"; + case DEVICE_TYPE_ANY: + return "any"; + case DEVICE_TYPE_UNKNOWN: + default: + return "unknown"; + } +} + static void dump_config(struct config *config) { unsigned int i; @@ -26,6 +43,9 @@ static void dump_config(struct config *config) if (config->network.n_interfaces || config->network.n_dns_servers) pb_log(" network configuration:\n"); + if (config->safe_mode) + pb_log(" safe mode: active\n"); + for (i = 0; i < config->network.n_interfaces; i++) { struct interface_config *ifconf = config->network.interfaces[i]; @@ -52,23 +72,35 @@ static void dump_config(struct config *config) } for (i = 0; i < config->network.n_dns_servers; i++) pb_log(" dns server %s\n", config->network.dns_servers[i]); + + 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); + } } void config_set_defaults(struct config *config) { config->autoboot_enabled = true; config->autoboot_timeout_sec = 10; + config->autoboot_enabled = true; config->network.interfaces = NULL; config->network.n_interfaces = 0; config->network.dns_servers = NULL; config->network.n_dns_servers = 0; + config->boot_device = NULL; 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 = 2; config->boot_priorities[1].type = DEVICE_TYPE_DISK; - + config->boot_priorities[1].priority = 1; } int platform_init(void *ctx)