From: Alison Chaiken <ali...@she-devel.com> The existing partitions-list parsing in cmd/gpt.c passes a value from gpt_default() to set_gpt_info() that README.gpt suggests should begin with 'partitions='. Partition-list strings should in fact begin with 'uuid_disk', as otherwise the call from set_gpt_info() to extract_val() to find 'uuid_disk' will fail. Change README.gpt and file comments accordingly.
Signed-off-by: Alison Chaiken <ali...@peloton-tech.com> --- cmd/gpt.c | 13 +------------ doc/README.gpt | 8 ++++---- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/cmd/gpt.c b/cmd/gpt.c index 6a0b70f..487314b 100644 --- a/cmd/gpt.c +++ b/cmd/gpt.c @@ -232,12 +232,6 @@ static void print_gpt_info(void) #ifdef CONFIG_CMD_GPT_FLIP static int calc_parts_list_len(int numparts) { - /* - * prefatory string: - * doc/README.GPT, suggests that - * int partlistlen = UUID_STR_LEN + 1 + strlen("partitions=uuid_disk="); - * is correct, but extract_val() expects "uuid_disk" first. - */ int partlistlen = UUID_STR_LEN + 1 + strlen("uuid_disk="); /* for the comma */ partlistlen++; @@ -260,7 +254,7 @@ static int calc_parts_list_len(int numparts) * argument * * From doc/README.gpt, Format of partitions layout: - * "partitions=uuid_disk=...;name=u-boot,size=60MiB,uuid=...; + * "uuid_disk=...;name=u-boot,size=60MiB,uuid=...; * name=kernel,size=60MiB,uuid=...;" * The fields 'name' and 'size' are mandatory for every partition. * The field 'start' is optional. The fields 'uuid' and 'uuid_disk' @@ -275,11 +269,6 @@ static int create_gpt_partitions_list(int numparts, const char *guid, char *part if (!partitions_list) return -1; - /* - * README.gpt specifies starting with "partitions=" like so: - * strcpy(partitions_list, "partitions=uuid_disk="); - * but that breaks extract_val, which doesn't skip over 'partitions='. - */ strcpy(partitions_list, "uuid_disk="); strncat(partitions_list, guid, UUID_STR_LEN + 1); strcat(partitions_list, ";"); diff --git a/doc/README.gpt b/doc/README.gpt index e29b188..754e490 100644 --- a/doc/README.gpt +++ b/doc/README.gpt @@ -156,10 +156,10 @@ Creating GPT partitions in U-Boot: To restore GUID partition table one needs to: 1. Define partition layout in the environment. Format of partitions layout: - "partitions=uuid_disk=...;name=u-boot,size=60MiB,uuid=...; + "uuid_disk=...;name=u-boot,size=60MiB,uuid=...; name=kernel,size=60MiB,uuid=...;" or - "partitions=uuid_disk=${uuid_gpt_disk};name=${uboot_name}, + "uuid_disk=${uuid_gpt_disk};name=${uboot_name}, size=${uboot_size},uuid=${uboot_uuid};" The fields 'name' and 'size' are mandatory for every partition. @@ -233,7 +233,7 @@ PARTITION_BASIC_DATA_GUID (EBD0A0A2-B9E5-4433-87C0-68B6B72699C7). If you define 'CONFIG_PARTITION_TYPE_GUID', a optionnal parameter 'type' can specify a other partition type guid: - "partitions=uuid_disk=...;name=u-boot,size=60MiB,uuid=...; + "uuid_disk=...;name=u-boot,size=60MiB,uuid=...; name=kernel,size=60MiB,uuid=..., type=0FC63DAF-8483-4772-8E79-3D69D8477DE4;" @@ -255,7 +255,7 @@ Some strings can be also used at the place of known GUID : "lvm" = PARTITION_LINUX_LVM_GUID (E6D6D379-F507-44C2-A23C-238F2A3DF928) - "partitions=uuid_disk=...;name=u-boot,size=60MiB,uuid=...; + "uuid_disk=...;name=u-boot,size=60MiB,uuid=...; name=kernel,size=60MiB,uuid=...,type=linux;" They are also used to display the type of partition in "part list" command. -- 2.1.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot