# NXP® i.MX 6 Ultra Lite Evaluation Kit

**URL:** https://hub.mender.io/t/nxp-i-mx-6-ultra-lite-evaluation-kit/2762
**Category:** Yocto Project
**Tags:** nxp, warrior, imx6ul-evk
**Created:** [November 2, 2020, 8:04am UTC](https://hub.mender.io/t/nxp-i-mx-6-ultra-lite-evaluation-kit/2762 "2020-11-02T08:04:39Z")
**Posts on this page:** 1
**Showing post:** 1

<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: [November 2, 2020, 8:04am UTC](https://hub.mender.io/t/nxp-i-mx-6-ultra-lite-evaluation-kit/2762/1 "2020-11-02T08:04:39Z")

</div>

# Contributors

**[BG Networks](https://bgnet.works/)** - _Cyber Security for the Internet of Things_

**[Jasmin Infotech](http://www.jasmin-infotech.com/)** - _Embedded solutions and services_

Let us know if you need additional information for a manual integration and build.

# Board description

The i.MX 6UltraLite processor is the first device in the i.MX product line to have a single Arm® **Cortex®-A7** core operating at speeds of up to **696 MHz**. This EVK enables an LCD display and audio playback as well as many connectivity options.

 ![imx6ul](https://www.nxp.com/assets/images/en/dev-board-image/MCIMX6UL-EVK-BD.jpg "imx6ul")

URL: [i.MX6UltraLite Evaluation Kit - Technical and Functional Specifications](https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx6ultralite-evaluation-kit:MCIMX6UL-EVK)

Wiki: [i.MX 6 series](https://en.wikipedia.org/wiki/I.MX#i.MX_6_series)

# 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 |
| --- | --- | --- |
| warrior (2.7) | :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/2.3/devices/yocto-project/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)

- 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-imx6ul` setup to live in and clone the

meta information.

```auto
mkdir -p mender-imx6ul && cd mender-imx6ul

```

Initialize repo manifest:

```auto
# Downloading base manifest from NXP site
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-warrior -m imx-4.19.35-1.1.2.xml
# Adding demo manifest from meta-mender-community
wget --directory-prefix .repo/manifests https://raw.githubusercontent.com/mendersoftware/meta-mender-community/warrior/meta-mender-imx/scripts/imx-4.19.35-1.1.2_demo_mender.xml
# Initialising mender demo manifest
repo init -m imx-4.19.35-1.1.2_demo_mender.xml

```

Fetch layers in manifest:

```auto
repo sync

```

## Setup build environment

Initialise the build environment:

1. For first build:

```auto
MACHINE=imx6ulevk DISTRO=fslc-framebuffer source setup-mender-environment build

```

1. For subsequent builds:

```auto
source setup-mender-environment 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 deployments](https://docs.mender.io/2.3/architecture/standalone-deployments?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
# - 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>"

```

Build for Mender demo server:

```auto
# https://docs.mender.io/getting-started/create-a-test-environment
#
# Update IP address to match the machine running the Mender demo server
MENDER_DEMO_HOST_IP_ADDRESS = "192.168.0.100"

```

### 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 `tmp/deploy/images/imx6ulevk/`.

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/2.3/artifacts/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/2.3/architecture/mender-artifacts?target=_blank) files, which have `.mender` suffix. You can either deploy this Artifact in managed mode with the Mender server as described in [Deploy a system update demo](https://docs.mender.io/2.3/getting-started/on-premise-installation/deploy-a-system-update-demo?target=_blank) or by using the Mender client only in [Standalone deployments](https://docs.mender.io/2.3/architecture/standalone-deployments?target=_blank).

# References

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

2. [meta-mender-imx6ul](https://github.com/bgnetworks/meta-mender-community) from [bgnetworks](https://github.com/bgnetworks) - Complete mender integration for i.MX 6UL (fixed known issues)

3. i.MX6UltraLite Evaluation Kit - [Overview](https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx6ultralite-evaluation-kit:MCIMX6UL-EVK)

4. i.MX Repo Manifest [README](https://source.codeaurora.org/external/imx/imx-manifest/tree/README?h=imx-linux-warrior)

# Known issues

- Network not starting on boot, can be solved by [Mender Tutorial - How to configure networking using systemd in Yocto Project](https://hub.mender.io/t/how-to-configure-networking-using-systemd-in-yocto-project/1097)

---

_[View the full topic](https://hub.mender.io/t/nxp-i-mx-6-ultra-lite-evaluation-kit/2762)._
