[U-Boot] [PATCH] gpt: add part-uuid and part-num subcommands

Andrey Yurovsky yurovsky at gmail.com
Mon Dec 4 17:57:01 UTC 2017


Hi Lukasz,

On Tue, Nov 14, 2017 at 1:45 AM, Lukasz Majewski <l.majewski at majess.pl> wrote:
> Hi Andrey,
>
>> Hi Lukasz,
>>
>> On Thu, Nov 9, 2017 at 2:28 PM, Lukasz Majewski
>> <l.majewski at majess.pl> wrote:
>> > On Thu, 9 Nov 2017 07:34:44 -0800
>> > Andrey Yurovsky <yurovsky at gmail.com> wrote:
>> >
>> >> On Thu, Nov 9, 2017 at 1:55 AM, Lukasz Majewski
>> >> <l.majewski at majess.pl> wrote:
>> >> > Hi Andrey,
>> >> >
>> >> >> Hi Otavio,
>> >> >>
>> >> >> On Wed, Nov 8, 2017 at 2:47 AM, Otavio Salvador
>> >> >> <otavio.salvador at ossystems.com.br> wrote:
>> >> >> > On Tue, Nov 7, 2017 at 10:43 PM, your name
>> >> >> > <yurovsky at gmail.com> wrote:
>> >> >> >> From: Andrey Yurovsky <yurovsky at gmail.com>
>> >> >> >>
>> >> >> >> It is useful to be able to retrieve a partition UUID or
>> >> >> >> number given the partition label, for instance some systems
>> >> >> >> use the partition label to indicate the purpose of the
>> >> >> >> partition (such as "rootfs0" being the 0th root file system
>> >> >> >> in an A/B image scheme).
>> >> >> >>
>> >> >> >> Add "gpt part-uuid" to retrieve the partition UUID for a
>> >> >> >> given label and "gpt part-num" to retrieve the partition
>> >> >> >> number for a given label along with some documentation.
>> >> >> >>
>> >> >> >> Signed-off-by: Andrey Yurovsky <yurovsky at gmail.com>
>> >> >> >
>> >> >> > Why not use the 'part' cmd? it provides it.
>> >> >>
>> >> >> Sorry, I missed the part cmd, it doesn't seem to be documented
>> >> >> in doc/ and it's unclear what <dev> means there.
>> >> >
>> >> > If I may ask - Andrey, if you are now on this "topic" - would you
>> >> > dare to add some ./doc entry for 'part' command?
>> >>
>> >> Yes, I will do that.
>> >
>> > Thanks :-)
>>
>> On further investigation I am not sure that it's possible to extend
>> the part command to retrieve UUIDs by label because of the design of
>> the partition type drivers. Here is how I understand it to work:
>> 1. the "part" command uses part_get_info() and in turn gets a
>> partition driver and can call print() there (which is how EFI/GPT
>> disks are printed with "part list"). The right information (including
>> label) is printed but it's not tied to the caller in any way.
>
> Maybe you can set some env variable with proper data?
>
> For example, please refer to ./cmd/part.c do_part_start() function.
>
> Example call from envs (include/configs/display5.h):
>         "part start mmc ${mmcdev} ${kernel_part} lba_start; " \
>

Again that assumes the partition is referred to by number, I need it
to be by label, and the part/disk interface does not seem to have any
way to utilize labels. Unfortunately it looks like my original
approach with the gpt command is the only way to implement this with
the current design (at least from what I see here). Please let me know
if I've missed something. Thanks!


More information about the U-Boot mailing list