# NXP® i.MX 8M Mini Evaluation Kit

**URL:** <https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659>\
**Category:** Yocto Project\
**Tags:** sumo, nxp, imx8mm\
**Created:** [June 3, 2019, 11:00am UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659 "2019-06-03T11:00:34Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![mirzak](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mirzak/32/2056_2.png) [@mirzak](https://hub.mender.io/u/mirzak)\
**Post date:** [June 3, 2019, 11:00am UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/1 "2019-06-03T11:00:34Z")

</div>

The official [Mender documentation](https://docs.mender.io/) explains how Mender works. This is simply a board-specific complement to the official documentation.

# Board description

The i.MX 8M Mini EVK provides a platform for comprehensive evaluation of the i.MX 8M Mini and i.MX 8M Mini Lite applications processors. It delivers high performance with power efficiency, multimedia interfaces, and Wi-Fi/BT for connectivity out-of-the box.

The two-board solution consists of a compact 2”x2”compute module and a larger base board that brings out the broad connectivity that is needed for product evaluation. The compute module is a proven, compact reference to accelerate your own design.

 ![](https://www.nxp.com/assets/images/en/banners/tools/iMX-8MMini-TOP-LR.jpg)

URL: [Vendor board specs](https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/i.mx-evaluation-and-development-boards/evaluation-kit-for-thebr-i.mx-8m-mini-applications-processor:8MMINILPD4-EVK)

# 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):

| Yocto Project | Build | Runtime |
| --- | --- | --- |
| sumo (imx-4.14.98-2.0.0\_ga) | :test_works: | :test_unknown: |
| zeus (imx-5.4.3-2.0.0\_demo\_mender) | :test_works: | :test_unknown: |

**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

## Prerequisites

- A supported Linux distribution and dependencies installed on your workstation/laptop as described in the [Yocto Mega Manual](https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#detailed-supported-distros)
  - NOTE. Instructions depend on which Yocto version you intend to use.

- Google repo tool [installed](https://hub.mender.io/t/google-repo/58/2) and in your `PATH`.

## Configuring the build

### Setup Yocto environment

Create a directory for your `mender-imx` setup to live in and clone the  
meta information.

```auto
mkdir mender-imx && cd mender-imx

```

Initialize repo manifest:

```auto
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.0.0_demo_mender.xml

```

Fetch layers in manifest:

```auto
repo sync

```

## Setup build environment

Initialize the build environment:

```bash
DISTRO=fsl-imx-xwayland MACHINE=imx8mmevk . fsl-setup-mender.sh -b build

```

### Configure Mender server URL (optional)

This section is not required for a successful build but images that are generated by default are only suitable for usage with the Mender client in [standalone mode](https://docs.mender.io/artifact-creation/standalone-deployment), due to lack of server configuration.

You can edit the `conf/local.conf` file to provide your Mender server configuration, ensuring the generated images and Mender Artifacts are connecting to the Mender server that you are using. There should already be a commented section in the generated `conf/local.conf` file and you can simply uncomment the relevant configuration options and assign appropriate values to them.

Build for Hosted Mender:

```auto
# To get your tenant token:
# - log in to https://hosted.mender.io
# - click your email at the top right and then "My organization"
# - press the "COPY TO CLIPBOARD"
# - assign content of clipboard to MENDER_TENANT_TOKEN
#
MENDER_SERVER_URL = "https://hosted.mender.io"
MENDER_TENANT_TOKEN = "<copy token here>"

```

### Building the image

You can now proceed with building an image:

```auto
bitbake core-image-base

```

Replace `core-image-base` with your desired image target.

### Using the build output

After a successful build, the images and build artifacts are placed in `build/tmp/deploy/images/imx8mmevk/`.

- `build/tmp/deploy/images/imx8mmevk/core-image-base-imx8mmevk.sdimg`
- `build/tmp/deploy/images/imx8mmevk/core-image-base-imx8mmevk.mender`

The disk image (with `.sdimg` suffix) is used to provision the device storage for devices without Mender running already. Please proceed to [the official documentation on provisioning a new device](https://docs.mender.io/system-updates-yocto-project/provisioning-a-new-device?target=_blank) for steps to do this.

On the other hand, if you already have Mender running on your device and want to deploy a rootfs update using this build, you should use the [Mender Artifact](https://docs.mender.io/overview/artifact) files, which have `.mender` suffix. You can either deploy this Artifact in managed mode with the Mender server (upload it under Releases in the server UI) or by using the Mender client [standalone mode](https://docs.mender.io/artifact-creation/standalone-deployment).

# References

- The sources of the Yocto integration can be found in [meta-mender-community/meta-mender-imx](https://github.com/mendersoftware/meta-mender-community/tree/sumo/meta-mender-imx)
- [Secure Over-the-Air Prototype for Linux Using CAAM and Mender](https://www.nxp.com/docs/en/application-note/AN12900.pdf)

* * *

_If this post was useful to you, please press like, or leave a thank you note to the contributor who put valuable time into this and made it available to you. It will be much appreciated!_

---

<div class="post-metadata">

**Author:** ![mirzak](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mirzak/32/2056_2.png) [@mirzak](https://hub.mender.io/u/mirzak)\
**Post date:** [October 13, 2020, 1:38pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/2 "2020-10-13T13:38:43Z")

</div>

6 posts were split to a new topic: [Custom iMX8M board](https://hub.mender.io/t/custom-imx8m-board/2662)

---

<div class="post-metadata">

**Author:** ![dvescovi](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/dvescovi/32/287_2.png) [@dvescovi](https://hub.mender.io/u/dvescovi)\
**Post date:** [October 13, 2020, 7:25pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/3 "2020-10-13T19:25:53Z")

</div>

I narrowed it down a bit more. Seems to do more with the initialization scripts and how it populates the dynamic layers. Working on a revised script.

---

<div class="post-metadata">

**Author:** ![dvescovi](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/dvescovi/32/287_2.png) [@dvescovi](https://hub.mender.io/u/dvescovi)\
**Post date:** [October 13, 2020, 10:52pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/4 "2020-10-13T22:52:28Z")

</div>

fixed issue by modifying startup script

---

<div class="post-metadata">

**Author:** ![danie](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/danie/32/620_2.png) [@danie](https://hub.mender.io/u/danie)\
**Post date:** [October 21, 2020, 6:55am UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/5 "2020-10-21T06:55:50Z")

</div>

> [@mirzak](#):
>
> imx-5.4.3-2.0.0\_demo\_mender

I could not find the manifest in [https://source.codeaurora.org/external/imx/imx-manifest/tree/?h=imx-linux-zeus](https://source.codeaurora.org/external/imx/imx-manifest/tree/?h=imx-linux-zeus) . Is it yet to be updated?

---

<div class="post-metadata">

**Author:** ![mirzak](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/mirzak/32/2056_2.png) [@mirzak](https://hub.mender.io/u/mirzak)\
**Post date:** [October 21, 2020, 10:07am UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/6 "2020-10-21T10:07:22Z")

</div>

> [@danie](#):
>
> I could not find the manifest in [https://source.codeaurora.org/external/imx/imx-manifest/tree/?h=imx-linux-zeus](https://source.codeaurora.org/external/imx/imx-manifest/tree/?h=imx-linux-zeus) . Is it yet to be updated?

Yeah, not yet merged.

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [October 21, 2020, 9:29pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/7 "2020-10-21T21:29:53Z")

</div>

You can use [my fork](https://github.com/drewmoseley/imx-manifest/tree/wip-zeus) instead for the time being

---

<div class="post-metadata">

**Author:** ![hutchman](https://avatars.discourse-cdn.com/v4/letter/h/977dab/32.png) [@hutchman](https://hub.mender.io/u/hutchman)\
**Post date:** [November 2, 2020, 4:01pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/8 "2020-11-02T16:01:13Z")

</div>

Does Mender support booting from the eMMC and doing A/B updates on the eMMC of this board or just the SDCard?

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [November 2, 2020, 7:28pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/9 "2020-11-02T19:28:53Z")

</div>

There are some settings in local.conf that are commented that are for the eMMC. It should work just by changing those variables.

---

<div class="post-metadata">

**Author:** ![hutchman](https://avatars.discourse-cdn.com/v4/letter/h/977dab/32.png) [@hutchman](https://hub.mender.io/u/hutchman)\
**Post date:** [November 2, 2020, 8:04pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/10 "2020-11-02T20:04:35Z")

</div>

I’m building it now … for 2nd time. Had to build on Ubuntu 18.04 after build died on Ubuntu 20.04 due to some bison errors.

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [November 2, 2020, 8:54pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/11 "2020-11-02T20:54:04Z")

</div>

Yeah, Ubuntu 20 is newer than the sumo branch so not terribly surprising there are issues. I keep a Yocto crops container around based on Ubuntu 16 for when I have to build older branches.

---

<div class="post-metadata">

**Author:** ![hutchman](https://avatars.discourse-cdn.com/v4/letter/h/977dab/32.png) [@hutchman](https://hub.mender.io/u/hutchman)\
**Post date:** [November 3, 2020, 1:35am UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/12 "2020-11-03T01:35:30Z")

</div>

To be clear, I’m talking about using hardware partitions mmcblk2boot0 and mmcblk2boot1.

Thanks,

Brian

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [November 3, 2020, 2:59pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/13 "2020-11-03T14:59:36Z")

</div>

Hi @hutchman those partitions are only big enough for the bootloader. I do not know if U-Boot on this platform is configured to use them or not. But the Linux root filesystem will need to be on standard `/dev/mmcblk*p*` partitions.

Drew

---

<div class="post-metadata">

**Author:** ![hutchman](https://avatars.discourse-cdn.com/v4/letter/h/977dab/32.png) [@hutchman](https://hub.mender.io/u/hutchman)\
**Post date:** [November 3, 2020, 8:24pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/14 "2020-11-03T20:24:51Z")

</div>

Yes I know, I want A/B of u-boot to use those partitions for redundant boot.

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [November 3, 2020, 8:35pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/15 "2020-11-03T20:35:34Z")

</div>

Not out of the box. That would likely require updates to U-Boot itself.

---

<div class="post-metadata">

**Author:** ![mmatmot](https://avatars.discourse-cdn.com/v4/letter/m/c57346/32.png) [@mmatmot](https://hub.mender.io/u/mmatmot)\
**Post date:** [March 20, 2021, 4:46pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/16 "2021-03-20T16:46:32Z")

</div>

Are there plans to update for dunfell in the near future?

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [March 21, 2021, 4:48pm UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/17 "2021-03-21T16:48:19Z")

</div>

Not that I am aware of. Perhaps @kacf or @lluiscampos would know better for this platform.  
Drew

---

<div class="post-metadata">

**Author:** ![kacf](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/kacf/32/146_2.png) [@kacf](https://hub.mender.io/u/kacf)\
**Post date:** [March 22, 2021, 8:15am UTC](https://hub.mender.io/t/nxp-i-mx-8m-mini-evaluation-kit/659/18 "2021-03-22T08:15:12Z")

</div>

I know the original submitter is not working on it at the moment, so it’s effectively unmaintained unless someone else in the community steps up.
