summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAlison Chaiken <alison@peloton-tech.com>2017-07-04 11:19:18 -0700
committerTom Rini <trini@konsulko.com>2017-08-04 20:35:27 -0400
commit203f9b48adaf5ad5372ac72d82ab14465c82ee8d (patch)
tree1e6f1dc354e919d665800bd311d2c2092e597bab /doc
parent09a49930e4154974dd918ed42d129d50c110c45a (diff)
downloadu-boot-203f9b48adaf5ad5372ac72d82ab14465c82ee8d.tar.gz
GPT: provide commands to selectively rename partitions
This patch provides support in u-boot for renaming GPT partitions. The renaming is accomplished via new 'gpt swap' and 'gpt rename' commands. The 'swap' mode returns an error if no matching partition names are found, or if the number of partitions with one name does not equal the number with the second name. The 'rename' variant always succeeds as long as a partition with the provided number exists. Rewriting the partition table has the side-effect that all partitions end up with "msftdata" flag set. The reason is that partition type PARTITION_BASIC_DATA_GUID is hard-coded in the gpt_fill_pte() function. This does not appear to cause any harm. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/README.gpt20
1 files changed, 19 insertions, 1 deletions
diff --git a/doc/README.gpt b/doc/README.gpt
index c415145236..517df551e7 100644
--- a/doc/README.gpt
+++ b/doc/README.gpt
@@ -210,6 +210,24 @@ Following line can be used to assess if GPT verification has succeed:
U-BOOT> gpt verify mmc 0 $partitions
U-BOOT> if test $? = 0; then echo "GPT OK"; else echo "GPT ERR"; fi
+Renaming GPT partitions from U-Boot:
+====================================
+
+GPT partition names are a mechanism via which userspace and U-Boot can
+communicate about software updates and boot failure. The 'gpt guid',
+'gpt read', 'gpt rename' and 'gpt swap' commands facilitate
+programmatic renaming of partitions from bootscripts by generating and
+modifying the partitions layout string. Here is an illustration of
+employing 'swap' to exchange 'primary' and 'backup' partition names:
+
+U-BOOT> gpt swap mmc 0 primary backup
+
+Afterwards, all partitions previously named 'primary' will be named
+'backup', and vice-versa. Alternatively, single partitions may be
+renamed. In this example, mmc0's first partition will be renamed
+'primary':
+
+U-BOOT> gpt rename mmc 0 1 primary
The GPT functionality may be tested with the 'sandbox' board by
creating a disk image as described under 'Block Device Emulation' in
@@ -228,7 +246,7 @@ board/sandbox/README.sandbox:
=>host bind 0 ./disk.raw
=> gpt read host 0
[ . . . ]
-=> gpt flip host 0
+=> gpt swap host 0 name othername
[ . . . ]
Partition type GUID: