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.
bblayers.conf
BBLAYERS ?= " \
${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 \
${TOPDIR}/../poky/meta-poky"
BBPATH ?= "${TOPDIR}"
BBFILES ??= ""
local.conf
INHERIT += "mender-full"
MENDER_FEATURES_ENABLE:append = " mender-image-sd mender-partuuid"
MENDER_FEATURES_DISABLE:append = " mender-image-uefi mender-growfs-data"
MENDER_SERVER_URL = "https://eu.hosted.mender.io"
MENDER_TENANT_TOKEN = "***hidden***"
MENDER_ARTIFACT_NAME = "release-6"
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""
MENDER_STORAGE_TOTAL_SIZE_MB = "7456"
MENDER_BOOT_PART_SIZE_MB = "64"
MENDER_IMAGE_BOOTLOADER_FILE = "imx-boot"
MENDER_IMAGE_BOOTLOADER_BOOTSECTOR_OFFSET = "64"
IMAGE_FSTYPES:remove = "tar.gz ext4 wic.gz wic.bmap multiubi mender.bmap"
MENDER_STORAGE_DEVICE = ""
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:
Blockquote
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]
Blockquote
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.
Any update regarding the patches? Where can I access them?