- state->opt->boot_image_file = resolve_path(state->opt, value,
- conf->dc->device_path);
- state->desc_image = talloc_strdup(state->opt, value);
+ /* Then start the new image. */
+
+ if (g_boot && g_part) {
+ char* dev = talloc_asprintf(NULL, "%s%s", g_boot,
+ g_part);
+
+ state->opt->boot_image_file = resolve_path(state->opt,
+ value, dev);
+ state->desc_image = talloc_asprintf(state->opt,
+ "%s%s", dev, value);
+ talloc_free(dev);
+ } else if (g_boot) {
+ state->opt->boot_image_file = resolve_path(state->opt,
+ value, g_boot);
+ state->desc_image = talloc_asprintf(state->opt,
+ "%s%s", g_boot, value);
+ } else {
+ state->opt->boot_image_file = resolve_path(state->opt,
+ value, conf->dc->device_path);
+ state->desc_image = talloc_strdup(state->opt, value);
+ }
+