I have read the i.MX Yocto Project User's Guide and have gotten the build to succeed. But, it's less than clear what I'm accomplishing or what options I should be choosing along the way. The process is not a simple as follow the steps. You have to choose options along the way. And you have to choose options that make sense for what you're doing. And I don't always understand the options available.
To setup my env, I did this:
DISTRO=fsl-imx-wayland MACHINE=imx8mn-lpddr4-evk source ./imx-setup-release.sh -b nano
The MACHINE option of imx8mn-lpdd4-evk seems to match my hardware so I assume that's what I want.
Honestly, I don't what distro means in this context. But, fsl-imx-wayland seems the best option available none-the-less.
Later in the process you have to choose a target. This is where I'm much less sure what I'm doing. The instructions list the following options with details based on my research/understanding:
- **core-image-minimal** A small image that only allows a device to boot. [poky]
- **core-image-base** A console-only image that fully supports the target device hardware. [poky]
- **core-image-sato** An image with Sato, a mobile environment and visual style for mobile devices. The image supports a Sato theme and uses Pimlico applications. It contains a terminal, an editor and a file manager. [poky]
- **imx-image-core** An i.MX image with i.MX test applications to be used for Wayland backends. This image is used by our daily core testing. [meta-imx/meta-sdk]
- **fsl-image-machine-test** An FSL Community i.MX core image with console environment - no GUI interface. [meta-freescale-distro]
- **imx-imagemultimedia** Builds an i.MX image with a GUI without any Qt content. [meta-imx/meta-sdk]
- **imx-image-full** Builds an opensource Qt 6 image with Machine Learning features. These images are only supported for i.MX SoC with hardware graphics. They are not supported on the i.MX 6UltraLite, i.MX 6UltraLiteLite, i.MX 6SLL, i.MX 7Dual, i.MX 8MNanoLite, or i.MX 8DXL [meta-imx/meta-sdk]
I assume the core* guys are not very useful except for testing that the build works. And I assume the imx* guys are more specific to my hardware and more likely to be useful.
As a headless device, I don't need any GUI stuff. Should I use fsl-image-machine-test? But that's not an IMX guy and it sounds like it's for testing. Is imx-image-core enough for me? or should I go large and use imx-image-full? I have no idea. How does anyone choose?
In particular (and getting to the title of the post), let's say I'd like to start with the build that I can download from NXP here. What is the target that builds that?