summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-06-17 17:21:42 -0600
committerTom Rini <[email protected]>2025-06-17 17:21:42 -0600
commita239cdc0bd4bfe5fce82368627fc55a5fa632e3a (patch)
tree63e5ea3edadceb886359213ece983f096fb6785a /doc
parent17012e3068d047ad71460f039eeb0c3be63f82a0 (diff)
parent7a598e633a5376ddae6a96bfcdb28c8e7b422b0c (diff)
Merge patch series "Restore support of short name for type UUID parameter"
Patrick Delaunay <[email protected]> says: Fix and add documentation/tests for selection by string for known partition type GUID introduced by bcb41dcaefac ("uuid: add selection by string for known partition type GUID"): - split list_guid for short name (used also for partiton description with type parameter) and full name to display information - as the function are uuid_str_to_bin() / uuid_guid_get_str() are no more under CONFIG_PARTITION_TYPE_GUID, since commit 31ce367cd100 ("lib/uuid.c: change prototype of uuid_guid_get_str()") and commit c1528f324c60 ("lib: compile uuid_guid_get_str if CONFIG_LIB_UUID=y") move the content of array under EFI_PARTITION and linker will remove it is not used it (in SPL) - Add and fix documentation for gpt command - Add test test_gpt_write_part_type to test "type=" parameters This first patch solves an issue for the "system" shortcut for ESP, removed by commit d54V3 version solve issue for "ESP" support when CONFIG_CMD_EFIDEBUG and CONFIG_EFI is not activated for example for test with qemu-arm-sbsa defconfige1004b8b1 ("lib/uuid.c: use unique name for PARTITION_SYSTEM_GUID") but used in 2 location (at least): 1- board/samsung/e850-96/e850-96.env:10: partitions=name=esp,start=512K,size=128M,bootable,type=system; partitions+=name=rootfs,size=-,bootable,type=linux 2- arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c:1151 case PART_ESP: /* EFI System Partition */ 459219 type_str = "system" .... offset += snprintf(buf + offset, buflen - offset, ",type=%s", type_str); CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/26699 Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'doc')
-rw-r--r--doc/usage/cmd/gpt.rst93
1 files changed, 84 insertions, 9 deletions
diff --git a/doc/usage/cmd/gpt.rst b/doc/usage/cmd/gpt.rst
index 8534f78cbac..13e8783be9b 100644
--- a/doc/usage/cmd/gpt.rst
+++ b/doc/usage/cmd/gpt.rst
@@ -54,7 +54,7 @@ partition string
* name=<NAME> - The partition name, required
* start=<BYTES> - The partition start offset in bytes, required
- * size=<BYTES> - The partition size in bytes or "-" to expand it to the whole free area
+ * size=<BYTES> - The partition size in bytes or "-" for the last partition to expand it to the whole free area
* bootable - Set the legacy bootable flag
* uuid=<UUID> - The partition UUID, optional if CONFIG_RANDOM_UUID=y is enabled
* type=<UUID> - The partition type GUID, requires CONFIG_PARTITION_TYPE_GUID=y
@@ -63,6 +63,23 @@ partition string
If 'uuid' is not specified, but CONFIG_RANDOM_UUID is enabled, a random UUID
will be generated for the partition
+ If 'type' is not specified or without CONFIG_PARTITION_TYPE_GUID=y,
+ the used partition type GUID is PARTITION_BASIC_DATA_GUID.
+
+ Some strings can be also used at the place of the known partition type GUID:
+ * "mbr" = LEGACY_MBR_PARTITION_GUID (024DEE41-33E7-11D3-9D69-0008C781F39F)
+ * "msft" = PARTITION_MSFT_RESERVED_GUID (E3C9E316-0B5C-4DB8-817D-F92DF00215AE)
+ * "data" = PARTITION_BASIC_DATA_GUID (EBD0A0A2-B9E5-4433-87C0-68B6B72699C7)
+ * "linux" = PARTITION_LINUX_FILE_SYSTEM_DATA_GUID (0FC63DAF-8483-4772-8E79-3D69D8477DE4)
+ * "raid" = PARTITION_LINUX_RAID_GUID (A19D880F-05FC-4D3B-A006-743F0F84911E)
+ * "swap" = PARTITION_LINUX_SWAP_GUID (0657FD6D-A4AB-43C4-84E5-0933C84B4F4F)
+ * "lvm" = PARTITION_LINUX_LVM_GUID (E6D6D379-F507-44C2-A23C-238F2A3DF928)
+ * "u-boot-env" = PARTITION_U_BOOT_ENVIRONMENT(3DE21764-95BD-54BD-A5C3-4ABE786F38A8)
+ * "system" = PARTITION_SYSTEM_GUID (C12A7328-F81F-11D2-BA4B-00A0C93EC93B)
+
+ The GPT partitions layout and associated 'type' are also printed with the
+ :doc:`part command <part>` command by typing "part list".
+
gpt enumerate
~~~~~~~~~~~~~
@@ -162,16 +179,17 @@ Examples
Create 6 partitions on a disk::
- => setenv gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7;
- name=boot,start=4M,size=128M,bootable,type=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7,
- name=rootfs,size=3072M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
- name=system-data,size=512M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
- name=[ext],size=-,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
- name=user,size=-,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
- name=modules,size=100M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;
- name=ramdisk,size=8M,type=0fc63daf-8483-4772-8e79-3d69d8477de4
+ => setenv gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7;\
+ name=boot,start=4M,size=128M,bootable,type=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7;\
+ name=rootfs,size=3072M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
+ name=system-data,size=512M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
+ name=user,size=512M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
+ name=modules,size=100M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
+ name=ramdisk,size=8M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
+ name=[ext],size=-,type=0fc63daf-8483-4772-8e79-3d69d8477de4'
=> gpt write mmc 0 $gpt_parts
+Last partition "[ext]" with '-' is extended up to the end of the disk
Verify that the device matches the partition layout described in the variable
$gpt_parts::
@@ -228,3 +246,60 @@ Swap the order of the 'boot' and 'rootfs' partition table entries::
=> gpt setenv mmc 0 boot
=> echo ${gpt_partition_entry}
2
+
+Other example: a disk with known partition types::
+
+ => setenv gpt_parts 'name=u-boot,size=32M,type=data;\
+ name=env,size=1M,type=u-boot-env;
+ name=ESP,size=128M,type=system;
+ name=rootfs,size=3072M,type=linux;
+ name=swap,size=100M,type=swap;
+ name=user,size=-,type=linux'
+ => gpt write mmc 0 $gpt_parts
+
+ => part list mmc 0
+ Partition Map for mmc device 0 -- Partition Type: EFI
+ Part Start LBA End LBA Name
+ Attributes
+ Type GUID
+ Partition GUID
+ 1 0x00000022 0x00010021 "u-boot"
+ attrs: 0x0000000000000000
+ type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
+ (data)
+ guid: 502d48f6-81c0-488f-bdc0-ad602498f3ce
+ 2 0x00010022 0x00010821 "env"
+ attrs: 0x0000000000000000
+ type: 3de21764-95bd-54bd-a5c3-4abe786f38a8
+ (u-boot-env)
+ guid: 9dc62338-459a-485e-bd8f-b3fbf728d9c0
+ 3 0x00010822 0x00050821 "ESP"
+ attrs: 0x0000000000000000
+ type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
+ (EFI System Partition)
+ guid: 8a3a1168-6af8-4ba7-a95d-9cd0d14e1b3d
+ 4 0x00050822 0x00650821 "rootfs"
+ attrs: 0x0000000000000000
+ type: 0fc63daf-8483-4772-8e79-3d69d8477de4
+ (linux)
+ guid: 411ffebc-8a19-469d-99a9-0982409a6851
+ 5 0x00650822 0x00682821 "swap"
+ attrs: 0x0000000000000000
+ type: 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f
+ (swap)
+ guid: f8ec0410-95ec-4e3e-8b98-fb8cf271a201
+ 6 0x00682822 0x01dacbde "user"
+ attrs: 0x0000000000000000
+ type: 0fc63daf-8483-4772-8e79-3d69d8477de4
+ (linux)
+ guid: c5543e1c-566d-4502-99ad-20545007e673
+
+Modifying GPT partition layout from U-Boot::
+
+ => gpt read mmc 0 current_partitions
+ => env edit current_partitions
+ edit: uuid_disk=[...];name=part1,start=0x4000,size=0x4000,uuid=[...];
+ name=part2,start=0xc000,size=0xc000,uuid=[...];[ . . . ]
+
+ => gpt write mmc 0 $current_partitions
+ => gpt verify mmc 0 $current_partitions