meta-digi/meta-digi-dey
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
..
classes meta-digi-dey: swupdate: add firmware update support based on differences for R/O systems 2023-08-14 10:59:16 +02:00
conf meta-digi-dey: fw_version: add new variable to store global system firmware version 2023-06-21 18:23:50 +02:00
dynamic-layers ethos-u-driver-stack: use ethosu_firmware without debug port 2023-06-28 11:54:16 +02:00
recipes-aws meta-digi: remove True option to getVar 2023-02-24 16:24:47 +01:00
recipes-connectivity ccimx93: bluetooth-init: adjust recipes to btnxpuart driver 2023-08-01 18:54:00 +02:00
recipes-core ccimx93: bluetooth-init: adjust recipes to btnxpuart driver 2023-08-01 18:54:00 +02:00
recipes-crank meta-digi: remove True option to getVar 2023-02-24 16:24:47 +01:00
recipes-devtools meta-digi-dey: python3-xbee: update recipe to compile Github code 2023-05-19 17:58:00 +02:00
recipes-digi meta-digi-dey: swupdate: add firmware update support based on differences for R/O systems 2023-08-14 10:59:16 +02:00
recipes-extended kirkstone migration: general update to the new override syntax 2022-06-20 11:39:57 +02:00
recipes-gnome kirkstone migration: general update to the new override syntax 2022-06-20 11:39:57 +02:00
recipes-graphics meta-digi-dey: make QT5 optional 2023-02-02 18:03:38 +01:00
recipes-multimedia sound: max98088: update card name 2023-08-08 10:29:16 +02:00
recipes-sato kirkstone migration: general update to the new override syntax 2022-06-20 11:39:57 +02:00
recipes-support meta-digi-dey: swupdate: add 'UBIVOL_RDIFFHANDLER' support to MTD based systems 2023-08-14 10:35:58 +02:00
DIGI_EULA DIGI_EULA: Update Digi EULA file. 2017-08-29 12:23:22 +02:00
DIGI_OPEN_EULA meta-digi: Rename from DEL to DEY. 2013-06-12 13:18:37 +02:00
README meta-digi: update support email address 2017-10-30 17:02:33 +01:00

README

OpenEmbedded/Yocto Digi Embedded Linux layer
============================================

This layer provides the Digi Embedded Linux distribution images.

This layer depends on:

git://git.yoctoproject.org/poky.git
git://git.openembedded.org/meta-openembedded.git
git://git.yoctoproject.org/meta-freescale.git
git://github.com/Freescale/meta-fsl-demos.git

Digi's license agreements
-------------------------

All software is covered by Digi's general EULA and Digi's Open Source
EULA. To have the right to use the software in your images you need to
read and accept both EULAs at the DIGI_EULA and DIGI_OPEN_EULA files.

NXP Semiconductors' software license agreement
----------------------------------------------

Some platforms depends on libraries and packages that are covered by
NXP Semiconductors' EULA. To have the right to use those binaries in
your images you need to read and accept the EULA file in meta-freescale
Yocto layer.

Support
-------

This layer is provided 'as is' with no guarantee. However, some support
may be available from tech.support@digi.com