i.MX Yocto Project i.MX BSP Layer
Go to file
i.MX Yocto Project Release e8e971a41d onnxruntime: Update onnxruntime_1.22.0.bb to commit 1edb7f8
[LF-15660] [LF-15664] Pick up the hot fixing for do_configure failure:

-- Using src='1d8b82b074/eigen-1d8b82b0740839c0de7f1242a3585e3390ff5f33.zip'
-- verifying file...
       file='./onnxruntime/1.22.0/build/_deps/eigen3-subbuild/eigen3-populate-prefix/src/eigen-1d8b82b0740839c0de7f1242a3585e3390ff5f33.zip'
-- SHA1 hash of
    ./onnxruntime/1.22.0/build/_deps/eigen3-subbuild/eigen3-populate-prefix/src/eigen-1d8b82b0740839c0de7f1242a3585e3390ff5f33.zip
  does not match expected value
    expected: '5ea4d05e62d7f954a46b3213f9b2535bdd866803'
      actual: '51982be81bbe52572b54180454df11a3ece9a934'
-- Hash mismatch, removing...
CMake Error at eigen3-subbuild/eigen3-populate-prefix/src/eigen3-populate-stamp/download-eigen3-populate.cmake:163 (message):

Signed-off-by: i.MX Yocto Project Release <imx.release@nxp.com>
Signed-off-by: Jun Zhu <junzhu@nxp.com>
2025-06-24 01:32:11 -05:00
meta-imx-bsp imx-dsp: Update imx-dsp_2.1.10.bb to EULA c0fb372 2025-06-18 16:45:38 +08:00
meta-imx-cockpit layer.conf: Add walnascar to compatible layer 2025-03-30 22:24:09 +08:00
meta-imx-ml onnxruntime: Update onnxruntime_1.22.0.bb to commit 1edb7f8 2025-06-24 01:32:11 -05:00
meta-imx-sdk xdp-fp: Update xdp-fp_1.0.0.bb to commit 9185c83 2025-06-05 10:47:10 +09:00
meta-imx-v2x layer.conf: Add walnascar to compatible layer 2025-03-30 22:24:09 +08:00
tools imx-setup-release.sh: Add Supported Machine and Distro list in helper 2025-06-23 14:39:11 +08:00
LICENSE.txt Update EULA to v62 2025-05-08 14:04:31 +08:00
README README: Update systemd section 2025-05-29 16:46:34 +08:00
SBOM-NXP.spdx.json SBOM: Update license version for imx-dsp-2.1.10 due to SCR changed. 2025-06-18 18:07:24 +08:00
SCR-6.12.20-2.0.0.txt SCR-6.12.20-2.0.0.txt: Correct EULA version of imx-dsp 2025-06-18 11:37:45 +02:00

i.MX Linux Yocto Project BSP 6.12.20_2.0.0 Release

Note this is release is not a production release. Please see the release notes for the quality statement for each board.

The following boards were tested in this release.

  • NXP i.MX 95 EVK (imx95evk)
  • NXP i.MX 943 EVK (imx943evk)
  • NXP i.MX 93 EVK (imx93evk)
  • NXP i.MX 91 EVK (imx91evk)
  • NXP i.MX 8MQuad EVK (imx8mqevk)
  • NXP i.MX 8MMini EVK (imx8mmevk)
  • NXP i.MX 8MNano EVK (imx8mnevk)
  • NXP i.MX 8MPlus EVK (imx8mpevk)
  • NXP i.MX 8QuadMax MEK (imx8qmmek)
  • NXP i.MX 8QuadXPlus MEK (imx8qxpc0mek)
  • NXP i.MX 8DXL EVK (imx8dxlevk)
  • NXP i.MX 8ULP EVK (imx8ulpevk)
  • NXP i.MX 7ULP EVK (imx7ulpevk)
  • NXP i.MX 7Dual SABRE Smart Device (imx7dsabresd)
  • NXP i.MX 6QuadPlus SABRE Device (imx6qpsabresd)
  • NXP i.MX 6Quad SABRE Smart Device (imx6qsabresd)
  • NXP i.MX 6DualLite SABRE Smart Device (imx6dlsabresd)
  • NXP i.MX 6SOLO SABRE Smart Device (imx6solosabresd )
  • NXP i.MX 6SoloX SABRE Smart Device (imx6sxsabresd)
  • NXP i.MX 6UltraLite EVK (imx6ulevk)
  • NXP i.MX 6ULL EVK (imx6ull14x14evk)
  • NXP i.MX 6ULZ EVK (imx6ulz14x14evk)

Install the repo utility

See the i.MX Yocto Project User's Guide for instructions on installing repo.

Install essential host packages

Your Build Host must install required packages for the Yocto build. Reference to the section Build Host Packages in the document Yocto Project Quick build.

Download the Yocto Project BSP

First install the i.MX Linux BSP repo

$: repo init -u https://github.com/nxp-imx/imx-manifest.git -b imx-linux-walnascar -m imx-6.12.20-2.0.0.xml

Download the Yocto Project Layers:

$: repo sync

If errors on repo init, remove the .repo directory and try repo init again.

Run i.MX Linux Yocto Project Setup:

$: [MACHINE=<machine>] [DISTRO=fsl-imx-<backend>] source ./imx-setup-release.sh -b <build folder>
where
    <machine> defaults to imx6qsabresd
    <build folder> specifies the build folder name

After this your system will be configured to start a Yocto Project build.

Build images

Each graphical backend X11, Frame buffer and Wayland must be in a separate build directory, so the setup script above must be run for each backend to configure the build correctly. In this release two image recipes are provided that work on almost all backends.

DISTROs are new and the way to configure for any backends. Use DISTRO= instead of the -e on the setup script. The -e parameter gets converted to the appropriate distro configuration.

Note: DirectFB is no longer supported in i.MX graphic builds. The X11 and Framebuffer distros are only supported for i.MX 6 and i.MX 7. i.MX 8 and i.MX 9 should use xwayland only. XWayland is the default distro for all i.MX families.

Image Name Description
imx-image-multimedia image with multimedia and graphics
imx-image-full image with multimedia and machine learning and Qt

Here are some examples: (The example uses the imx6qsabresd MACHINE but substitute this with whatever you are using)

Building Frame Buffer (FB)

$: DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source imx-setup-release.sh -b build-fb
$: bitbake <image>

To run the QT6 examples use the following parameters:

$: <QT6 Example> -platform eglfs -plugin evdevtouch:/dev/input/event0

Building XWayland

$: DISTRO=fsl-imx-xwayland MACHINE=imx6qsabresd source imx-setup-release.sh -b build-xwayland
$: bitbake <image>

To run the QT6 examples use the following parameters:

$: <QT6 example> platform wayland-egl -plugin evdevtouch:/dev/input/event0 --fullscreen

Building Wayland-Weston (wayland)

$: DISTRO=fsl-imx-wayland MACHINE=imx6qsabresd source imx-setup-release.sh -b build-wayland
$: bitbake <image>

To run the QT6 examples use the following parameters:

$: <QT6 example> platform wayland-egl -plugin evdevtouch:/dev/input/event0 --fullscreen

Hardware Floating Point

This release enables hardware floating point by default. This feature is enabled in both the machine configurations and in the layer.conf. (Some machine files exist in the community meta-freescale without this setting.)

DEFAULTTUNE:mx6-nxp-bsp = "cortexa9hf-neon"

Software floating point is not supported starting with the 4.1.15_1.0.0_ga release

Restricted Codecs

These codecs have contractual restrictions that require separate distribution.

The Manufacturing Tool - MFGTool

In this release MFGTool uses the community setup.
To build MFGTool, build the following:

$: bitbake fsl-image-mfgtool-initramfs

End User License Agreement

During the NXP Yocto Project Community BSP setup-environment process, the NXP i.MX End User License Agreement (EULA) is displayed. To continue, users must agree to the conditions of this license. The agreement to the terms allows the Yocto build to untar packages from the NXP mirror. Please read this license agreement carefully during the setup process because, once accepted, all further work in the Yocto environment is tied to this accepted agreement.

Chromium for 64-bit

Add Chromium to a Wayland-based image:

  • add the recipe to the image, e.g., by adding to local.conf:
IMAGE_INSTALL:append = " chromium-ozone-wayland"
  • add the meta-chromium layer:
$: bitbake-layers add-layer ../sources/meta-browser/meta-chromium

Chromium for 32-bit

Chromium is no longer supported for 32-bit. The problem is Chromium no longer supports fbdev, which is required by the Vivante GPU drivers.

QtWebEngine

QtWebEngine is not built by default, so add this to local.conf or image recipe. It is supported only on the machines that have GPU.

IMAGE_INSTALL:append = " packagegroup-qt6-webengine"

There are many browsers available using QtWebEngine and can be found here:

  /usr/share/examples/webengine
  /usr/share/examples/webenginewidgets

Qt

Note that Qt has both a commercial and open source license options. Make the decision about which license to use before starting work on custom Qt applications. Once custom Qt applications are started with an open source Qt license the work cannot be used with a commercial Qt license. Work with a legal representative to understand the differences between each license.

Note Qt is not supported on i.MX 6UltraLite and i.MX 7Dual. It works on X11 backend only but is not a supported feature.

Qt with kms

Some customers wants to use QT without wayland/weston and the alternative for that is to use through kms plugin. This configuration is supported only on mx8 machines. By default, wayland plugin is enabled.We can switch to kms plugin by following these steps.

  • killall weston
  • export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
  • Run any qt application using -platform eglfs Example:
$: ./Qt6_CinematicExperience -platform eglfs

Systemd

Systemd support is enabled as default but it can be disabled by commenting out the systemd settings in meta-imx-sdk/conf/distro/include/fsl-imx-base.inc.