Message ID | 20240507091432.895626-1-Adithya.Balakumar@toshiba-tsip.com (mailing list archive) |
---|---|
Headers | show |
Series | Integrate Delta Update with rdiff_image and delta handler | expand |
On 07.05.24 11:14, Adithya Balakumar wrote: > These series of patches enable the support for delta update for the root file system with swupdate's > rdiff_image and delta handler(zchunk). > > 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 delta-update.yml file along with 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 placing the artifact in the path "${TOPDIR}/previous-image" and setting the name of the > artifact in the variable DELTA_RDIFF_REF_IMAGE in the delta-update.yml file. > - zchunk based delta update is only supported for sid onwards. > > Changes in v6: > - Minor refactoring and improve error messages in delta-update.bbclass > > Changes in v5: > - Introduce delta-update.yml file for delta update related configs. > - Set rdiff as the default for delta update type. > - Add delta update option in Kconfig menu. > > Changes in v4: > - Create only 1 .swu file, either delta or complete swu. > - By default complete update swu is created. > > Changes in v3: > - Rebase to current next branch (61e998e1e0541e2713c05fcbf21df39fbc882a0a) > - Set "${TOPDIR}/previous-image" as the path for the previous image artifact for rdiff update. > - README updates to verify delta update. > > 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): > 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 > Kconfig: Add delta update option > > Kconfig | 16 ++++ > classes/delta-update.bbclass | 99 +++++++++++++++++++++ > classes/swupdate.bbclass | 32 ++++++- > conf/layer.conf | 2 +- > doc/README.swupdate.md | 59 ++++++++++++ > kas/opt/delta-update.yml | 20 +++++ > recipes-core/images/swu/sw-description.tmpl | 5 +- > 7 files changed, 227 insertions(+), 6 deletions(-) > create mode 100644 classes/delta-update.bbclass > create mode 100644 kas/opt/delta-update.yml > Thanks a lot, applied to next. Jan
On 07.05.24 11:14, Adithya Balakumar wrote: > These series of patches enable the support for delta update for the root file system with swupdate's > rdiff_image and delta handler(zchunk). > > 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 delta-update.yml file along with 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 placing the artifact in the path "${TOPDIR}/previous-image" and setting the name of the > artifact in the variable DELTA_RDIFF_REF_IMAGE in the delta-update.yml file. > - zchunk based delta update is only supported for sid onwards. > Just wondered if we shouldn't convert our current v2 tests in CI (build_swu_v2: enable) to rdiff delta update. Any blockers for that? Jan