static const char *kernel_cmdline_debug = "petitboot.debug";
-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;
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");
prio->priority);
}
+ pb_log(" IPMI boot device 0x%02x%s\n", config->ipmi_bootdev,
+ config->ipmi_bootdev_persistent ? " (persistent)" : "");
+
+
pb_log(" language: %s\n", config->lang ?: "");
}
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[0].priority = 0;
+ config->boot_priorities[1].type = DEVICE_TYPE_ANY;
config->boot_priorities[1].priority = 1;
+ config->ipmi_bootdev = 0;
+ config->ipmi_bootdev_persistent = false;
+
config->debug = config_debug_on_cmdline();
}
return platform;
}
+void platform_pre_boot(void)
+{
+ const struct config *config = config_get();
+
+ if (platform && config && platform->pre_boot)
+ platform->pre_boot(platform, config);
+}
+
int platform_get_sysinfo(struct system_info *info)
{
if (platform && platform->get_sysinfo)