[U-Boot] GPT overlap on i.MX6

Lukasz Majewski lukma at denx.de
Wed Nov 27 10:45:01 UTC 2019


Hi Jagan,

> Hi,
> 
> I have created GPT table start from 8MB for kernel, roots etc.
> something like
> 
> Part    Start LBA       End LBA         Name
>         Attributes
>         Type GUID
>         Partition GUID
>   1     0x00004000      0x00023fff      "boota"
>         attrs:  0x0000000000000004
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   c12a7328-f81f-11d2-ba4b-00a0c93ec93b
>   2     0x00024000      0x00043fff      "bootb"
>         attrs:  0x0000000000000004
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   21686148-6449-6e6f-744e-656564454649
>   3     0x00044000      0x00243fff      "rootfsa"
>         attrs:  0x0000000000000000
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   b921b045-1df0-41c3-af44-4c6f280d3fae
>   4     0x00244000      0x00443fff      "rootfsb"
>         attrs:  0x0000000000000000
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   8da63339-0007-60c0-c436-083ac8230908
>   5     0x00444000      0x0070bfde      "data"
>         attrs:  0x0000000000000000
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   4f72ab70-69be-5948-81ff-4fc3daf24faa
> 
> I have not included SPL, U-Boot to the partition list since it start
> from 0x400 in i.MX6. So
> I'm writing SPL separately using fastboot(with offset) or ums.
> 
> But by doing this, the partition header seems overlapped so the
> output looks
> 
> GUID Partition Table Entry Array CRC is wrong: 0x6a1aba0a !=
> 0x8e4fd548 find_valid_gpt: *** ERROR: Invalid GPT ***
> find_valid_gpt: ***        Using Backup GPT ***
> Part    Start LBA       End LBA         Name
>         Attributes
>         Type GUID
>         Partition GUID
>   1     0x00004000      0x00023fff      "boota"
>         attrs:  0x0000000000000004
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   c12a7328-f81f-11d2-ba4b-00a0c93ec93b
>   2     0x00024000      0x00043fff      "bootb"
>         attrs:  0x0000000000000004
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   21686148-6449-6e6f-744e-656564454649
>   3     0x00044000      0x00243fff      "rootfsa"
>         attrs:  0x0000000000000000
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   b921b045-1df0-41c3-af44-4c6f280d3fae
>   4     0x00244000      0x00443fff      "rootfsb"
>         attrs:  0x0000000000000000
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   8da63339-0007-60c0-c436-083ac8230908
>   5     0x00444000      0x0070bfde      "data"
>         attrs:  0x0000000000000000
>         type:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
>         guid:   4f72ab70-69be-5948-81ff-4fc3daf24faa
> 
> So, what I understand is If I create the GPT first and then write the
> SPL, the SPL writing process will destroy the GPT Table and if I write
> SPL first and then create GPT, the GPT creation process will destroy
> the SPL.
> 
> Is there any way to fix this? I remember we can prevent this overlap
> by preserving GPT Table som other or boot partition instead of having
> them at the beginning by default.
> 
> Any inputs?

On the diagram of GPT description [1] there is the info that partitions
can start from LBA 34 (0x200 * 34) = 0x4400 

From the above it seems like you starts from 0x4000 your boota
partition, which then overwrites the "Entries 5-128" which shall be 0
and are protected by CRC written in the Primary GPT Header.

Please try to adjust your partition scheme to start from 0x4400.

> 
> Jagan.


Links:

[1] - https://en.wikipedia.org/wiki/GUID_Partition_Table

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191127/d4980a45/attachment.sig>


More information about the U-Boot mailing list