doc: cmd: gpt: add information on type partition

Add information on type partition, copied from README.gpt.

I also correct issue for gpt_parts variable and add example of
"gpt read" usage.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
Patrick Delaunay
2025-06-16 13:27:48 +02:00
committed by Tom Rini
parent 73d5a68fec
commit a3a5179b1c

View File

@@ -54,7 +54,7 @@ partition string
* name=<NAME> - The partition name, required * name=<NAME> - The partition name, required
* start=<BYTES> - The partition start offset in bytes, 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 * bootable - Set the legacy bootable flag
* uuid=<UUID> - The partition UUID, optional if CONFIG_RANDOM_UUID=y is enabled * 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 * 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 If 'uuid' is not specified, but CONFIG_RANDOM_UUID is enabled, a random UUID
will be generated for the partition 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 gpt enumerate
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
@@ -162,16 +179,17 @@ Examples
Create 6 partitions on a disk:: Create 6 partitions on a disk::
=> setenv gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7; => setenv gpt_parts 'uuid_disk=bec9fc2a-86c1-483d-8a0e-0109732277d7;\
name=boot,start=4M,size=128M,bootable,type=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7, name=boot,start=4M,size=128M,bootable,type=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7;\
name=rootfs,size=3072M,type=0fc63daf-8483-4772-8e79-3d69d8477de4; name=rootfs,size=3072M,type=0fc63daf-8483-4772-8e79-3d69d8477de4;\
name=system-data,size=512M,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=512M,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=modules,size=100M,type=0fc63daf-8483-4772-8e79-3d69d8477de4; name=ramdisk,size=8M,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 => 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 Verify that the device matches the partition layout described in the variable
$gpt_parts:: $gpt_parts::
@@ -228,3 +246,60 @@ Swap the order of the 'boot' and 'rootfs' partition table entries::
=> gpt setenv mmc 0 boot => gpt setenv mmc 0 boot
=> echo ${gpt_partition_entry} => echo ${gpt_partition_entry}
2 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