Olimex i.MX8MP: iMX8MP-SOM-4GB-IND and iMX8MP-SOM-EVB-IND

Board description

Olimex iMX8MP-SOM-4GB-IND and iMX8MP-SOM-EVB-IND and open source hardware i.MX8MP SoM and an evaluation board for it.

URL:

Test results

The Yocto Project releases in the table below have been tested by the Mender community. Please update it if you have tested this integration on other Yocto Project releases:

TODO: Update table below with Yocto Project versions tested & result. Sample data:

Yocto Project Build Runtime
Scarthgap (5.0) :test_works: :test_works:

Build Means that the Yocto Project build using this Mender integration completes without errors and outputs images.
Runtime Means that Mender has been verified to work on the board. For U-Boot-based boards, the integration checklist has been verified.

Getting started

Building an Image with Mender

Here are the steps to build core-image-base with Mender for Olimex:

  • Install the kas tool (optional: to install it globally for all users, run the installation as root or using sudo):
pip install kas
  • Clone meta-mender-community git repository for Yocto LTS release 5.0 (scarthgap):
git clone -b scarthgap https://github.com/mendersoftware/meta-mender-community
  • Create a build directory and navigate into it:
mkdir -p meta-mender-community/mender-nxp && cd meta-mender-community/mender-nxp
  • Create a kas configuration add-on to enable passwordless root access for development purposes:
cat <<EOF > debug-image.yml
header:
  version: 14

local_conf_header:
  developer-features: |
    EXTRA_IMAGE_FEATURES = "debug-tweaks"
EOF
  • Run the following command to start the build process:
kas build ../kas/olimex-imx8mp-evb.yml:debug-image.yml

Flashing the Mender Image

After the build process is complete, you will find the generated image at the following relative path: build/tmp/deploy/images/olimex-imx8mp-evb/core-image-base-olimex-imx8mp-evb.sdimg.

Flash core-image-base-olimex-imx8mp-evb.sdimg on a microSD card.

To set up and verify your Olimex iMX8MP-SOM-EVB-IND board, follow these steps:

  • Connect the USB-to-UART adapter to the A53_DBG1 connector on the Olimex iMX8MP-SOM-EVB-IND, and insert the Ethernet cable and the microSD card.

  • Plug the 5V power supply into the power jack of the iMX8MP-SOM-EVB-IND to power up the board.

  • Ensure the system boots successfully, then log in as the root user (no password required) and check the Mender status by executing the following commands:

mender-update show-provides
mender-update show-artifact
mender-update --version

Creating a Mender Artifact

Follow the steps below to build a Mender Artifact for iMX8MP-SOM-EVB-IND that adds to the system the simple text editor nano:

  • Create a kas configuration add-on to add nano:
cat <<EOF > update-image.yml
header:
  version: 14

local_conf_header:
  update-image: |
    IMAGE_INSTALL:append = " nano"
EOF
  • Build both core-image-base and its corresponding Mender Artifact using:
kas build ../kas/olimex-imx8mp-evb.yml:debug-image.yml:update-image.yml
  • This process will generate a Mender Artifact containing nano at the file path build/tmp/deploy/images/olimex-imx8mp-evb/core-image-base-olimex-imx8mp-evb.mender.

Installing Mender Artifact

To perform a manual standalone deployment using Mender in the terminal, follow the steps below:

  • Start a simple HTTP server in the directory with the Mender Artifact:
python3 -m http.server
mender-update install http://<server>:8000/core-image-base-olimex-imx8mp-evb.mender

NOTE: Replace <server> with the IP address of the machine on which the Python3 HTTP server is running.

  • Reboot the embedded Linux device:
reboot
  • Login as root on the board and verify that nano text editor has been installed.

  • Ensure the new deployment becomes permanent:

mender-update commit

Useful Links

For more details please have a look at the article “Software Updates on i.MX8MP, Part 2: Mender & Yocto Project”.

1 Like

Hi
I am trying to build the core-image-base with Mender for Olimex iMX8MP board. I followed the steps specified in your post but I am getting an error in applying the olimex patch for uboot-imx. Here is attached screenshot of the error:

I tried manually applying the patches in the Kconfig file but that didn’t helped. Can you please suggest a possible solution to this?

The u-boot 2024.04 recipe in meta-freescale has been updated to lf-6.6.23-2.0.0 and the patch has to be rebased against it:
https://git.yoctoproject.org/meta-freescale/commit/recipes-bsp/u-boot/u-boot-imx_2024.04.bb?id=8335c55ed1f67ad38062dbc7ed35b8ef41466033

Thank you for reporting this issue. When I have spare time I will have a look.

2 Likes

okay, but is there any way that I can build the image for the Olimex board for now? I tried using the NXP Yocto project guide, but faced the same error. here is the reference:

I opened a couple of GitHub pull requests with patches to rebase the U-Boot and kernel patches to the new versions uses with the newer commits in the BSP layers for Scarthgap.

You can build the image using older versions of the layers from 30 July 2024 or take the mentioned patches from the GitHub pull requests.

Best regards, Leon

2 Likes

Thank you @leon-anavi for helping out :smiling_face:

Hi @leon-anavi,

As this is being mentioned at the moment, the currently existing Olimex board integration also seems to be broken, with a u-boot patch not applying: build_experimental ¡ TheYoctoJester/meta-mender-community@4e7f6d2 ¡ GitHub

Greetz,
Josef

1 Like

My plan is to fix the upstream of the BSP and after that I will follow up with changes in meta-mender-community. It is a long way: I have to fix the master of the BSP, after that I have to backport the patches from master to the Scarthgap branches of the BSP.

1 Like

I have opened a GitHub pull request to adjust the U-Boot patch for Mender and Olimex i.MX8MP-SoM-4GB-IND:

It depends on the recently merged changes in the upstream branches for Yocto/OE release Scarthgap of the BSP layers:

1 Like