On 5/19/25 11:04, Patrick Delaunay wrote:
> 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.delau...@foss.st.com>
> ---
> 
>  doc/usage/cmd/gpt.rst | 93 ++++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 84 insertions(+), 9 deletions(-)
> 
> diff --git a/doc/usage/cmd/gpt.rst b/doc/usage/cmd/gpt.rst
> index 8534f78cbac0..13e8783be9b8 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

Reviewed-by: Patrice Chotard <patrice.chot...@foss.st.com>

Thanks
Patrice

Reply via email to