[U-Boot] [PATCH v2 6/6] GPT: fix error in partitions string doc

alison at peloton-tech.com alison at peloton-tech.com
Mon May 29 16:49:33 UTC 2017


From: Alison Chaiken <alison at 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 <alison at 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



More information about the U-Boot mailing list