[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