X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fplatform-powerpc.c;h=fc96305ad70bc56d71d5e002a5b03617a84a57a6;hp=b4f2a771f64ce6b8016025860ded536a901ded1f;hb=61e30136d88c1e2cef353e09789dbb969be64f55;hpb=37b4861cb01bf6bd9da41aa1b311a87b0d26fc25 diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index b4f2a77..fc96305 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -53,6 +53,7 @@ static const char *known_params[] = { "petitboot,bootdevs", "petitboot,language", "petitboot,debug?", + "petitboot,write?", NULL, }; @@ -548,6 +549,10 @@ static void populate_config(struct platform_powerpc *platform, val = get_param(platform, "petitboot,debug?"); config->debug = val && !strcmp(val, "true"); } + + val = get_param(platform, "petitboot,write?"); + if (val) + config->allow_writes = !strcmp(val, "true"); } static char *iface_config_str(void *ctx, struct interface_config *config) @@ -664,7 +669,7 @@ static void update_bootdev_config(struct platform_powerpc *platform, opt->uuid, delim); break; } - tmp = val = talloc_asprintf_append(val, boot_str); + tmp = val = talloc_asprintf_append(val, "%s", boot_str); } update_string_config(platform, "petitboot,bootdevs", val); @@ -707,6 +712,12 @@ static int update_config(struct platform_powerpc *platform, val = config->lang ?: ""; update_string_config(platform, "petitboot,language", val); + if (config->allow_writes == defaults->allow_writes) + val = ""; + else + val = config->allow_writes ? "true" : "false"; + update_string_config(platform, "petitboot,write?", val); + update_network_config(platform, config); update_bootdev_config(platform, config);