Re: [PATCH v1] part: efi: use BOOT_PART_TYPE symbol
Denis Mukhin via U-Boot <[email protected]> Fri, 31 Jul 2026 21:04:04 -0700
| Newsgroups | gmane.comp.boot-loaders.u-boot |
|---|---|
| Message-ID | <am1wNHNt7OXMPrqE@kraken> |
On Fri, Jul 31, 2026 at 01:08:23PM +0200, Heinrich Schuchardt via U-Boot wrote: > On 7/30/26 03:39, Denis Mukhin via U-Boot wrote: > > From: Denis Mukhin <[email protected]> > > > > Use existing BOOT_PART_TYPE symbol instead of open-coded "U-Boot". > > > > Signed-off-by: Denis Mukhin <[email protected]> > > --- > > disk/part_efi.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/disk/part_efi.c b/disk/part_efi.c > > index d8b17ec2e91a..1efd2ea113f0 100644 > > --- a/disk/part_efi.c > > +++ b/disk/part_efi.c > > @@ -304,7 +304,7 @@ static int __maybe_unused part_get_info_efi(struct blk_desc *desc, int part, > > snprintf((char *)info->name, sizeof(info->name), "%s", > > print_efiname(&gpt_pte)); > > - strcpy((char *)info->type, "U-Boot"); > > + strcpy((char *)info->type, BOOT_PART_TYPE); > > Thank you for looking into the value of this field which unfortunately is > not well described in include/part.h. It is used in print_gpt_info() to > print a user readable description of the partition type. > > => gpt read host 0 > Partition 1: > Start 1MiB, size 62MiB > Block size 512, name Linux filesystem > Type U-Boot, bootable 0 > UUID d3f19932-f3fb-408a-81dc-fadb4438ed5a > Type GUID c12a7328-f81f-11d2-ba4b-00a0c93ec93b > > The constant BOOT_PART_TYPE is unrelated to the field type. It is used to > define a linker generated list. > > The value "U-Boot" itself looks wrong: > > For a Mac partition we would expect values like "Apple_HFS", "Apple_Driver". > > For an Amiga partition we would see for example "DOS\0", "PDS\0", "SFS\0", > "LNX\0", "MAC\0", "MDS\0". > > For a GPT partition we should have a string representing the partition type > depending on the partition type GUID. > > If CONFIG_PARTITION_TYPE_GUID=y and CONFIG_LIB_UUID=y, we can use > uuid_guid_get_str() to get the correct value, how about: Thanks for taking a look! I will check that path. > > diff --git a/disk/part_efi.c b/disk/part_efi.c > index d8b17ec2e91..1385bdae577 100644 > --- a/disk/part_efi.c > +++ b/disk/part_efi.c > @@ -304,7 +304,7 @@ static int __maybe_unused part_get_info_efi(struct > blk_desc *desc, int part, > > snprintf((char *)info->name, sizeof(info->name), "%s", > print_efiname(&gpt_pte)); > - strcpy((char *)info->type, "U-Boot"); > + strcpy((char *)info->type, "gpt"); > info->bootable = get_bootable(&gpt_pte); > info->type_flags = gpt_pte.attributes.fields.type_guid_specific; > if (CONFIG_IS_ENABLED(PARTITION_UUIDS)) { > @@ -316,6 +316,8 @@ static int __maybe_unused part_get_info_efi(struct > blk_desc *desc, int part, > uuid_bin_to_str(gpt_pte.partition_type_guid.b, > (char *)disk_partition_type_guid(info), > UUID_STR_FORMAT_GUID); > + snprintf((char *)info->type, sizeof(info->type), "%pUs", > + gpt_pte.partition_type_guid.b); > } > > log_debug("start 0x" LBAF ", size 0x" LBAF ", name %s\n", > info->start, > > test/py/tests/test_gpt.py might need to be adjusted too. > > Best regards > > Heinrich > > > info->bootable = get_bootable(&gpt_pte); > > info->type_flags = gpt_pte.attributes.fields.type_guid_specific; > > if (CONFIG_IS_ENABLED(PARTITION_UUIDS)) { >