On Thu, May 6, 2021 at 3:28 PM Peter Bergin <peter@berginkonsult.se> wrote:

Hi Brian,

On 2021-05-06 14:41, Brian Hutchinson wrote:
Hi,

Yesterday I checked out Hardknott (creating layers manually due to repo sync issues) and tried to build core-image-base for my imx8mm-evk.

First I noticed that there wasn't a machine config for imx8mmevk (as there was for Dunfell, Gatesgarth etc.), but there was a config for imx8mm-ddr4-evk so I used that in my setup:

There are two configs for imx8mm EVKs, one for ddr4 and one for lpddr4. Check your board so you get the correct one. 8MMINILPD4 = lpddr4 and 8MMINID4 = ddr4. I have a imx8mm_lpddr4_evk in my project ad have been able to build hardknott without issues.

Yes, the LPDDR4 version has a NAND flash if memory serves me right.  Mine is the older version (Rev B) DDR4 version with eMMC and NOR flash.

EULA=1 DISTRO=poky MACHINE=imx8mm-ddr4-evk source setup-environment build

I need the 5.10 kernel, but did not see the trick Andrey showed me to change:
#IMX_DEFAULT_BSP = "nxp"
IMX_DEFAULT_BSP = "mainline"

... in machine .conf to switch to linux-fslc, so I just put this in my local.conf:

PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"
PREFERRED_VERSION_linux-fslc = "5.10%"

This is not needed in hardknott as imx8mm-*-evk machines are using mainline and linux-fslc by default.

Any advice on what to do or try next is greatly appreciated.

The error you see below is because the u-boot configuration imx8mm_ddr4_evk is not present in u-boot-fslc. There is only imx8mm_evk config that is intended for lpddr4 variant. This is an error in the configuration in Yocto but I'm a bit unsure the way forward.

One thing you can try is to use u-boot-imx instead by adding:

    PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"

I'll try that and see what happens!

Thanks!