If I understood the guide correctly you need to apply a initial rootfs update before you can use the delta updates.
Source: Robust delta update rootfs
Our process is right now:
- Create a .uefi image with yocto
- Flash the image on an SSD
- Install the SSD
- Boot the device
- Apply a full rootfs update manually via ethernet connection
- Ship the device to the customer
- Apply delta-updates via a mobile connection
If we skip step 5. we can’t apply any delta updates later because the device does not provide the right rootfs.checksum
.
My question is: Why we are doing this? The initial image (.uefi) is exactly the same as the first full rootfs update (.mender)
Or is there a workaround that I did not see?
Thanks for all the help!
Hello, the reason is that the database is not populated at build-time, and hence, an update is needed in order to populate it.
More information, and the fix, when it is prioritized, can be found here:
https://tracker.mender.io/browse/MEN-2582
Thanks for the quick update. Is there a known work around e.g. remove the depends on property of the first delta-update artefact ?
Unfortunately not
But @eystein (Product Owner) will likely be interested in this discussion.
Thanks for the feedback @B-Stefan !
It is something we plan to improve and I have noted your request for it as well.
Currently you need to do the process you outlined above for a while longer I think.
Thanks for the quick response @eystein.
Unfortunately, the process described above was not an option for us.
I found a workaround, so for everybody that encounter this issue here is a potential process to avoid the initial full rootfs update:
- Create a .uefi image with yocto
- Flash the image on an SSD
- Install the SSD
- Boot the device
In case of the first delta update:
- Create a delta update via mender-delta binary, according to documentation
- Read the delta update via
mender-artefact read yourDeltaUpdateName.mender
- Create a new Script update with an empty script that provides the required
rootfs.checksum
- Apply the script update to your devices
- Apply the delta update to your devices
Create script update
mender-artifact write module-image -T script \
-n release-45-rootfs-fix \
-t <device_type> \
-o ./release-45-rootfs-fix.mender \
--provides rootfs-image.checksum:3d009272e05a2fdbb37b98775a73ec788f34fcea67446d76ee26e6f36c9a4d6b \
--depends artifact_name:release-6.45 \
--provides rootfs-image.version:release-6.45 \
--clears-provides artifact_group \
--clears-provides "rootfs-image.*" \
-f ./blank.bash
2 Likes