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