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

**URL:** <https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066>\
**Category:** Yocto Project\
**Tags:** yocto\
**Created:** [August 1, 2024, 2:46pm UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066 "2024-08-01T14:46:41Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![leon-anavi](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/leon-anavi/32/1638_2.png) [@leon-anavi](https://hub.mender.io/u/leon-anavi)\
**Post date:** [August 1, 2024, 2:46pm UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/1 "2024-08-01T14:46:41Z")

</div>

# 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.

 ![olimex-imx8mp-2](https://canada1.discourse-cdn.com/flex036/uploads/mender/original/2X/3/366e89ea8161d5566807181e5bbb16457f1c805c.jpeg)

URL:

> **[iMX8MP-SOM-4GB-IND - Open Source Hardware Board](https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-4GB-IND/open-source-hardware)**
>
> imx8mplus system on module with quad core Cortex A53, Cortex M7, HiFi4 DSP, NPU 2.3 TOPS

> **[iMX8MP-SOM-EVB-IND - Open Source Hardware Board](https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-EVB-IND/open-source-hardware)**
>
> iMX8MP-SOM evaluation board with two Gigabit Ethernet, PCIe, two CAN FD, HDMI, USB3, SD card, Audio, Flash module connector

# 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](https://wiki.yoctoproject.org/wiki/Releases?target=_blank):

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](https://docs.mender.io/system-updates-yocto-project/board-integration/bootloader-support/u-boot/integration-checklist?target=_blank) 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):

```auto
pip install kas

```

- Clone meta-mender-community git repository for Yocto LTS release 5.0 (scarthgap):

```auto
git clone -b scarthgap https://github.com/mendersoftware/meta-mender-community

```

- Create a build directory and navigate into it:

```auto
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:

```auto
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:

```auto
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:

```auto
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`:

```auto
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:

```auto
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:

```auto
python3 -m http.server

```

- Login as `root` on Olimex [iMX8MP-SOM-4GB-IND](https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-4GB-IND/open-source-hardware) and [iMX8MP-SOM-EVB-IND](https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-EVB-IND/open-source-hardware) and install the Mender Artifact to perform an upgrade of the device:

```auto
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:

```auto
reboot

```

- Login as `root` on the board and verify that `nano` text editor has been installed.

- Ensure the new deployment becomes permanent:

```auto
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”](https://www.konsulko.com/ota-updates-imx8mp-mender).

---

<div class="post-metadata">

**Author:** ![parth](https://avatars.discourse-cdn.com/v4/letter/p/e56c9b/32.png) [@parth](https://hub.mender.io/u/parth)\
**Post date:** [November 6, 2024, 7:04am UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/2 "2024-11-06T07:04:56Z")

</div>

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:

 ![Screenshot from 2024-11-04 19-11-57](https://canada1.discourse-cdn.com/flex036/uploads/mender/original/2X/f/f471fdd91c95d880212a0ab18c033d5a19387e52.png)

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

---

<div class="post-metadata">

**Author:** ![leon-anavi](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/leon-anavi/32/1638_2.png) [@leon-anavi](https://hub.mender.io/u/leon-anavi)\
**Post date:** [November 6, 2024, 9:16am UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/3 "2024-11-06T09:16:49Z")

</div>

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](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.

---

<div class="post-metadata">

**Author:** ![parth](https://avatars.discourse-cdn.com/v4/letter/p/e56c9b/32.png) [@parth](https://hub.mender.io/u/parth)\
**Post date:** [November 6, 2024, 9:42am UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/4 "2024-11-06T09:42:49Z")

</div>

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:

> **[IMX\_YOCTO\_PROJECT\_USERS\_GUIDE.pdf](https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf)**
>
> 342.10 KB

---

<div class="post-metadata">

**Author:** ![leon-anavi](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/leon-anavi/32/1638_2.png) [@leon-anavi](https://hub.mender.io/u/leon-anavi)\
**Post date:** [November 6, 2024, 1:52pm UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/5 "2024-11-06T13:52:05Z")

</div>

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.

- Add Linux kernel device tree for branch 6.6-2.1.x-imx: [imx8mp-olimex.dts: Olimex iMX8MP-SOM-EVB-IND by leon-anavi · Pull Request #694 · Freescale/linux-fslc · GitHub](https://github.com/Freescale/linux-fslc/pull/694)

- Fix U-Boot patches in u-boot-imx from the tag lf-6.6.23-2.0.0, that is used in the NXP BSP LF6.6.23\_2.0.0: [u-boot-imx\_%.bbappend: Olimex iMX8MP-SOM-EVB-IND by leon-anavi · Pull Request #307 · Freescale/meta-freescale-3rdparty · GitHub](https://github.com/Freescale/meta-freescale-3rdparty/pull/307)

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

---

<div class="post-metadata">

**Author:** ![parth](https://avatars.discourse-cdn.com/v4/letter/p/e56c9b/32.png) [@parth](https://hub.mender.io/u/parth)\
**Post date:** [November 7, 2024, 6:35am UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/6 "2024-11-07T06:35:05Z")

</div>

Thank you @leon-anavi for helping out ☺

---

<div class="post-metadata">

**Author:** ![TheYoctoJester](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/theyoctojester/32/1444_2.png) [@TheYoctoJester](https://hub.mender.io/u/TheYoctoJester)\
**Post date:** [November 7, 2024, 11:02am UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/7 "2024-11-07T11:02:41Z")

</div>

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](https://github.com/TheYoctoJester/meta-mender-community/actions/runs/11681564295/job/32527019478)

Greetz,  
Josef

---

<div class="post-metadata">

**Author:** ![leon-anavi](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/leon-anavi/32/1638_2.png) [@leon-anavi](https://hub.mender.io/u/leon-anavi)\
**Post date:** [November 7, 2024, 11:38am UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/8 "2024-11-07T11:38:15Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![leon-anavi](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/leon-anavi/32/1638_2.png) [@leon-anavi](https://hub.mender.io/u/leon-anavi)\
**Post date:** [November 8, 2024, 7:50am UTC](https://hub.mender.io/t/olimex-i-mx8mp-imx8mp-som-4gb-ind-and-imx8mp-som-evb-ind/7066/9 "2024-11-08T07:50:39Z")

</div>

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

> <https://github.com/mendersoftware/meta-mender-community/pull/416>
>
> Adjust patch 0002-Integration-of-Mender-boot-code-into-U-Boot.patch for u-boot-i…mx and machine Olimex iMX8MP-SOM-EVB-IND to the tag lf-6.6.23-2.0.0, that is used in the NXP BSP LF6.6.23\_2.0.0.

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

> <https://github.com/Freescale/meta-freescale-3rdparty/pull/309>
>
> Update the u-boot-imx for Olimex iMX8MP-SOM-EVB-IND to the tag lf-6.6.23-2.0.0, …that is used in the NXP BSP LF6.6.23\_2.0.0.
> 
> Cherry-picked from: https://github.com/Freescale/meta-freescale-3rdparty/pull/308

> <https://github.com/Freescale/meta-freescale/pull/2026>
>
> \# Description
> Backport of #2025 to \`scarthgap\`.
