--- common/bootm.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/common/bootm.c b/common/bootm.c index 73409bf9f70c..01b54ab93958 100644 --- a/common/bootm.c +++ b/common/bootm.c @@ -656,7 +656,18 @@ int bootm_boot(struct bootm_data *bootm_data) if (bootm_data->appendroot) { char *rootarg; - rootarg = path_get_linux_rootarg(data->os_file); + if (bootm_data->root_dev) { + const char *root_dev_name = devpath_to_name(bootm_data->root_dev); + const struct cdev *root_cdev = cdev_by_name(root_dev_name); + + if (root_cdev && root_cdev->partuuid[0] != 0) { + rootarg = basprintf("root=PARTUUID=%s", root_cdev->partuuid); + } else { + rootarg = path_get_linux_rootarg("invalid"); + } + } else { + rootarg = path_get_linux_rootarg(data->os_file); + } if (!IS_ERR(rootarg)) { printf("Adding \"%s\" to Kernel commandline\n", rootarg); globalvar_add_simple("linux.bootargs.bootm.appendroot", -- 2.7.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox