Mender integration for Yocto on iMX8M Plus Humming Board

I am using Hummingboard Pulse evaluation board + IMX8MP SOM with Yocto Kirkstone.

I couldn’t find any existing solidrun board integrations on meta-mender-community , except for cubox-i. However produced mender cubox image doesn’t boot on humming board. I use .sdimg image format.

Is there any tutorial about mender integration for Solidrun iMX8 or specific settings I should tweak?

There is no specific public repository for integrating mender with our BSP. That being said we are based off of NXP’s BSP so any integration done for a similar board should directly carry over to our hardware. If you have specific questions feel free to ask them here and I will try to answer them as quickly as possible.

I managed to integrate mender client into my build, but there are still problems with OS update.


    ${TOPDIR}/../meta-clang \
    ${TOPDIR}/../meta-freescale \
    ${TOPDIR}/../meta-freescale-3rdparty \
    ${TOPDIR}/../meta-freescale-distro \
    ${TOPDIR}/../meta-imx/meta-bsp \
    ${TOPDIR}/../meta-imx/meta-ml \
    ${TOPDIR}/../meta-imx/meta-sdk \
    ${TOPDIR}/../meta-iot-cloud \
    ${TOPDIR}/../meta-mender-identity \
    ${TOPDIR}/../meta-mender/meta-mender-core \
    ${TOPDIR}/../meta-nellie \
    ${TOPDIR}/../meta-openembedded/meta-filesystems \
    ${TOPDIR}/../meta-openembedded/meta-gnome \
    ${TOPDIR}/../meta-openembedded/meta-multimedia \
    ${TOPDIR}/../meta-openembedded/meta-networking \
    ${TOPDIR}/../meta-openembedded/meta-oe \
    ${TOPDIR}/../meta-openembedded/meta-python \
    ${TOPDIR}/../meta-qt6 \
    ${TOPDIR}/../meta-solidrun-arm-imx8 \
    ${TOPDIR}/../meta-timesys \
    ${TOPDIR}/../meta-virtualization \
    ${TOPDIR}/../meta-vps-lite-unit \
    ${TOPDIR}/../poky/meta \
BBFILES ??= ""


INHERIT += "mender-full"
MENDER_FEATURES_ENABLE:append = " mender-image-sd mender-partuuid"
MENDER_FEATURES_DISABLE:append = " mender-image-uefi mender-growfs-data"
MENDER_TENANT_TOKEN = "***hidden***"
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
IMAGE_FSTYPES:remove = "tar.gz ext4 wic.gz wic.bmap multiubi mender.bmap"
MENDER_BOOT_PART = "09501fb1-01"
MENDER_DATA_PART = "09501fb1-04"
MENDER_ROOTFS_PART_A = "09501fb1-02"
MENDER_ROOTFS_PART_B = "09501fb1-03"

I can update single files via Mender Hub, but not OS update, which requires switching partitions.
On Mender Hub, I get the following error:

2023-09-11 12:06:08 +0000 UTC info: Running Mender client version: 3.5.1
2023-09-11 12:06:09 +0000 UTC info: State transition: update-fetch [Download_Enter] → update-store [Download_Enter]
2023-09-11 12:06:09 +0000 UTC info: No public key was provided for authenticating the artifact
2023-09-11 12:06:09 +0000 UTC error: Artifact install failed: Payload: can not install Payload: nellie-dev-image-imx8mpsolidrun.ext4: Active root partition matches neither RootfsPartA nor RootfsPartB.
2023-09-11 12:06:09 +0000 UTC info: State transition: update-store [Download_Enter] → cleanup [Error]
2023-09-11 12:06:09 +0000 UTC info: State transition: cleanup [Error] → update-status-report [none]

My guess is the bootloader has to be modified to enable this functionality. Can I get some directions where to look at?

I am working on updated instructions and patches for our BSP. It will be out this week.