imx8mm & genimage

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Aug 30 07:25:10 PDT 2023


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 |




More information about the barebox mailing list