diff mbox series

rockchip: Correct UUID for root partitions

Message ID 20240426153338.210102-1-macroalpha82@gmail.com
State New
Delegated to: Kever Yang
Headers show
Series rockchip: Correct UUID for root partitions | expand

Commit Message

Chris Morgan April 26, 2024, 3:33 p.m. UTC
From: Chris Morgan <macromorgan@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@hotmail.com>
---
 include/configs/rockchip-common.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Quentin Schulz May 3, 2024, 1:53 p.m. UTC | #1
Hi Chris,

On 4/26/24 5:33 PM, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@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@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
diff mbox series

Patch

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
 
 #endif