I'm unsure about update compatibility


this is probably a trivial problem.
I have read the compatibility documentation multiple times but I don’t think I got it right.

My goal is to perform an OTA update for existing devices.

Current build:

  • Yocto Linux Zeus (3.0)
  • Mender client 2.6.1

New build:

  • Yocto Linux Kirkstone (4.0)
  • Mender client 3.4.0

What I think I understand so far:

  • Zeus is not compatible with Mender client 3
  • Mender client 2.6 uses artifact 3.5
  • Mender client 3.4 uses artifact 3.9
  • I will not be able to update because the artifact has a newer version
  • To be able to update, I can use Mender client 3.4 and artifact 3.5 in the new build
  • Then in the next update, I can use Mender client 3.4 and artifact 3.9

Then I installed the new image from a USB drive on a zeus device (Mender client 2.6). It installed, but I get the Info Update Module path "/usr/share/mender/modules/v3" could not be opened (open /usr/share/mender/modules/v3: no such file or directory). Update modules will not be available

Does this mean that I will not be able to perform updates afterwards?

Hi @Dominik-Hstein,

Thanks for getting in touch!

Actually the upgrade path should be quite unproblematic and possible in one go. Mender Client 2.6 can install Artifact format v3, so directly deploying the new build is possible. That one would be kirkstone then, and brings Mender Client 3.4. The process is straightforwards, at least concerning the Mender side.

The warning on the Update Module path is not critical, it just says that any functionality by Update Modules is not available at that specific point in time. At least for all Mender Clients in existence today, this does not include the root filesystem functionality, so that should by functional. If the warning shows up after a reboot into kirkstone, I would check the selection of installed packages.

Side warning: even if the Mender process does not block this approach, there sometimes are breaking changes in bootloader, firmware or device tree (or combinations thereof). This might be addressed through state scripts shipped with the major update Artifact, for example.

Hope this helps, feel free to follow up if you have additional questions or details to clarify.