Commit Graph

4 Commits

Author SHA1 Message Date
Isaac Hermida 08732151b9 meta-digi-dey: cosmetic, remove trailing white spaces
No functional change.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2025-11-27 13:03:00 +01:00
Francisco Gil 97d8740fb2 ccmp25: swupdate: fix hardcoded index in fwupdate strategy
https://onedigi.atlassian.net/browse/DEL-9228

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-10-11 14:57:14 +02:00
Francisco Gil 7c543bbafb ccmp25: swupdate: remove unnecessary logic in the script
The rdiff update is only available for dual-boot systems,
and it is checked at the beginning of the process.
We can remove the related logic and some variables in the
script.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>

# Conflicts:
#	meta-digi-dey/recipes-digi/swu-images/files/update_rdiff.sh
2024-10-11 14:57:14 +02:00
David Escalona f9396581fd meta-digi-dey: swupdate: add firmware update support based on differences for R/O systems
Implement a new mechanism to allow users to create update packages based on differences for read-only
systems. The update mechanism requires full knowledge of the current software running on the device in order
to compute a sensitive patch. For this reason, only systems without user modifications in the rootfs/boot
partitions are eligible for this kind of updates. At the moment, only the 'rootfs' partition supports the
read-only squashfs file system type, so it is the only partition supporting incremental updates. The 'boot'
partition will still be updated but as a full image.

This new feature is done making use of the SWUpdate 'rdiff' handler, which applies binary deltas with the
functionallity provided by the rsync library. During the update process, the contents of the active 'rootfs'
partition are read as the base and written to the inactive 'rootfs' partition applying the delta binary patch
on-the-fly. To ensure the delta file is applied using the correct base, the firmware update process verifies
the contents of the 'rootfs' base partition before applying the update.

The binary delta file is automatically generated by the DEY build system using the resulting 'rootfs' squashfs
image as target and the user specified file as source. The file is then packaged with the rest of components in
the SWU update image. Users must specify the base source file in their project configuration file using the
new variable 'SWUPDATE_RDIFF_ROOTFS_SOURCE_FILE'. Also, 'read-only-rootfs' image feature should be set in the
project to generate this new SWU update package.

Since a base and a target 'rootfs' partition is required during the update, only 'dualboot' systems can benefit
from this new feature.

Note: If variable 'SWUPDATE_RDIFF_ROOTFS_SOURCE_FILE' is configured in the project but any of 'SWUPDATE_FILES_LIST'
      or 'SWUPDATE_FILES_TARGZ_FILE' variables is also set, the build system will prioritize a SWU update package
      based on files instead of a differences package.

https://onedigi.atlassian.net/browse/DEL-8624

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-08-14 10:59:16 +02:00