mbox series

[isar-cip-core,v4,0/3] Integrate Delta Update with rdiff_image and delta handler

Message ID 20240425094444.404036-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 April 25, 2024, 9:44 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).

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 swupdate.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 swupdate.yml file.
- zchunk based delta update is only supported for sid onwards.

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 (3):
  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                | 97 +++++++++++++++++++++
 classes/swupdate.bbclass                    | 27 +++++-
 conf/layer.conf                             |  2 +-
 doc/README.swupdate.md                      | 59 +++++++++++++
 kas/opt/swupdate.yml                        |  5 ++
 recipes-core/images/swu/sw-description.tmpl |  5 +-
 6 files changed, 189 insertions(+), 6 deletions(-)
 create mode 100644 classes/delta-update.bbclass

Comments

Felix Moessbauer April 25, 2024, 12:01 p.m. UTC | #1
On Thu, 2024-04-25 at 15:14 +0530, 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).

Hi,

this is looking good now. I'll give it another try next week, once our
lab is up and running again.

Felix

> 
> 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 swupdate.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 swupdate.yml
> file.
> - zchunk based delta update is only supported for sid onwards.
> 
> 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 (3):
>   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                | 97
> +++++++++++++++++++++
>  classes/swupdate.bbclass                    | 27 +++++-
>  conf/layer.conf                             |  2 +-
>  doc/README.swupdate.md                      | 59 +++++++++++++
>  kas/opt/swupdate.yml                        |  5 ++
>  recipes-core/images/swu/sw-description.tmpl |  5 +-
>  6 files changed, 189 insertions(+), 6 deletions(-)
>  create mode 100644 classes/delta-update.bbclass
>
Quirin Gylstorff May 6, 2024, 8:25 a.m. UTC | #2
Hi,
is the patch v5 in work?

Quirin

On 4/25/24 11:44 AM, Adithya Balakumar via lists.cip-project.org 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 swupdate.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 swupdate.yml file.
> - zchunk based delta update is only supported for sid onwards.
> 
> 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 (3):
>    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                | 97 +++++++++++++++++++++
>   classes/swupdate.bbclass                    | 27 +++++-
>   conf/layer.conf                             |  2 +-
>   doc/README.swupdate.md                      | 59 +++++++++++++
>   kas/opt/swupdate.yml                        |  5 ++
>   recipes-core/images/swu/sw-description.tmpl |  5 +-
>   6 files changed, 189 insertions(+), 6 deletions(-)
>   create mode 100644 classes/delta-update.bbclass
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#15747): https://lists.cip-project.org/g/cip-dev/message/15747
> Mute This Topic: https://lists.cip-project.org/mt/105727112/1753640
> Group Owner: cip-dev+owner@lists.cip-project.org
> Unsubscribe: https://lists.cip-project.org/g/cip-dev/leave/8129121/1753640/1405269326/xyzzy [quirin.gylstorff@siemens.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Adithya Balakumar May 6, 2024, 8:47 a.m. UTC | #3
Hi Quirin,

Yes, will send out v5 today. Apologies for the delay.

Regards,
Adithya Balakumar

-----Original Message-----
From: cip-dev@lists.cip-project.org <cip-dev@lists.cip-project.org> On Behalf Of Quirin Gylstorff via lists.cip-project.org
Sent: Monday, May 6, 2024 1:55 PM
To: cip-dev@lists.cip-project.org; jan.kiszka@siemens.com
Cc: felix.moessbauer@siemens.com; kunijadar shivanand(TSIP TMIEC ODG Porting) <Shivanand.Kunijadar@toshiba-tsip.com>; ashrith sai(TSIP) <Sai.Sathujoda@toshiba-tsip.com>; dinesh kumar(TSIP TMIEC ODG Porting) <dinesh.kumar@toshiba-tsip.com>; hayashi kazuhiro(林 和宏 DME ○DIG□MPS○MP4) <kazuhiro3.hayashi@toshiba.co.jp>
Subject: Re: [cip-dev] [isar-cip-core][PATCH v4 0/3] Integrate Delta Update with rdiff_image and delta handler

Hi,
is the patch v5 in work?

Quirin

On 4/25/24 11:44 AM, Adithya Balakumar via lists.cip-project.org 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 swupdate.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 swupdate.yml file.
> - zchunk based delta update is only supported for sid onwards.
> 
> 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 (3):
>    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                | 97 +++++++++++++++++++++
>   classes/swupdate.bbclass                    | 27 +++++-
>   conf/layer.conf                             |  2 +-
>   doc/README.swupdate.md                      | 59 +++++++++++++
>   kas/opt/swupdate.yml                        |  5 ++
>   recipes-core/images/swu/sw-description.tmpl |  5 +-
>   6 files changed, 189 insertions(+), 6 deletions(-)
>   create mode 100644 classes/delta-update.bbclass
> 
> 
> 
> 
>