mbox series

[isar-cip-core,v2,0/5] A/B Rootfs update with software update

Message ID 20200629095611.3000-1-Quirin.Gylstorff@siemens.com
Headers show
Series A/B Rootfs update with software update | expand

Message

Quirin Gylstorff June 29, 2020, 9:56 a.m. UTC
From: Quirin Gylstorff <quirin.gylstorff@siemens.com>

This patchset adds efibootguard, swupdate to allow A/B updates in
cip-core. The update mechanism is currently only implemented for x86_64.

Changes V2:
 - update efibootguard to v0.7
 - add swdescription and kas option to build qemu-amd64 test image
 - swupdate set to upstream mirror and no longer use gitsm

Quirin Gylstorff (5):
  recipes-bsp: Add efibootguard
  patches: add libubootenv
  recipes-core: add swupdate
  wic: Add wks files for A/B Partition update
  swupdate: create swu file from wic image

 classes/extract-partition.bbclass             |  26 +
 classes/kconfig-snippets.bbclass              |  90 ++++
 classes/swupdate-config.bbclass               |  76 +++
 classes/swupdate-img.bbclass                  |  75 +++
 classes/wic-swu-img.bbclass                   |  20 +
 .../0001-u-boot-add-libubootenv.patch         | 169 +++++++
 kas-cip.yml                                   |   4 +
 kas/opt/ebg-swu.yml                           |  26 +
 kas/opt/qemu-swupdate.yml                     |  19 +
 .../efibootguard/efibootguard_0.7-git+isar.bb |  46 ++
 recipes-bsp/efibootguard/files/debian/compat  |   1 +
 .../efibootguard/files/debian/control.tmpl    |  20 +
 .../files/debian/efibootguard-dev.install     |   3 +
 .../files/debian/efibootguard.install         |   2 +
 recipes-bsp/efibootguard/files/debian/rules   |  21 +
 recipes-core/images/cip-core-image.bb         |  10 +
 recipes-core/images/files/sw-description.tmpl |  29 ++
 .../swupdate/files/debian/changelog.tmpl      |   6 +
 recipes-core/swupdate/files/debian/compat     |   1 +
 .../swupdate/files/debian/control.tmpl        |  15 +
 recipes-core/swupdate/files/debian/copyright  |  36 ++
 recipes-core/swupdate/files/debian/rules.tmpl |  30 ++
 .../swupdate/files/debian/swupdate.examples   |   2 +
 .../swupdate/files/debian/swupdate.install    |   2 +
 .../swupdate/files/debian/swupdate.manpages   |   5 +
 .../swupdate/files/debian/swupdate.tmpfile    |   2 +
 recipes-core/swupdate/files/debian/watch      |  12 +
 recipes-core/swupdate/files/postinst          |   2 +
 recipes-core/swupdate/files/swupdate.cfg      |   6 +
 .../swupdate/files/swupdate.service.example   |  11 +
 .../swupdate/files/swupdate.socket.example    |  11 +
 .../swupdate/files/swupdate.socket.tmpl       |  13 +
 .../swupdate/files/swupdate_defconfig         |  83 ++++
 .../swupdate_defconfig_efibootguard.snippet   |   3 +
 .../files/swupdate_defconfig_lua.snippet      |   2 +
 .../swupdate_defconfig_luahandler.snippet     |   4 +
 .../files/swupdate_defconfig_mtd.snippet      |   1 +
 .../files/swupdate_defconfig_u-boot.snippet   |   3 +
 .../files/swupdate_defconfig_ubi.snippet      |   6 +
 .../swupdate/files/swupdate_handlers.lua      | 453 ++++++++++++++++++
 recipes-core/swupdate/swupdate.bb             |  54 +++
 .../wic/plugins/source/efibootguard-boot.py   | 162 +++++++
 .../wic/plugins/source/efibootguard-efi.py    | 102 ++++
 wic/ebg-sysparts.inc                          |   8 +
 wic/qemu-amd64-efibootguard.wks               |   5 +
 wic/simatic-ipc227e-efibootguard.wks          |   5 +
 wic/swupdate-partition.inc                    |   4 +
 47 files changed, 1686 insertions(+)
 create mode 100644 classes/extract-partition.bbclass
 create mode 100644 classes/kconfig-snippets.bbclass
 create mode 100644 classes/swupdate-config.bbclass
 create mode 100644 classes/swupdate-img.bbclass
 create mode 100644 classes/wic-swu-img.bbclass
 create mode 100644 isar-patches/0001-u-boot-add-libubootenv.patch
 create mode 100644 kas/opt/ebg-swu.yml
 create mode 100644 kas/opt/qemu-swupdate.yml
 create mode 100644 recipes-bsp/efibootguard/efibootguard_0.7-git+isar.bb
 create mode 100644 recipes-bsp/efibootguard/files/debian/compat
 create mode 100644 recipes-bsp/efibootguard/files/debian/control.tmpl
 create mode 100644 recipes-bsp/efibootguard/files/debian/efibootguard-dev.install
 create mode 100644 recipes-bsp/efibootguard/files/debian/efibootguard.install
 create mode 100755 recipes-bsp/efibootguard/files/debian/rules
 create mode 100644 recipes-core/images/files/sw-description.tmpl
 create mode 100644 recipes-core/swupdate/files/debian/changelog.tmpl
 create mode 100644 recipes-core/swupdate/files/debian/compat
 create mode 100644 recipes-core/swupdate/files/debian/control.tmpl
 create mode 100644 recipes-core/swupdate/files/debian/copyright
 create mode 100755 recipes-core/swupdate/files/debian/rules.tmpl
 create mode 100644 recipes-core/swupdate/files/debian/swupdate.examples
 create mode 100644 recipes-core/swupdate/files/debian/swupdate.install
 create mode 100644 recipes-core/swupdate/files/debian/swupdate.manpages
 create mode 100644 recipes-core/swupdate/files/debian/swupdate.tmpfile
 create mode 100644 recipes-core/swupdate/files/debian/watch
 create mode 100644 recipes-core/swupdate/files/postinst
 create mode 100644 recipes-core/swupdate/files/swupdate.cfg
 create mode 100644 recipes-core/swupdate/files/swupdate.service.example
 create mode 100644 recipes-core/swupdate/files/swupdate.socket.example
 create mode 100644 recipes-core/swupdate/files/swupdate.socket.tmpl
 create mode 100644 recipes-core/swupdate/files/swupdate_defconfig
 create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_efibootguard.snippet
 create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_lua.snippet
 create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_luahandler.snippet
 create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_mtd.snippet
 create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_u-boot.snippet
 create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_ubi.snippet
 create mode 100644 recipes-core/swupdate/files/swupdate_handlers.lua
 create mode 100644 recipes-core/swupdate/swupdate.bb
 create mode 100644 scripts/lib/wic/plugins/source/efibootguard-boot.py
 create mode 100644 scripts/lib/wic/plugins/source/efibootguard-efi.py
 create mode 100644 wic/ebg-sysparts.inc
 create mode 100644 wic/qemu-amd64-efibootguard.wks
 create mode 100644 wic/simatic-ipc227e-efibootguard.wks
 create mode 100644 wic/swupdate-partition.inc

Comments

Jan Kiszka July 29, 2020, 5:07 p.m. UTC | #1
On 29.06.20 11:56, Quirin Gylstorff wrote:
> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> 
> This patchset adds efibootguard, swupdate to allow A/B updates in
> cip-core. The update mechanism is currently only implemented for x86_64.
> 
> Changes V2:
>   - update efibootguard to v0.7
>   - add swdescription and kas option to build qemu-amd64 test image
>   - swupdate set to upstream mirror and no longer use gitsm
> 
> Quirin Gylstorff (5):
>    recipes-bsp: Add efibootguard
>    patches: add libubootenv
>    recipes-core: add swupdate
>    wic: Add wks files for A/B Partition update
>    swupdate: create swu file from wic image
> 
>   classes/extract-partition.bbclass             |  26 +
>   classes/kconfig-snippets.bbclass              |  90 ++++
>   classes/swupdate-config.bbclass               |  76 +++
>   classes/swupdate-img.bbclass                  |  75 +++
>   classes/wic-swu-img.bbclass                   |  20 +
>   .../0001-u-boot-add-libubootenv.patch         | 169 +++++++
>   kas-cip.yml                                   |   4 +
>   kas/opt/ebg-swu.yml                           |  26 +
>   kas/opt/qemu-swupdate.yml                     |  19 +
>   .../efibootguard/efibootguard_0.7-git+isar.bb |  46 ++
>   recipes-bsp/efibootguard/files/debian/compat  |   1 +
>   .../efibootguard/files/debian/control.tmpl    |  20 +
>   .../files/debian/efibootguard-dev.install     |   3 +
>   .../files/debian/efibootguard.install         |   2 +
>   recipes-bsp/efibootguard/files/debian/rules   |  21 +
>   recipes-core/images/cip-core-image.bb         |  10 +
>   recipes-core/images/files/sw-description.tmpl |  29 ++
>   .../swupdate/files/debian/changelog.tmpl      |   6 +
>   recipes-core/swupdate/files/debian/compat     |   1 +
>   .../swupdate/files/debian/control.tmpl        |  15 +
>   recipes-core/swupdate/files/debian/copyright  |  36 ++
>   recipes-core/swupdate/files/debian/rules.tmpl |  30 ++
>   .../swupdate/files/debian/swupdate.examples   |   2 +
>   .../swupdate/files/debian/swupdate.install    |   2 +
>   .../swupdate/files/debian/swupdate.manpages   |   5 +
>   .../swupdate/files/debian/swupdate.tmpfile    |   2 +
>   recipes-core/swupdate/files/debian/watch      |  12 +
>   recipes-core/swupdate/files/postinst          |   2 +
>   recipes-core/swupdate/files/swupdate.cfg      |   6 +
>   .../swupdate/files/swupdate.service.example   |  11 +
>   .../swupdate/files/swupdate.socket.example    |  11 +
>   .../swupdate/files/swupdate.socket.tmpl       |  13 +
>   .../swupdate/files/swupdate_defconfig         |  83 ++++
>   .../swupdate_defconfig_efibootguard.snippet   |   3 +
>   .../files/swupdate_defconfig_lua.snippet      |   2 +
>   .../swupdate_defconfig_luahandler.snippet     |   4 +
>   .../files/swupdate_defconfig_mtd.snippet      |   1 +
>   .../files/swupdate_defconfig_u-boot.snippet   |   3 +
>   .../files/swupdate_defconfig_ubi.snippet      |   6 +
>   .../swupdate/files/swupdate_handlers.lua      | 453 ++++++++++++++++++
>   recipes-core/swupdate/swupdate.bb             |  54 +++
>   .../wic/plugins/source/efibootguard-boot.py   | 162 +++++++
>   .../wic/plugins/source/efibootguard-efi.py    | 102 ++++
>   wic/ebg-sysparts.inc                          |   8 +
>   wic/qemu-amd64-efibootguard.wks               |   5 +
>   wic/simatic-ipc227e-efibootguard.wks          |   5 +
>   wic/swupdate-partition.inc                    |   4 +
>   47 files changed, 1686 insertions(+)
>   create mode 100644 classes/extract-partition.bbclass
>   create mode 100644 classes/kconfig-snippets.bbclass
>   create mode 100644 classes/swupdate-config.bbclass
>   create mode 100644 classes/swupdate-img.bbclass
>   create mode 100644 classes/wic-swu-img.bbclass
>   create mode 100644 isar-patches/0001-u-boot-add-libubootenv.patch
>   create mode 100644 kas/opt/ebg-swu.yml
>   create mode 100644 kas/opt/qemu-swupdate.yml
>   create mode 100644 recipes-bsp/efibootguard/efibootguard_0.7-git+isar.bb
>   create mode 100644 recipes-bsp/efibootguard/files/debian/compat
>   create mode 100644 recipes-bsp/efibootguard/files/debian/control.tmpl
>   create mode 100644 recipes-bsp/efibootguard/files/debian/efibootguard-dev.install
>   create mode 100644 recipes-bsp/efibootguard/files/debian/efibootguard.install
>   create mode 100755 recipes-bsp/efibootguard/files/debian/rules
>   create mode 100644 recipes-core/images/files/sw-description.tmpl
>   create mode 100644 recipes-core/swupdate/files/debian/changelog.tmpl
>   create mode 100644 recipes-core/swupdate/files/debian/compat
>   create mode 100644 recipes-core/swupdate/files/debian/control.tmpl
>   create mode 100644 recipes-core/swupdate/files/debian/copyright
>   create mode 100755 recipes-core/swupdate/files/debian/rules.tmpl
>   create mode 100644 recipes-core/swupdate/files/debian/swupdate.examples
>   create mode 100644 recipes-core/swupdate/files/debian/swupdate.install
>   create mode 100644 recipes-core/swupdate/files/debian/swupdate.manpages
>   create mode 100644 recipes-core/swupdate/files/debian/swupdate.tmpfile
>   create mode 100644 recipes-core/swupdate/files/debian/watch
>   create mode 100644 recipes-core/swupdate/files/postinst
>   create mode 100644 recipes-core/swupdate/files/swupdate.cfg
>   create mode 100644 recipes-core/swupdate/files/swupdate.service.example
>   create mode 100644 recipes-core/swupdate/files/swupdate.socket.example
>   create mode 100644 recipes-core/swupdate/files/swupdate.socket.tmpl
>   create mode 100644 recipes-core/swupdate/files/swupdate_defconfig
>   create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_efibootguard.snippet
>   create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_lua.snippet
>   create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_luahandler.snippet
>   create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_mtd.snippet
>   create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_u-boot.snippet
>   create mode 100644 recipes-core/swupdate/files/swupdate_defconfig_ubi.snippet
>   create mode 100644 recipes-core/swupdate/files/swupdate_handlers.lua
>   create mode 100644 recipes-core/swupdate/swupdate.bb
>   create mode 100644 scripts/lib/wic/plugins/source/efibootguard-boot.py
>   create mode 100644 scripts/lib/wic/plugins/source/efibootguard-efi.py
>   create mode 100644 wic/ebg-sysparts.inc
>   create mode 100644 wic/qemu-amd64-efibootguard.wks
>   create mode 100644 wic/simatic-ipc227e-efibootguard.wks
>   create mode 100644 wic/swupdate-partition.inc
> 

Thanks, applied to next. The secure boot series is on hold due to 
conflict. When you update it, please also make sure that at least one 
target covering as much as possible of your code is built via CI.

Jan