[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