mbox series

[isar-cip-core,RFC,v2,0/4] Integrate Delta Update with rdiff_image and delta handler

Message ID 20240320103229.1078738-1-Adithya.Balakumar@toshiba-tsip.com (mailing list archive)
Headers show
Series Integrate Delta Update with rdiff_image and delta handler | expand

Message

Adithya Balakumar March 20, 2024, 10:32 a.m. UTC
These series of patches enable the support for delta update for the root file system with swupdate's 
rdiff_image and delta handler(zchunk). 
For now, I send this as an RFC, as this needs to be reviewed by a broader audience.

A couple notes about the implementation:
- In this patchset, Delta update is only supported for the root file system.
- The newly added delta-update.bbclass handles the creation of the delta update artifacts.
- The update handler type i.e rdiff_image or delta handler is set in the variable "DELTA_UPDATE_TYPE"
in the newly added swupdate.yml file along some variables required for each handler.
- The creation of delta artifact for the rdiff_image handler requires a reference image (against which 
the delta is computed). Currently the reference artifact file (.squashfs/.verity) is passed to the 
build system by path to the file from the project's root directory in the variable DELTA_RDIFF_REF_IMAGE 
in the swupdate.yml file.

Changes in v2:
- Removed zchunk support for bookworm (due to use of backports). Currently zchunk based update only supported in Sid.
- Removed delta-update.yml file. Related variables have default values and can be set in manually swupdate.yml file.
- Using .squashfs file (.verity file in the case of Secure boot) for rdiff delta creation instead of .wic file.
- rdiff is set as default for delta update type, the build system looks for the v1 artifact in a default path (image-v1/<artifact_name>).
- Created a separate template file for sw-description of delta update.
- Renamed delta_update.bbclass to delta-update.bbclass.

Adithya Balakumar (4):
  swupdate-handler-roundrobin: Increase revision for Delta Handler
    support
  Add Delta update support with rdiff_image and delta handler
  swupdate.bbclass: Generate swu for delta updates
  doc/README.swupdate.md: Update steps to test Delta software Update

 classes/delta-update.bbclass                  | 107 ++++++++++++++++++
 classes/swupdate.bbclass                      |  32 +++++-
 conf/layer.conf                               |   2 +-
 doc/README.swupdate.md                        |  59 ++++++++++
 kas/opt/swupdate.yml                          |   5 +
 .../images/swu/sw-description-delta.tmpl      |  39 +++++++
 .../swupdate-handler-roundrobin_0.1.bb        |   2 +-
 7 files changed, 243 insertions(+), 3 deletions(-)
 create mode 100644 classes/delta-update.bbclass
 create mode 100644 recipes-core/images/swu/sw-description-delta.tmpl