Mender on iMx6ULL Toradex for product line

Hi, hopefully someone can help for our new product for us to consider Mender.
There are two examples for Toradex and Mender and neither of them build for iMX6ULL.
We would like to use Toradex BSP3.0 LTS Poky based thud 2.6 as the yocto base.

  1. Toradex Colibri iMX7 Dual 512MB / Colibri iMX7 Solo 256MB

We modify the local.conf for MACHINE colibri_imx6ull and change all cases of imx7 text in the file to imx6ull.
ERROR: u-boot-toradex-2016.11+gitAUTOINC+5c2d46b325-r0 do_compile: oe_runmake failed

  1. https://mender.io/resources/guides-and-how-tos/_resources/mender-on-toradex

We clone mender meta’s and add to bb_layers.conf then build.
ERROR: Multiple versions of u-boot-toradex are due to be built (/home/ax1234/yocto/build/…/layers/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb /home/ax1234/yocto/build/…/layers/meta-toradex-nxp/recipes-bsp/u-boot/u-boot-toradex_2019.07.bb)

Please advise. Thanks.

I think we need something more to go on.
Can you post ur local.conf, and bblayers.conf files?
As well as the versions of each source? (ie, poky, meta-mender?)

Im using Toradex’s Poky based BSPv3 (based on thud yocto 2.6).
I’ve added meta-mender layers from rocko into the /layers/ folder.
Listing of conf files is below.
And the full error message from “bitbake -k console-tdx-image” is pasted below.

local.conf
BB_NUMBER_THREADS ?= “{@oe.utils.cpu_count()}" PARALLEL_MAKE ?= "-j {@oe.utils.cpu_count()}”
MACHINE ?= “colibri-imx6ull”
ACCEPT_FSL_EULA = “1”
IMAGE_INSTALL_append = " mosquitto paho-mqtt-c nginx"
#Add For Mender Build…
INHERIT += “mender-full-ubi”
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = “systemd”
DISTRO_FEATURES_BACKFILL_CONSIDERED = “sysvinit”
VIRTUAL-RUNTIME_initscripts = “”
DL_DIR ?= “{TOPDIR}/../downloads" UNINATIVE_DLDIR = "{TMPDIR}/uninative/”
SSTATE_DIR ?= “{TOPDIR}/../sstate-cache" DEPLOY_DIR = "{TOPDIR}/deploy”
PACKAGE_CLASSES ?= “package_ipk”
EXTRA_IMAGE_FEATURES = “debug-tweaks package-management”
USER_CLASSES ?= “buildstats image-mklibs image-prelink”
PATCHRESOLVE = “noop”
BB_DISKMON_DIRS = "
STOPTASKS,{TMPDIR},1G,100K \ STOPTASKS,{DL_DIR},1G,100K
STOPTASKS,{SSTATE_DIR},1G,100K \ ABORT,{TMPDIR},100M,1K
ABORT,{DL_DIR},100M,1K \ ABORT,{SSTATE_DIR},100M,1K"
PACKAGECONFIG_pn-qemu-native = “sdl”
ASSUME_PROVIDED += “libsdl-native”
CONF_VERSION = “1”
INHERIT += “rm_work”
INHERIT += “toradex-mirrors”
DISTRO = “tdx-x11”
DISTRO_mx8 = “tdx-xwayland”
include conf/machine/include/${MACHINE}.inc

bblayers.conf
LCONF_VERSION = “7”
BBPATH = "{TOPDIR}" BBFILES ?= "" BBLAYERS ?= " \ {TOPDIR}/…/layers/meta-toradex-nxp
{TOPDIR}/../layers/meta-freescale \ {TOPDIR}/…/layers/meta-freescale-3rdparty
{TOPDIR}/../layers/meta-toradex-tegra \ {TOPDIR}/…/layers/meta-toradex-bsp-common
{TOPDIR}/../layers/meta-openembedded/meta-oe \ {TOPDIR}/…/layers/meta-openembedded/meta-filesystems
{TOPDIR}/../layers/meta-openembedded/meta-gnome \ {TOPDIR}/…/layers/meta-openembedded/meta-xfce
{TOPDIR}/../layers/meta-openembedded/meta-initramfs \ {TOPDIR}/…/layers/meta-openembedded/meta-networking
{TOPDIR}/../layers/meta-openembedded/meta-multimedia \ {TOPDIR}/…/layers/meta-openembedded/meta-python
{TOPDIR}/../layers/meta-openembedded/meta-webserver \ {TOPDIR}/…/layers/meta-lxde
{TOPDIR}/../layers/meta-browser \ {TOPDIR}/…/layers/meta-qt5
{TOPDIR}/../layers/meta-qt5-extra \ {TOPDIR}/…/layers/meta-rust
{TOPDIR}/../layers/meta-freescale-distro \ {TOPDIR}/…/layers/meta-toradex-demos
{TOPDIR}/../layers/meta-toradex-distro \ {TOPDIR}/…/layers/meta-yocto/meta-poky
{TOPDIR}/../layers/openembedded-core/meta \ {TOPDIR}/…/layers/meta-mender/meta-mender-core
{TOPDIR}/../layers/meta-mender/meta-mender-demo \ {TOPDIR}/…/layers/meta-mender/meta-mender-toradex-nxp \

ERROR: Multiple versions of u-boot-toradex are due to be built (/home/ubuntu/yocto/build/…/layers/meta-freescale-3rdparty/recipes-bsp/u-boot/u-boot-toradex_2016.11.bb /home/ubuntu/yocto/build/…/layers/meta-toradex-nxp/recipes-bsp/u-boot/u-boot-toradex_2019.07.bb). Only one version of a given PN should be built in any given build. You likely need to set PREFERRED_VERSION_u-boot-toradex to select the correct version or don’t depend on multiple versions.

Just copying the meta-mender layers from rocko is not likely going to work. You’ll need to do a standard integration with this particular BSP/branch. I don’t think any of us have the iMX6ULL Toradex boards so we have not tested this combination.

Drew

Thanks Drew, Can you give any specific pointers on where to start on this integration?
Not being yocto experts we are a little intimidated by the potential pitfalls here…

Or… Not sure if its an option for us to loan you a Colibri Imx6ULL module if you think that will help?

Hi @avrobot our docs on Yocto integration are the best place to start.

We do offer consulting services for custom board integration if you are interested.

Drew