OTA Update failed with "No match between boot and root partitions"

NicoLueg
Wed, 04 Dec 2024 14:09:41 +0000
General Discussions

Hello guys!

We use Mender for a few months but are still at the start of our journey. We have like 20 productive devices at our customers’ locations and introduced Mender to be able to update the device without having access to the device in case anything happens.

Now we have the case that something broke up and we need to update the devices. We implemented the update in our custom layer (only some changes in the Python code) and built the image with the same configuration as before. When we tried to create a deployment we received this log:

2024-12-04 09:43:41 +0000 UTC info: Running Mender client version: 3.5.3
2024-12-04 09:43:41 +0000 UTC info: State transition: update-fetch [Download_Enter] -> update-store [Download_Enter]
2024-12-04 09:43:41 +0000 UTC info: No public key was provided for authenticating the artifact
2024-12-04 09:43:42 +0000 UTC info: Output (stderr) from command "fw_printenv": Cannot read environment, using default
2024-12-04 09:43:42 +0000 UTC info: Output (stderr) from command "fw_printenv": Cannot read default environment from file
2024-12-04 09:43:42 +0000 UTC info: Output (stderr) from command "fw_printenv": Cannot read environment, using default
2024-12-04 09:43:42 +0000 UTC info: Output (stderr) from command "fw_printenv": Cannot read default environment from file
2024-12-04 09:43:42 +0000 UTC error: Artifact install failed: Payload: can not install Payload: core-image-minimal-raspberrypi3-64.ext4: No match between boot and root partitions.: exit status 243
2024-12-04 09:43:42 +0000 UTC info: State transition: update-store [Download_Enter] -> cleanup [Error]
2024-12-04 09:43:42 +0000 UTC info: State transition: cleanup [Error] -> update-status-report [none]

We also get the error “No match between …” on the devices when we run mender show-artifact.
We tried to solve this by reading some very old discussions here but we aren’t able to solve this as we don’t really understand what the error is telling us.

Can someone please assist with that?

Details of our integration

We integrated mender in an existing Yocto project that consists of the following layer:

poky/meta
poky/meta-poky
poky/meta-yocto-bsp
meta-raspberrypi
meta-rust
meta-openembedded/meta-oe
meta-openembedded/meta-filesystems
meta-openembedded/meta-networking
meta-openembedded/meta-python
meta-virtualization
meta-mender/meta-mender-core
meta-our-custom layer (only has some services that run python scripts)

This is the relevant part of our configuration:

CONF_VERSION = "2"

MACHINE ?= "raspberrypi3-64"

# Mender configurations
MENDER_ARTIFACT_NAME = "release-1.1"
INHERIT += "mender-full"
MENDER_SERVER_URL="https://eu.hosted.mender.io/"
MENDER_TENANT_TOKEN = "<MENDER_TOKEN>"

MENDER_FEATURES_ENABLE:append = " mender-uboot mender-image-sd"
MENDER_FEATURES_DISABLE:append = " mender-grub mender-image-uefi"

MENDER_STORAGE_DEVICE = "/dev/mmcblk0"
MENDER_BOOT_PART_SIZE_MB = "128"
MENDER_STORAGE_TOTAL_SIZE_MB = "30448"

We have these partitions on our devices:

Device | Boot | Start | End | Sectors | Size | Id | Type
/dev/mmcblk0p1 | * | 49152 | 311295 | 262144 | 128M | c | W95 FAT32 (LBA)
/dev/mmcblk0p2 | | 311296 | 31195135 | 30883840 | 14.7G | 83 | Linux
/dev/mmcblk0p3 | | 31195136 | 62078975 | 30883840 | 14.7G | 83 | Linux
/dev/mmcblk0p4 | | 62078976 | 124735487 | 62656512 | 29.9G | 83 | Linux

Thank you for any help …

8 posts - 3 participants