[PATCH] rockchip: Correct UUID for root partitions

Quentin Schulz quentin.schulz at cherry.de
Fri May 3 15:53:36 CEST 2024


Hi Chris,

On 4/26/24 5:33 PM, Chris Morgan wrote:
> From: Chris Morgan <macromorgan at hotmail.com>
> 
> For root partitions, the UUID should still be random but the partition
> type uuid should either be b921b045-1df0-41c3-af44-4c6f280d3fae for
> aarch64 or 69dad710-2ce4-4e3c-b16c-21a1d49abed3 for aarch32. Correct
> the attribute so it is the partition type that is hard coded and not
> the partition unique identifier.
> 
> Note that in order for "type" to be used the config option
> CONFIG_PARTITION_TYPE_GUID must be enabled. If this option is not
> enabled then the type is ignored and instead the partition type
> remains the generic ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 for a
> Linux data partition.
> 
> Fixes: 42ec247e6988 ("rockchip: use UUID for root partitions")
> Signed-off-by: Chris Morgan <macromorgan at hotmail.com>
> ---
>   include/configs/rockchip-common.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
> index 9121bba373..f620579248 100644
> --- a/include/configs/rockchip-common.h
> +++ b/include/configs/rockchip-common.h
> @@ -26,7 +26,7 @@
>   	"name=loader2,start=8MB,size=4MB,uuid=${uuid_gpt_loader2};" \
>   	"name=trust,size=4M,uuid=${uuid_gpt_atf};" \
>   	"name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
> -	"name=rootfs,size=-,uuid="ROOT_UUID
> +	"name=rootfs,size=-,uuid=${uuid_gpt_rootfs},type="ROOT_UUID

I would recommend to rename ROOT_UUID to ROOT_GUID also, since it's what 
it is, c.f. 
https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs

BTW, it seems that type is optional, so maybe we could afford to just 
remove the whole thing? I don't see anything else defining that type 
parameter?

c.f. https://elixir.bootlin.com/u-boot/latest/source/cmd/gpt.c#L536

Also, this code is guarded by CONFIG_PARTITION_TYPE_GUID which seems to 
only be enabled for RK3399 and no other SoC or Rockchip board... so not 
sure it's *THAT* useful (or if it is, are we missing out on enabling on 
other boards/SoCs).

Additionally, I cannot find anything setting uuid_gpt_rootfs environment 
variable anywhere. I'm a bit lost to be honest. Are we maybe randomly 
generating this uuid at runtime? (RANDOM_UUID is implied by CMD_GPT 
after all so it isn't too much of a stretch).

Cheers,
Quentin


More information about the U-Boot mailing list