Hi Chris,

On 4/26/24 5:33 PM, Chris Morgan wrote:
From: Chris Morgan <macromor...@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 <macromor...@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

Reply via email to