[PATCH] rockchip: Correct UUID for root partitions

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

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
participants (2)
-
Chris Morgan
-
Quentin Schulz