[PATCH v3 0/2] 'part name' subcommand and some robustification

Anshul Dalal anshuld at ti.com
Tue Nov 11 06:07:16 CET 2025


On Tue Nov 11, 2025 at 2:24 AM IST, Rasmus Villemoes wrote:
> Implement a "part name" subcommand, mirroring the existing "part
> number" subcommand.
>
> In the discussion for v1 of that, it came up that there's a bit of
> inconsistency in how much and what one can assume to be initialized in
> 'struct disk_partition' after a successful call of one of the
> get_info* family of functions. Patch 1/2 tries to consolidate
> that by making sure all ->get_info invocations go through a common
> helper that at least always initializes the string members.
>
> Quentin, I've taken the liberty of including your Acks, as the
> incremental diff in patch 1 is quite minor, but do speak up if I
> should not have done that.
>
> v3: Make sure part_get_type_by_name() can only ever return 0, -ENOSYS
> (in case ->get_info is not implemented) and -ENOENT, rather than
> anything that ->get_info might return.
>
> v2: https://lore.kernel.org/u-boot/20251020121100.1742812-1-ravi@prevas.dk/
>

For the entire series:

Tested-by: Anshul Dalal <anshuld at ti.com>

Logs (on TI AM62x):

	=> part
	part - disk partition related commands

	Usage:
	part uuid <interface> <dev>:<part>
	    - print partition UUID
	part uuid <interface> <dev>:<part> <varname>
	    - set environment variable to partition UUID
	part list <interface> <dev>
	    - print a device's partition table
	part list <interface> <dev> [flags] <varname>
	    - set environment variable to the list of partitions
	      flags can be -bootable (list only bootable partitions)
	part start <interface> <dev> <part> <varname>
	    - set environment variable to the start of the partition (in blocks)
	      part can be either partition number or partition name
	part size <interface> <dev> <part> <varname>
	    - set environment variable to the size of the partition (in blocks)
	      part can be either partition number or partition name
	part number <interface> <dev> <part> <varname>
	    - set environment variable to the partition number using the partition name
	      part must be specified as partition name
	part name <interface> <dev> <part> <varname>
	    - set environment variable to the partition name using the partition number
	      part must be specified as partition number
	part set <interface> <dev> type
	    - set partition type for a device
	part types
	    - list supported partition table types
	=> part list mmc 1

	Partition Map for mmc device 1  --   Partition Type: DOS

	Part    Start Sector    Num Sectors     UUID            Type
	  1     2048            262144          076c4a2a-01     0c Boot
	  2     264192          417336          076c4a2a-02     83
	=> part name mmc 1 1
	mmcsdb1
	=> part name mmc 1 2
	mmcsdb2

Regards,
Anshul


> Rasmus Villemoes (2):
>   disk/part.c: ensure strings in struct disk_partition are valid after
>     successful get_info
>   cmd/part.c: implement "part name" subcommand
>
>  cmd/gpt.c              |  4 +--
>  cmd/part.c             | 16 ++++++++++-
>  disk/part.c            | 63 +++++++++++++++++++++++++-----------------
>  doc/usage/cmd/part.rst | 13 +++++++++
>  include/part.h         | 16 +++++++++++
>  5 files changed, 83 insertions(+), 29 deletions(-)



More information about the U-Boot mailing list