* imx8mm & genimage
@ 2023-08-30 14:02 Alexander Shiyan
2023-08-30 14:25 ` Ahmad Fatoum
0 siblings, 1 reply; 4+ messages in thread
From: Alexander Shiyan @ 2023-08-30 14:02 UTC (permalink / raw)
To: Barebox List
Hello.
I can't figure out how to correctly write the configuration for
genimage for the imx8mm CPU.
This way of writing works fine:
dd if=barebox-nxp-imx8mm-mgqs.img of=/dev/sdc bs=1024 seek=33 skip=33
For genimage I use the following but it doesn't work...
image imx8mm-mgqs-sdcard.img {
hdimage {
partition-table-type = "gpt"
}
partition boot {
image = "barebox-nxp-imx8mm-mgqs.img"
holes = {"(0; 33K)"}
offset = 0
partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
}
partition env {
image = "/dev/null"
offset = 8M
partition-type-uuid = 6c3737f2-07f8-45d1-ad45-15d260aab24d
size = 32K
}
partition root {
image = "rootfs.ext4"
partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
}
}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: imx8mm & genimage
2023-08-30 14:02 imx8mm & genimage Alexander Shiyan
@ 2023-08-30 14:25 ` Ahmad Fatoum
2023-08-30 14:41 ` Alexander Shiyan
0 siblings, 1 reply; 4+ messages in thread
From: Ahmad Fatoum @ 2023-08-30 14:25 UTC (permalink / raw)
To: Alexander Shiyan, Barebox List
Hello Alexander,
On 30.08.23 16:02, Alexander Shiyan wrote:
> Hello.
>
> I can't figure out how to correctly write the configuration for
> genimage for the imx8mm CPU.
> This way of writing works fine:
> dd if=barebox-nxp-imx8mm-mgqs.img of=/dev/sdc bs=1024 seek=33 skip=33
>
> For genimage I use the following but it doesn't work...
What doesn't work? I would have assumed that genimage refused to build
an image with below description.
>
> image imx8mm-mgqs-sdcard.img {
> hdimage {
> partition-table-type = "gpt"
> }
>
> partition boot {
> image = "barebox-nxp-imx8mm-mgqs.img"
> holes = {"(0; 33K)"}
> offset = 0
> partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
I don't think a GPT partition can exist at offset 0, because that would
overlap the GPT header itself. What you want instead is either:
- add barebox in non-partitioned space outside of the partition table:
That is done with in-partition-table = false, see e.g. DistroKit[1]
- add barebox in a GPT partition at the correct offset (32K?) and strip away
its first 32K bytes. The only way to achieve this currently with genimage
is to add an explicit file rule and use
exec-post = "dd ... of=$IMAGEOUTFILE.skipped && mv $IMAGEOUTFILE.skipped $IMAGEOUTFILE"
It would surely be nice to give genimage a partition { skip = [...] } option,
if you feel inclined :-)
For eMMC, the barebox update handler will take care to switch on the
eMMC boot and install barebox and do any skipping of bytes if necessary (e.g. on i.MX8MN/P).
[1]: https://git.pengutronix.de/cgit/DistroKit/tree/configs/platform-v8a/config/images/imx8m.config?h=next&id=d4e41181cc388d528bbccb5e9ba96a6120980a55
Cheers,
Ahmad
> }
>
> partition env {
> image = "/dev/null"
> offset = 8M
> partition-type-uuid = 6c3737f2-07f8-45d1-ad45-15d260aab24d
> size = 32K
> }
>
> partition root {
> image = "rootfs.ext4"
> partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
> }
> }
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: imx8mm & genimage
2023-08-30 14:25 ` Ahmad Fatoum
@ 2023-08-30 14:41 ` Alexander Shiyan
2023-08-30 14:45 ` Ahmad Fatoum
0 siblings, 1 reply; 4+ messages in thread
From: Alexander Shiyan @ 2023-08-30 14:41 UTC (permalink / raw)
To: Ahmad Fatoum; +Cc: Barebox List
Hello Ahmad.
"in-partition-table = false" helps me, now boot OK.
33K is valid offset for imx8mm, and we do not overlap GPT (or MBR) due
to the "holes" option.
Thanks!
ср, 30 авг. 2023 г. в 17:25, Ahmad Fatoum <a.fatoum@pengutronix.de>:
>
> Hello Alexander,
>
> On 30.08.23 16:02, Alexander Shiyan wrote:
> > Hello.
> >
> > I can't figure out how to correctly write the configuration for
> > genimage for the imx8mm CPU.
> > This way of writing works fine:
> > dd if=barebox-nxp-imx8mm-mgqs.img of=/dev/sdc bs=1024 seek=33 skip=33
> >
> > For genimage I use the following but it doesn't work...
>
> What doesn't work? I would have assumed that genimage refused to build
> an image with below description.
>
> >
> > image imx8mm-mgqs-sdcard.img {
> > hdimage {
> > partition-table-type = "gpt"
> > }
> >
> > partition boot {
> > image = "barebox-nxp-imx8mm-mgqs.img"
> > holes = {"(0; 33K)"}
> > offset = 0
> > partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
>
> I don't think a GPT partition can exist at offset 0, because that would
> overlap the GPT header itself. What you want instead is either:
>
> - add barebox in non-partitioned space outside of the partition table:
> That is done with in-partition-table = false, see e.g. DistroKit[1]
>
> - add barebox in a GPT partition at the correct offset (32K?) and strip away
> its first 32K bytes. The only way to achieve this currently with genimage
> is to add an explicit file rule and use
> exec-post = "dd ... of=$IMAGEOUTFILE.skipped && mv $IMAGEOUTFILE.skipped $IMAGEOUTFILE"
> It would surely be nice to give genimage a partition { skip = [...] } option,
> if you feel inclined :-)
>
> For eMMC, the barebox update handler will take care to switch on the
> eMMC boot and install barebox and do any skipping of bytes if necessary (e.g. on i.MX8MN/P).
>
> [1]: https://git.pengutronix.de/cgit/DistroKit/tree/configs/platform-v8a/config/images/imx8m.config?h=next&id=d4e41181cc388d528bbccb5e9ba96a6120980a55
>
> Cheers,
> Ahmad
>
>
> > }
> >
> > partition env {
> > image = "/dev/null"
> > offset = 8M
> > partition-type-uuid = 6c3737f2-07f8-45d1-ad45-15d260aab24d
> > size = 32K
> > }
> >
> > partition root {
> > image = "rootfs.ext4"
> > partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
> > }
> > }
> >
> >
>
> --
> Pengutronix e.K. | |
> Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: imx8mm & genimage
2023-08-30 14:41 ` Alexander Shiyan
@ 2023-08-30 14:45 ` Ahmad Fatoum
0 siblings, 0 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2023-08-30 14:45 UTC (permalink / raw)
To: Alexander Shiyan; +Cc: Barebox List
Hello Alexander,
On 30.08.23 16:41, Alexander Shiyan wrote:
> Hello Ahmad.
>
> "in-partition-table = false" helps me, now boot OK.
> 33K is valid offset for imx8mm, and we do not overlap GPT (or MBR) due
> to the "holes" option.
I think it would be nicer though to have barebox on SD-Card sit inside
a regular GPT partition now that this is possible without holes shenanigans,
but I haven't found the time to do it in DistroKit (actual customer products
boot from eMMC or NOR).
Cheers,
Ahmad
>
> Thanks!
>
> ср, 30 авг. 2023 г. в 17:25, Ahmad Fatoum <a.fatoum@pengutronix.de>:
>>
>> Hello Alexander,
>>
>> On 30.08.23 16:02, Alexander Shiyan wrote:
>>> Hello.
>>>
>>> I can't figure out how to correctly write the configuration for
>>> genimage for the imx8mm CPU.
>>> This way of writing works fine:
>>> dd if=barebox-nxp-imx8mm-mgqs.img of=/dev/sdc bs=1024 seek=33 skip=33
>>>
>>> For genimage I use the following but it doesn't work...
>>
>> What doesn't work? I would have assumed that genimage refused to build
>> an image with below description.
>>
>>>
>>> image imx8mm-mgqs-sdcard.img {
>>> hdimage {
>>> partition-table-type = "gpt"
>>> }
>>>
>>> partition boot {
>>> image = "barebox-nxp-imx8mm-mgqs.img"
>>> holes = {"(0; 33K)"}
>>> offset = 0
>>> partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
>>
>> I don't think a GPT partition can exist at offset 0, because that would
>> overlap the GPT header itself. What you want instead is either:
>>
>> - add barebox in non-partitioned space outside of the partition table:
>> That is done with in-partition-table = false, see e.g. DistroKit[1]
>>
>> - add barebox in a GPT partition at the correct offset (32K?) and strip away
>> its first 32K bytes. The only way to achieve this currently with genimage
>> is to add an explicit file rule and use
>> exec-post = "dd ... of=$IMAGEOUTFILE.skipped && mv $IMAGEOUTFILE.skipped $IMAGEOUTFILE"
>> It would surely be nice to give genimage a partition { skip = [...] } option,
>> if you feel inclined :-)
>>
>> For eMMC, the barebox update handler will take care to switch on the
>> eMMC boot and install barebox and do any skipping of bytes if necessary (e.g. on i.MX8MN/P).
>>
>> [1]: https://git.pengutronix.de/cgit/DistroKit/tree/configs/platform-v8a/config/images/imx8m.config?h=next&id=d4e41181cc388d528bbccb5e9ba96a6120980a55
>>
>> Cheers,
>> Ahmad
>>
>>
>>> }
>>>
>>> partition env {
>>> image = "/dev/null"
>>> offset = 8M
>>> partition-type-uuid = 6c3737f2-07f8-45d1-ad45-15d260aab24d
>>> size = 32K
>>> }
>>>
>>> partition root {
>>> image = "rootfs.ext4"
>>> partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
>>> }
>>> }
>>>
>>>
>>
>> --
>> Pengutronix e.K. | |
>> Steuerwalder Str. 21 | http://www.pengutronix.de/ |
>> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
>> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-08-30 14:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-30 14:02 imx8mm & genimage Alexander Shiyan
2023-08-30 14:25 ` Ahmad Fatoum
2023-08-30 14:41 ` Alexander Shiyan
2023-08-30 14:45 ` Ahmad Fatoum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox