# i.MX6ULL Integration woes

**URL:** <https://hub.mender.io/t/i-mx6ull-integration-woes/522>\
**Category:** General Discussions\
**Tags:** rocko, nxp\
**Created:** [May 2, 2019, 4:06pm UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522 "2019-05-02T16:06:49Z")\
**Posts on this page:** 7\
**Page:** 3

<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:** [May 29, 2019, 9:38am UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522/41 "2019-05-29T09:38:52Z")

</div>

Also for reference, we recently did a board integration for i.MX8 on sumo branch (similar BSP to what you are using), you can take a look at the commit here,

> <https://github.com/mendersoftware/meta-mender-community/commit/5adaa8c5cbe332600171589476038ea014fb9268>
>
> A new vendor directory is added (meta-mender-imx), which will contain
> boards int…egrations based on the NXP i.MX BSP, not to be confused with the
> community BSP which can be found in meta-mender-nxp. This will also create
> a clear seperation as you could potentionally have the same board integrated
> in both BSP's.
> 
> Based-on-work-by: Tom Hochstein \<tom.hochstein@nxp.com\>
> Signed-off-by: Mirza Krak \<mirza.krak@northern.tech\>

I would suggest this as a good template for how I would have done it for i.MX6ULL

And the post,

> [@NXP® i.MX 8MQuad Evaluation Kit](https://hub.mender.io/t/nxp-i-mx-8mquad-evaluation-kit/567):
>
> 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 NXP® i.MX 8MQuad Evaluation Kit (EVK) provides a platform for rapid evaluation of the i.MX 8MQuad, i.MX 8MDual and i.MX 8MQuadLite Applications Processors, utilizing 2 to 4x Arm® Cortex®-A53s and 1x Cortex-M4 cores. It brings High-Performance with Low Power, Flexible options of Memory and High-Speed Interfaces as well as Industry-Leading Au…

But with these instructions,

```auto
mkdir mender-imx && cd mender-imx
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml
wget --directory-prefix .repo/manifests https://raw.githubusercontent.com/mendersoftware/meta-mender-community/sumo/meta-mender-imx/scripts/imx-4.14.98-2.0.0_demo_mender.xml
repo init -m imx-4.14.98-2.0.0_demo_mender.xml
repo sync
DISTRO=fsl-imx-xwayland MACHINE=imx8mqevk . fsl-setup-mender.sh -b build

```

Which is not how it is currently done in that post as the `imx-4.14.98-2.0.0_demo_mender.xml` file was up-streamed.

---

<div class="post-metadata">

**Author:** ![brianPTL](https://avatars.discourse-cdn.com/v4/letter/b/a587f6/32.png) [@brianPTL](https://hub.mender.io/u/brianPTL)\
**Post date:** [May 29, 2019, 11:12am UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522/42 "2019-05-29T11:12:21Z")

</div>

Looking for some advice here.

I get the following warning:

> WARNING: u-boot-imx-2017.03-r0 do\_provide\_mender\_defines: Found more than one dtb specified in KERNEL\_DEVICETREE. Only one should be specified. Choosing the last one.

The file _ **meta-fsl-bsp-release/imx/meta-bsp/conf/machine/imx6ull14x14evk.conf** _ which is my _ **machine.conf** _ file contains the following:

> KERNEL\_DEVICETREE = "imx6ull-14x14-evk.dtb imx6ull-14x14-evk-btwifi.dtb imx6ull-14x14-evk-gpmi-weim.dtb   
> imx6ull-14x14-evk-usb-certi.dtb imx6ull-14x14-evk-emmc.dtb  
> "

I think since this uses an ‘=’ that means I can’t override this in the _ **local.conf** _

What is the best practice here to only have a single .dtb? Create a new machine, e.g. imx6ull14x14evk-mender ?

Thanks

---

<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:** [May 29, 2019, 1:50pm UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522/43 "2019-05-29T13:50:29Z")

</div>

> What is the best practice here to only have a single .dtb? Create a new machine, e.g. imx6ull14x14evk-mender ?

I would try really hard to avoid creating custom machines.

I guess the appropriate fix is to make sure that `imx6ull14x14evk.conf ` is changed to `? =` to allow overrides.

But one workaround you can use in `local.conf` is

```
 KERNEL_DEVICETREE_remove "<name of the entries to you want to remove>"

```

---

<div class="post-metadata">

**Author:** ![brianPTL](https://avatars.discourse-cdn.com/v4/letter/b/a587f6/32.png) [@brianPTL](https://hub.mender.io/u/brianPTL)\
**Post date:** [May 29, 2019, 3:05pm UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522/44 "2019-05-29T15:05:03Z")

</div>

I’ve got a working build now so I’m just trying to absorb this post now (and find the things you are subtly saying I should change 😉 ). I’m still trying to understand repo too, so bear with me.

If I understand whats happening properly, you are still using the NXP manifest to download the NXP repositories, but you then download an additional manifest with the mender info.

`repo sync` will then download both manifests. (I didn’t know it could do this)

You have a custom initialise script that calls the NXP script in the fashion it expects, while also setting up the mender side of things.

Reading between the lines, are the benefits:

- Can still get updates from NXP since we use their manifest directly
- Can still use their initialisation script to support multiple MACHINE and DISTRO variables

?

---

<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:** [May 29, 2019, 7:34pm UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522/45 "2019-05-29T19:34:06Z")

</div>

> I’ve got a working build now so I’m just trying to absorb this post now (and find the things you are subtly saying I should change 😉 ). I’m still trying to understand repo too, so bear with me.

Understandable and do not worry much about it 🙂

> If I understand whats happening properly, you are still using the NXP manifest to download the NXP repositories, but you then download an additional manifest with the mender info.

> `repo sync` will then download both manifests. (I didn’t know it could do this)

> You have a custom initialise script that calls the NXP script in the fashion it expects, while also setting up the mender side of things.

You have understood correctly.

> Reading between the lines, are the benefits:
> 
> - Can still get updates from NXP since we use their manifest directly

Exactly, it is usually a pain to keep a copy of the upstream manifest, which would get out of date fast and one needs keep updating it “manually”

> - Can still use their initialisation script to support multiple MACHINE and DISTRO variables

Yes, exactly. This is to make the Mender integration less “intrusive” to the upstream workflow even if the Mender integration is only valid for one MACHINE this could be extended to support more.

---

<div class="post-metadata">

**Author:** ![brianPTL](https://avatars.discourse-cdn.com/v4/letter/b/a587f6/32.png) [@brianPTL](https://hub.mender.io/u/brianPTL)\
**Post date:** [May 30, 2019, 9:59am UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522/46 "2019-05-30T09:59:50Z")

</div>

I think I have most of the documentation done here: [[INCOMPLETE] i.MX 6ULL EVK](https://hub.mender.io/t/incomplete-i-mx-6ull-evk/635) and a pull request here: [https://github.com/mendersoftware/meta-mender-community/pull/73](https://github.com/mendersoftware/meta-mender-community/pull/73)

Let me know what else I can do. Once PR is done I will update the docs with the correct links and run through the build process using the instructions, then do the runtime testing etc.

Thanks.

---

<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:** [May 30, 2019, 12:21pm UTC](https://hub.mender.io/t/i-mx6ull-integration-woes/522/47 "2019-05-30T12:21:12Z")

</div>

I will take a look at the PR tomorrow, today is a public holiday so trying to enjoy that 😁

[Previous page](https://hub.mender.io/t/i-mx6ull-integration-woes/522.md?page=2)
