[U-Boot] GPT overlap on i.MX6
Jagan Teki
jagan at amarulasolutions.com
Wed Nov 27 15:56:32 UTC 2019
Hi Lukasz,
On Wed, Nov 27, 2019 at 4:15 PM Lukasz Majewski <lukma at denx.de> wrote:
>
> 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.
I still see the overlap. I have created boota at 0x4400 and the write
the SPL at 0x400
icorem6qdl-rqs> mmc part
Partition Map for MMC device 2 -- Partition Type: EFI
GUID Partition Table Entry Array CRC is wrong: 0xfca8e0bf != 0xc10fdc7b
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
Part Start LBA End LBA Name
Attributes
Type GUID
Partition GUID
1 0x00004400 0x000243ff "bootA"
attrs: 0x0000000000000004
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: c12a7328-f81f-11d2-ba4b-00a0c93ec93b
2 0x00024400 0x000443ff "bootB"
attrs: 0x0000000000000004
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: 21686148-6449-6e6f-744e-656564454649
3 0x00044400 0x002443ff "rootfsA"
attrs: 0x0000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: b921b045-1df0-41c3-af44-4c6f280d3fae
4 0x00244400 0x004443ff "rootfsB"
attrs: 0x0000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: 8da63339-0007-60c0-c436-083ac8230908
5 0x00444400 0x0070bfde "data"
attrs: 0x0000000000000000
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: d61c5b08-c376-f243-a883-15dd900766c3
Jagan.
More information about the U-Boot
mailing list