# Embedded Artists iMX8M Mini uCOM

**URL:** <https://hub.mender.io/t/embedded-artists-imx8m-mini-ucom/3073>\
**Category:** Yocto Project\
**Tags:** yocto, nxp, imx8mm\
**Created:** [January 14, 2021, 10:09am UTC](https://hub.mender.io/t/embedded-artists-imx8m-mini-ucom/3073 "2021-01-14T10:09:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![eaandy](https://avatars.discourse-cdn.com/v4/letter/e/a5b964/32.png) [@eaandy](https://hub.mender.io/u/eaandy)\
**Post date:** [January 14, 2021, 10:09am UTC](https://hub.mender.io/t/embedded-artists-imx8m-mini-ucom/3073/1 "2021-01-14T10:09:51Z")

</div>

# Board description

Embedded Artists iMX8M Mini uCOM Developer’s Kit lets you get up-and-running quickly with NXP’s i.MX 8M Mini application processor. All relevant interfaces are available either for prototyping or direct integration into your product.

 ![imx8mm_ucom_kit_v2](https://canada1.discourse-cdn.com/flex036/uploads/mender/original/2X/6/617edd1d1827377b4a11ed7481a4d540960531f1.jpeg)

Product URL: [iMX8M Mini Developer’s Kit](https://www.embeddedartists.com/products/imx8m-mini-ucom-developers-kit)

# 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 |
| --- | --- | --- |
| zeus (ea-5.4.24) | :test_works: | :test_works: |
| sumo (ea-4.14.98) | :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.

# 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

Set the Yocto Project branch you are building for:

```auto
# set to your branch, make sure it is supported (see table above)
export BRANCH="ea-5.4.24"

```

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

```auto
mkdir mender-ea && cd mender-ea

```

Initialize repo manifest:

```auto
repo init -u https://github.com/embeddedartists/ea-yocto-base \
           -m ea-mender.xml \
           -b ${BRANCH}

```

Fetch layers in manifest:

```auto
repo sync

```

## Setup build environment

Initialize the build environment:

```auto
DISTRO=fsl-imx-wayland MACHINE=imx8mmea-ucom source ea-setup-mender.sh -b build_dir

```

### 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 deployments](https://docs.mender.io/artifact-creation/standalone-deployment?target=_blank), 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 ea-image-base

```

### Using the build output

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

The disk image (with `.sdimg` suffix) is used to provision the device storage for devices without Mender running already. Please read Embedded Artists documentation found in the references list below 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 official [Mender documentation](https://docs.mender.io/) explains how Mender works. This is simply a board-specific complement to the official documentation.
- [Embedded Artists official documentation](https://www.embeddedartists.com/wp-content/uploads/2021/01/iMX_OTA_Update.pdf) for how to build and deploy images with mender support.
