From patchwork Fri Jun 3 11:56:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 12869010 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1152ACCA473 for ; Fri, 3 Jun 2022 11:56:27 +0000 (UTC) Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net [185.136.64.228]) by mx.groups.io with SMTP id smtpd.web11.6323.1654257383605680113 for ; Fri, 03 Jun 2022 04:56:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=Quirin.Gylstorff@siemens.com header.s=fm1 header.b=AALOABhy; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-51332-20220603115620ebafc4b94a9cd1cb9b-v82hsu@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20220603115620ebafc4b94a9cd1cb9b for ; Fri, 03 Jun 2022 13:56:20 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=Quirin.Gylstorff@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:References:In-Reply-To; bh=77OYMZ23qq+F1c8MkQU6KqAqO+J+BNdkmkGlO2Rp5Qk=; b=AALOABhyOcO5qpqy1a6T05YiXLBYlu5GHn5y85qEm2F/oeBdKXYeYosOYQAZYX7lqot148 /hD6ErAD7AK5SBW0hWzOMgt0/HYscha1aBNmJsEpq8KWLZDUxLEtr3rILVoEyJf9SynMIG5x FJMK1nCtAoc0Mg6RlAX16/v68i4AY=; From: Quirin Gylstorff To: cip-dev@lists.cip-project.org, jan.kiszka@siemens.com, adriaan.schmidt@siemens.com Subject: [cip-dev][isar-cip-core][RFC 1/4] ISAR update Date: Fri, 3 Jun 2022 13:56:15 +0200 Message-Id: <20220603115618.985568-2-Quirin.Gylstorff@siemens.com> In-Reply-To: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> References: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 03 Jun 2022 11:56:27 -0000 X-Groupsio-URL: https://lists.cip-project.org/g/cip-dev/message/8488 From: Quirin Gylstorff This update introduces the new IMAGE_CMD_*. Signed-off-by: Quirin Gylstorff --- classes/wic-targz-img.bbclass | 15 --------------- conf/machine/bbb.conf | 2 +- conf/machine/hihope-rzg2m.conf | 2 +- conf/machine/iwg20m.conf | 2 +- conf/machine/qemu-amd64.conf | 2 +- conf/machine/qemu-arm.conf | 2 +- conf/machine/qemu-arm64.conf | 2 +- conf/machine/simatic-ipc227e.conf | 2 +- kas-cip.yml | 2 +- kas/opt/efibootguard.yml | 2 +- kas/opt/swupdate.yml | 2 +- kas/opt/targz-img.yml | 2 +- 12 files changed, 11 insertions(+), 26 deletions(-) delete mode 100644 classes/wic-targz-img.bbclass diff --git a/classes/wic-targz-img.bbclass b/classes/wic-targz-img.bbclass deleted file mode 100644 index 1327840..0000000 --- a/classes/wic-targz-img.bbclass +++ /dev/null @@ -1,15 +0,0 @@ -# -# CIP Core, generic profile -# -# Copyright (c) Siemens AG, 2019 -# -# Authors: -# Quirin Gylstorff -# -# SPDX-License-Identifier: MIT -# - -inherit wic-img -inherit targz-img - -addtask do_targz_image after do_wic_image diff --git a/conf/machine/bbb.conf b/conf/machine/bbb.conf index 81e624e..b592f4d 100644 --- a/conf/machine/bbb.conf +++ b/conf/machine/bbb.conf @@ -8,7 +8,7 @@ DISTRO_ARCH = "armhf" -IMAGE_FSTYPES ?= "wic-img" +IMAGE_FSTYPES ?= "wic" IMAGER_INSTALL += "u-boot-omap" IMAGE_INSTALL += "u-boot-script" diff --git a/conf/machine/hihope-rzg2m.conf b/conf/machine/hihope-rzg2m.conf index bc80ddd..0b3acf4 100644 --- a/conf/machine/hihope-rzg2m.conf +++ b/conf/machine/hihope-rzg2m.conf @@ -11,7 +11,7 @@ DISTRO_ARCH = "arm64" -IMAGE_FSTYPES ?= "wic-img" +IMAGE_FSTYPES ?= "wic" KERNEL_DEFCONFIG = "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/arm64/renesas_defconfig" USE_CIP_KERNEL_CONFIG = "1" diff --git a/conf/machine/iwg20m.conf b/conf/machine/iwg20m.conf index a26f7fe..d997a02 100644 --- a/conf/machine/iwg20m.conf +++ b/conf/machine/iwg20m.conf @@ -8,7 +8,7 @@ DISTRO_ARCH = "armhf" # see wic/iwg20m.wks -IMAGE_FSTYPES ?= "wic-img" +IMAGE_FSTYPES ?= "wic" # sets serial login getty MACHINE_SERIAL = "ttySC0" diff --git a/conf/machine/qemu-amd64.conf b/conf/machine/qemu-amd64.conf index a60f818..da7e59c 100644 --- a/conf/machine/qemu-amd64.conf +++ b/conf/machine/qemu-amd64.conf @@ -8,6 +8,6 @@ DISTRO_ARCH = "amd64" -IMAGE_FSTYPES ?= "ext4-img" +IMAGE_FSTYPES ?= "ext4" USE_CIP_KERNEL_CONFIG = "1" KERNEL_DEFCONFIG = "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/x86/cip_qemu_defconfig" diff --git a/conf/machine/qemu-arm.conf b/conf/machine/qemu-arm.conf index aca6d7d..1937c4c 100644 --- a/conf/machine/qemu-arm.conf +++ b/conf/machine/qemu-arm.conf @@ -9,6 +9,6 @@ DISTRO_ARCH = "armhf" -IMAGE_FSTYPES ?= "ext4-img" +IMAGE_FSTYPES ?= "ext4" USE_CIP_KERNEL_CONFIG = "1" KERNEL_DEFCONFIG ?= "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/arm/qemu_arm_defconfig" diff --git a/conf/machine/qemu-arm64.conf b/conf/machine/qemu-arm64.conf index 4e12cdb..b5c1e1c 100644 --- a/conf/machine/qemu-arm64.conf +++ b/conf/machine/qemu-arm64.conf @@ -8,7 +8,7 @@ DISTRO_ARCH = "arm64" -IMAGE_FSTYPES ?= "ext4-img" +IMAGE_FSTYPES ?= "ext4" USE_CIP_KERNEL_CONFIG = "1" KERNEL_DEFCONFIG ?= "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/arm64/qemu_arm64_defconfig" diff --git a/conf/machine/simatic-ipc227e.conf b/conf/machine/simatic-ipc227e.conf index 50d1f8a..a624fcd 100644 --- a/conf/machine/simatic-ipc227e.conf +++ b/conf/machine/simatic-ipc227e.conf @@ -8,7 +8,7 @@ DISTRO_ARCH = "amd64" -IMAGE_FSTYPES ?= "wic-img" +IMAGE_FSTYPES ?= "wic" IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}" USE_CIP_KERNEL_CONFIG = "1" KERNEL_DEFCONFIG = "cip-kernel-config/${KERNEL_DEFCONFIG_VERSION}/x86/siemens_ipc227e_defconfig" diff --git a/kas-cip.yml b/kas-cip.yml index fce176b..90582bf 100644 --- a/kas-cip.yml +++ b/kas-cip.yml @@ -22,7 +22,7 @@ repos: isar: url: https://github.com/ilbers/isar.git - refspec: cf3f18a649ff42726677a58b224b9bb58ea4ba46 + refspec: 0cf9bc5d996e19e9e31857dd48d069fd69114376 layers: meta: patches: diff --git a/kas/opt/efibootguard.yml b/kas/opt/efibootguard.yml index d85aed7..4282932 100644 --- a/kas/opt/efibootguard.yml +++ b/kas/opt/efibootguard.yml @@ -24,7 +24,7 @@ local_conf_header: WIC_IMAGER_INSTALL_append = " efibootguard" WDOG_TIMEOUT ?= "60" WICVARS += "WDOG_TIMEOUT KERNEL_IMAGE INITRD_IMAGE DTB_FILES" - IMAGE_FSTYPES ?= "wic-img" + IMAGE_FSTYPES ?= "wic" WKS_FILE ?= "${MACHINE}-efibootguard.wks.in" firmware-binaries: | diff --git a/kas/opt/swupdate.yml b/kas/opt/swupdate.yml index 31cd0d1..72429c6 100644 --- a/kas/opt/swupdate.yml +++ b/kas/opt/swupdate.yml @@ -23,5 +23,5 @@ local_conf_header: CIP_IMAGE_OPTIONS_append = " swupdate.inc" wic-swu: | - IMAGE_FSTYPES = "wic-swu-img" + IMAGE_FSTYPES = "wic" WKS_FILE ?= "${MACHINE}-${SWUPDATE_BOOTLOADER}.wks.in" diff --git a/kas/opt/targz-img.yml b/kas/opt/targz-img.yml index d555a8a..afe2e07 100644 --- a/kas/opt/targz-img.yml +++ b/kas/opt/targz-img.yml @@ -14,4 +14,4 @@ header: local_conf_header: image-type: | - IMAGE_FSTYPES = "targz-img" + IMAGE_FSTYPES = "tar.gz" From patchwork Fri Jun 3 11:56:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 12869008 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F859CCA47D for ; Fri, 3 Jun 2022 11:56:27 +0000 (UTC) Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by mx.groups.io with SMTP id smtpd.web08.6296.1654257383159973012 for ; Fri, 03 Jun 2022 04:56:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=Quirin.Gylstorff@siemens.com header.s=fm1 header.b=feB0FTwf; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-51332-20220603115620f3bf239319150adc4a-l0k1ne@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20220603115620f3bf239319150adc4a for ; Fri, 03 Jun 2022 13:56:20 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=Quirin.Gylstorff@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:References:In-Reply-To; bh=tEB7ylnPxTwor2lItmmOMbu/GUiLt9s/nlo9wrVHjSs=; b=feB0FTwfZj66IVSkWFLlvIfdkRlah560wPLFE5O5xYsOvCHlzI79vFQKYaYRSgGwNcEQb0 HeEwWKeWw1FdrQeq7NpR0TZPaFiFukpqsKDpjwG3XXXkHXZLrFMec36nMMrFshy7Yw4h+xcg 2C1fk3B2cVx1Ow7bVMsRoE6zWui40=; From: Quirin Gylstorff To: cip-dev@lists.cip-project.org, jan.kiszka@siemens.com, adriaan.schmidt@siemens.com Subject: [cip-dev][isar-cip-core][RFC 2/4] start-qemu.sh: adapt to new image names Date: Fri, 3 Jun 2022 13:56:16 +0200 Message-Id: <20220603115618.985568-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> References: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 03 Jun 2022 11:56:27 -0000 X-Groupsio-URL: https://lists.cip-project.org/g/cip-dev/message/8486 From: Quirin Gylstorff Signed-off-by: Quirin Gylstorff --- start-qemu.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/start-qemu.sh b/start-qemu.sh index 80c0cd7..f066209 100755 --- a/start-qemu.sh +++ b/start-qemu.sh @@ -134,13 +134,13 @@ if [ -n "${SECURE_BOOT}${SWUPDATE_BOOT}" ]; then -global isa-fdc.driveA= \ -drive if=pflash,format=raw,unit=0,readonly=on,file=${ovmf_code} \ -drive if=pflash,format=raw,file=${ovmf_vars} \ - -drive file=${IMAGE_PREFIX}.wic.img,discard=unmap,if=none,id=disk,format=raw \ + -drive file=${IMAGE_PREFIX}.wic,discard=unmap,if=none,id=disk,format=raw \ ${QEMU_COMMON_OPTIONS} "$@" else ovmf_code=${OVMF_CODE:-./build/tmp/deploy/images/qemu-amd64/OVMF/OVMF_CODE_4M.fd} ${QEMU_PATH}${QEMU} \ - -drive file=${IMAGE_PREFIX}.wic.img,discard=unmap,if=none,id=disk,format=raw \ + -drive file=${IMAGE_PREFIX}.wic,discard=unmap,if=none,id=disk,format=raw \ -drive if=pflash,format=raw,unit=0,readonly=on,file=${ovmf_code} \ ${QEMU_COMMON_OPTIONS} "$@" fi @@ -149,7 +149,7 @@ if [ -n "${SECURE_BOOT}${SWUPDATE_BOOT}" ]; then u_boot_bin=${FIRMWARE_BIN:-./build/tmp/deploy/images/qemu-arm64/firmware.bin} ${QEMU_PATH}${QEMU} \ - -drive file=${IMAGE_PREFIX}.wic.img,discard=unmap,if=none,id=disk,format=raw \ + -drive file=${IMAGE_PREFIX}.wic,discard=unmap,if=none,id=disk,format=raw \ -bios ${u_boot_bin} \ ${QEMU_COMMON_OPTIONS} "$@" ;; @@ -159,7 +159,7 @@ if [ -n "${SECURE_BOOT}${SWUPDATE_BOOT}" ]; then ;; esac else - IMAGE_FILE=$(ls ${IMAGE_PREFIX}.ext4.img) + IMAGE_FILE=$(ls ${IMAGE_PREFIX}.ext4) KERNEL_FILE=$(ls ${IMAGE_PREFIX}-vmlinu* | tail -1) INITRD_FILE=$(ls ${IMAGE_PREFIX}-initrd.img* | tail -1) From patchwork Fri Jun 3 11:56:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 12869007 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id F1ED3C43334 for ; Fri, 3 Jun 2022 11:56:26 +0000 (UTC) Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net [185.136.65.226]) by mx.groups.io with SMTP id smtpd.web12.6389.1654257383160433537 for ; Fri, 03 Jun 2022 04:56:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=Quirin.Gylstorff@siemens.com header.s=fm1 header.b=DFILqMPx; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.226, mailfrom: fm-51332-2022060311562092250f3d0a6ecfa5e2-pvy_dk@rts-flowmailer.siemens.com) Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 2022060311562092250f3d0a6ecfa5e2 for ; Fri, 03 Jun 2022 13:56:20 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=Quirin.Gylstorff@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:References:In-Reply-To; bh=OH+3Q2M1f9jqAy16M4HkZ/WZacA8JYG7tQeo+IxBUI4=; b=DFILqMPxi+TS0e9DOrHd/YFXb6k5XkqhhHfcxQ8twNQBdlf5XpgSkjUljyr2kWxLc90EVH Ogj9ZRgG29kh3ospvhgSKLGTJN/7Tdy5iFPkVber5RnnRqC3g8SiWRBrYVZnGNAQ14udtM81 ssD/Ks+dGIQEXwVTLfs137fpT5dxk=; From: Quirin Gylstorff To: cip-dev@lists.cip-project.org, jan.kiszka@siemens.com, adriaan.schmidt@siemens.com Subject: [cip-dev][isar-cip-core][RFC 3/4] Adapt swupdate and verity to use new IMAGE_CMD_* Date: Fri, 3 Jun 2022 13:56:17 +0200 Message-Id: <20220603115618.985568-4-Quirin.Gylstorff@siemens.com> In-Reply-To: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> References: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 03 Jun 2022 11:56:26 -0000 X-Groupsio-URL: https://lists.cip-project.org/g/cip-dev/message/8484 From: Quirin Gylstorff The image types wic-swu-img and secure-wic-swu-img were removed. Rename `squashfs-img` to squashfs according new naming scheme. To use squashfs include: IMAGE_CLASSES += "squashfs" IMAGE_TYPEDEP_wic += "squashfs" The modifications for a read-only root file system are now part of a bbclass which can be include directly into the image recipe. The modifications to generate a SWUpdate update package are also no longer part of the image build process and in a seperate bbclass. This class needs to be included in the image recipe. To create a verity based image to following line need to be added to the local.conf or similar configuration: IMAGE_CLASSES += "verity" Signed-off-by: Quirin Gylstorff --- ...u-img.bbclass => read-only-rootfs.bbclass} | 11 +--- classes/secure-wic-swu-img.bbclass | 15 ------ ...{squashfs-img.bbclass => squashfs.bbclass} | 15 ++---- ...{swupdate-img.bbclass => swupdate.bbclass} | 8 +-- .../{verity-img.bbclass => verity.bbclass} | 51 +++++++++---------- kas/opt/ebg-secure-boot-snakeoil.yml | 3 +- kas/opt/swupdate.yml | 2 + recipes-core/images/files/sw-description.tmpl | 1 - recipes-core/images/swupdate.inc | 6 ++- .../initramfs-verity-hook_0.1.bb | 2 +- wic/qemu-amd64-efibootguard-secureboot.wks.in | 4 +- wic/qemu-arm64-efibootguard-secureboot.wks.in | 4 +- wic/x86-efibootguard.wks.in | 4 +- 13 files changed, 50 insertions(+), 76 deletions(-) rename classes/{wic-swu-img.bbclass => read-only-rootfs.bbclass} (75%) delete mode 100644 classes/secure-wic-swu-img.bbclass rename classes/{squashfs-img.bbclass => squashfs.bbclass} (66%) rename classes/{swupdate-img.bbclass => swupdate.bbclass} (92%) rename classes/{verity-img.bbclass => verity.bbclass} (78%) diff --git a/classes/wic-swu-img.bbclass b/classes/read-only-rootfs.bbclass similarity index 75% rename from classes/wic-swu-img.bbclass rename to classes/read-only-rootfs.bbclass index 41b2164..6f91f66 100644 --- a/classes/wic-swu-img.bbclass +++ b/classes/read-only-rootfs.bbclass @@ -9,16 +9,10 @@ # SPDX-License-Identifier: MIT # -SQUASHFS_EXCLUDE_DIRS += "home var" - -inherit squashfs-img -inherit wic-img -inherit swupdate-img - INITRAMFS_RECIPE ?= "cip-core-initramfs" INITRD_IMAGE = "${INITRAMFS_RECIPE}-${DISTRO}-${MACHINE}.initrd.img" -do_wic_image[depends] += "${INITRAMFS_RECIPE}:do_build" +do_image_wic[depends] += "${INITRAMFS_RECIPE}:do_build" IMAGE_INSTALL += "home-fs" IMAGE_INSTALL += "tmp-fs" @@ -37,6 +31,3 @@ devtmpfs /dev devtmpfs mode=0755,nosuid 0 0 EOF } -addtask do_wic_image after do_squashfs_image - -addtask do_swupdate_image after do_wic_image diff --git a/classes/secure-wic-swu-img.bbclass b/classes/secure-wic-swu-img.bbclass deleted file mode 100644 index 5e8e48a..0000000 --- a/classes/secure-wic-swu-img.bbclass +++ /dev/null @@ -1,15 +0,0 @@ -# -# CIP Core, generic profile -# -# Copyright (c) Siemens AG, 2021-2022 -# -# Authors: -# Quirin Gylstorff -# -# SPDX-License-Identifier: MIT -# - -inherit verity-img -inherit wic-swu-img - -addtask do_wic_image after do_verity_image diff --git a/classes/squashfs-img.bbclass b/classes/squashfs.bbclass similarity index 66% rename from classes/squashfs-img.bbclass rename to classes/squashfs.bbclass index c22d7d6..376ddfe 100644 --- a/classes/squashfs-img.bbclass +++ b/classes/squashfs.bbclass @@ -9,9 +9,7 @@ # SPDX-License-Identifier: MIT # -SQUASHFS_IMAGE_FILE = "${IMAGE_FULLNAME}.squashfs.img" - -IMAGER_INSTALL += "squashfs-tools" +IMAGER_INSTALL_squashfs += "squashfs-tools" SQUASHFS_EXCLUDE_DIRS ?= "" SQUASHFS_CONTENT ?= "${PP_ROOTFS}" @@ -29,14 +27,11 @@ python __anonymous() { d.appendVar('SQUASHFS_CREATION_ARGS', args) } -do_squashfs_image[dirs] = "${DEPLOY_DIR_IMAGE}" -do_squashfs_image() { +IMAGE_CMD_squashfs[depends] = "${PN}:do_transform_template" +IMAGE_CMD_squashfs() { rm -f '${DEPLOY_DIR_IMAGE}/${SQUASHFS_IMAGE_FILE}' - image_do_mounts - - sudo chroot "${BUILDCHROOT_DIR}" /bin/mksquashfs \ - "${SQUASHFS_CONTENT}" "${PP_DEPLOY}/${SQUASHFS_IMAGE_FILE}" \ + ${SUDO_CHROOT} /bin/mksquashfs \ + '${SQUASHFS_CONTENT}' '${IMAGE_FILE_CHROOT}' \ ${SQUASHFS_CREATION_ARGS} } -addtask do_squashfs_image before do_image after do_image_tools do_excl_directories diff --git a/classes/swupdate-img.bbclass b/classes/swupdate.bbclass similarity index 92% rename from classes/swupdate-img.bbclass rename to classes/swupdate.bbclass index 1437c07..c3fc303 100644 --- a/classes/swupdate-img.bbclass +++ b/classes/swupdate.bbclass @@ -18,9 +18,9 @@ SWU_SIGNATURE_TYPE ?= "rsa" IMAGER_INSTALL += "${@'openssl' if bb.utils.to_boolean(d.getVar('SWU_SIGNED')) else ''}" -do_swupdate_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" -do_swupdate_image[cleandirs] += "${WORKDIR}/swu" -do_swupdate_image() { +do_swupdate_binary[stamp-extra-info] = "${DISTRO}-${MACHINE}" +do_swupdate_binary[cleandirs] += "${WORKDIR}/swu" +do_swupdate_binary() { rm -f '${SWU_IMAGE_FILE}' cp '${WORKDIR}/${SWU_DESCRIPTION_FILE}' '${WORKDIR}/swu/${SWU_DESCRIPTION_FILE}' @@ -91,4 +91,4 @@ do_swupdate_image() { cd - } -addtask swupdate_image before do_build after do_copy_boot_files do_install_imager_deps do_transform_template +addtask swupdate_binary before do_build after do_deploy do_copy_boot_files do_install_imager_deps do_transform_template diff --git a/classes/verity-img.bbclass b/classes/verity.bbclass similarity index 78% rename from classes/verity-img.bbclass rename to classes/verity.bbclass index b7d7f08..bbc57b0 100644 --- a/classes/verity-img.bbclass +++ b/classes/verity.bbclass @@ -8,13 +8,16 @@ # # SPDX-License-Identifier: MIT # - VERITY_IMAGE_TYPE ?= "squashfs" -inherit ${VERITY_IMAGE_TYPE}-img +inherit ${VERITY_IMAGE_TYPE} + +IMAGE_TYPEDEP_verity = "${VERITY_IMAGE_TYPE}" +IMAGE_TYPEDEP_wic += "verity" +IMAGER_INSTALL_verity += "cryptsetup" -VERITY_INPUT_IMAGE ?= "${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}.img" -VERITY_OUTPUT_IMAGE ?= "${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}.verity.img" +VERITY_INPUT_IMAGE ?= "${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}" +VERITY_OUTPUT_IMAGE ?= "${IMAGE_FULLNAME}.verity" VERITY_IMAGE_METADATA = "${VERITY_OUTPUT_IMAGE}.metadata" VERITY_HASH_BLOCK_SIZE ?= "1024" VERITY_DATA_BLOCK_SIZE ?= "1024" @@ -37,14 +40,28 @@ create_verity_env_file() { done < $input } -verity_setup() { +python calculate_verity_data_blocks() { + import os + + image_file = os.path.join( + d.getVar("DEPLOY_DIR_IMAGE"), + d.getVar("VERITY_INPUT_IMAGE") + ) + data_block_size = int(d.getVar("VERITY_DATA_BLOCK_SIZE")) + size = os.stat(image_file).st_size + assert size % data_block_size == 0, f"image is not well-sized!" + d.setVar("VERITY_INPUT_IMAGE_SIZE", str(size)) + d.setVar("VERITY_DATA_BLOCKS", str(size // data_block_size)) +} +do_image_verity[cleandirs] = "${WORKDIR}/verity" +do_image_verity[prefuncs] = "calculate_verity_data_blocks" +IMAGE_CMD_verity() { rm -f ${DEPLOY_DIR_IMAGE}/${VERITY_OUTPUT_IMAGE} rm -f ${WORKDIR}/${VERITY_IMAGE_METADATA} cp -a ${DEPLOY_DIR_IMAGE}/${VERITY_INPUT_IMAGE} ${DEPLOY_DIR_IMAGE}/${VERITY_OUTPUT_IMAGE} - image_do_mounts - sudo chroot "${BUILDCHROOT_DIR}" /sbin/veritysetup format \ + ${SUDO_CHROOT} /sbin/veritysetup format \ --hash-block-size "${VERITY_HASH_BLOCK_SIZE}" \ --data-block-size "${VERITY_DATA_BLOCK_SIZE}" \ --data-blocks "${VERITY_DATA_BLOCKS}" \ @@ -55,23 +72,5 @@ verity_setup() { echo "Hash offset: ${VERITY_INPUT_IMAGE_SIZE}" \ >>"${WORKDIR}/${VERITY_IMAGE_METADATA}" + create_verity_env_file } - -do_verity_image[cleandirs] = "${WORKDIR}/verity" -python do_verity_image() { - import os - - image_file = os.path.join( - d.getVar("DEPLOY_DIR_IMAGE"), - d.getVar("VERITY_INPUT_IMAGE") - ) - data_block_size = int(d.getVar("VERITY_DATA_BLOCK_SIZE")) - size = os.stat(image_file).st_size - assert size % data_block_size == 0, f"image is not well-sized!" - d.setVar("VERITY_INPUT_IMAGE_SIZE", str(size)) - d.setVar("VERITY_DATA_BLOCKS", str(size // data_block_size)) - - bb.build.exec_func('verity_setup', d) - bb.build.exec_func('create_verity_env_file', d) -} -addtask verity_image before do_image after do_${VERITY_IMAGE_TYPE}_image diff --git a/kas/opt/ebg-secure-boot-snakeoil.yml b/kas/opt/ebg-secure-boot-snakeoil.yml index 3f2a794..2822cef 100644 --- a/kas/opt/ebg-secure-boot-snakeoil.yml +++ b/kas/opt/ebg-secure-boot-snakeoil.yml @@ -23,7 +23,8 @@ local_conf_header: IMAGE_INSTALL_append = " swupdate-handler-roundrobin" secure-boot-image: | - IMAGE_FSTYPES = "secure-wic-swu-img" + IMAGE_CLASSES += "verity" + IMAGE_FSTYPES = "wic" WKS_FILE = "${MACHINE}-efibootguard-secureboot.wks.in" INITRAMFS_INSTALL_append = " initramfs-verity-hook" diff --git a/kas/opt/swupdate.yml b/kas/opt/swupdate.yml index 72429c6..c2bd15c 100644 --- a/kas/opt/swupdate.yml +++ b/kas/opt/swupdate.yml @@ -23,5 +23,7 @@ local_conf_header: CIP_IMAGE_OPTIONS_append = " swupdate.inc" wic-swu: | + IMAGE_CLASSES += "squashfs" + IMAGE_TYPEDEP_wic += "squashfs" IMAGE_FSTYPES = "wic" WKS_FILE ?= "${MACHINE}-${SWUPDATE_BOOTLOADER}.wks.in" diff --git a/recipes-core/images/files/sw-description.tmpl b/recipes-core/images/files/sw-description.tmpl index f5cafeb..1eb7758 100644 --- a/recipes-core/images/files/sw-description.tmpl +++ b/recipes-core/images/files/sw-description.tmpl @@ -16,7 +16,6 @@ software = filename = "${ROOTFS_PARTITION_NAME}"; device = "C:BOOT0:linux.efi->fedcba98-7654-3210-cafe-5e0710000001,C:BOOT1:linux.efi->fedcba98-7654-3210-cafe-5e0710000002"; type = "roundrobin"; - compressed = "zlib"; filesystem = "ext4"; properties: { subtype = "image"; diff --git a/recipes-core/images/swupdate.inc b/recipes-core/images/swupdate.inc index 64887df..2ec767f 100644 --- a/recipes-core/images/swupdate.inc +++ b/recipes-core/images/swupdate.inc @@ -8,10 +8,12 @@ # # SPDX-License-Identifier: MIT # +inherit swupdate +inherit read-only-rootfs -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +ROOTFS_PARTITION_NAME = "${IMAGE_FULLNAME}.wic.p4" -ROOTFS_PARTITION_NAME = "${IMAGE_FULLNAME}.wic.img.p4.gz" +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI += "file://sw-description.tmpl" TEMPLATE_FILES += "sw-description.tmpl" diff --git a/recipes-initramfs/initramfs-verity-hook/initramfs-verity-hook_0.1.bb b/recipes-initramfs/initramfs-verity-hook/initramfs-verity-hook_0.1.bb index f0d2d68..60ee8da 100644 --- a/recipes-initramfs/initramfs-verity-hook/initramfs-verity-hook_0.1.bb +++ b/recipes-initramfs/initramfs-verity-hook/initramfs-verity-hook_0.1.bb @@ -28,7 +28,7 @@ VERITY_IMAGE_RECIPE ?= "cip-core-image" VERITY_ENV_FILE = "${DEPLOY_DIR_IMAGE}/${VERITY_IMAGE_RECIPE}-${DISTRO}-${MACHINE}.verity.env" -do_install[depends] += "${VERITY_IMAGE_RECIPE}:do_verity_image" +do_install[depends] += "${VERITY_IMAGE_RECIPE}:do_image_verity" do_install[cleandirs] += " \ ${D}/usr/share/initramfs-tools/hooks \ ${D}/usr/share/verity-env \ diff --git a/wic/qemu-amd64-efibootguard-secureboot.wks.in b/wic/qemu-amd64-efibootguard-secureboot.wks.in index e097eac..0e298bc 100644 --- a/wic/qemu-amd64-efibootguard-secureboot.wks.in +++ b/wic/qemu-amd64-efibootguard-secureboot.wks.in @@ -1,7 +1,7 @@ include ebg-signed-sysparts.inc -part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}.verity.img" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000001" -part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}.verity.img" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000002" +part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.verity" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000001" +part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.verity" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000002" # home and var are extra partitions part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024 --size 1G diff --git a/wic/qemu-arm64-efibootguard-secureboot.wks.in b/wic/qemu-arm64-efibootguard-secureboot.wks.in index b3bbed4..3b8dadd 100644 --- a/wic/qemu-arm64-efibootguard-secureboot.wks.in +++ b/wic/qemu-arm64-efibootguard-secureboot.wks.in @@ -1,7 +1,7 @@ include ebg-signed-sysparts.inc -part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}.verity.img" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000001" -part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}.verity.img" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000002" +part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.verity" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000001" +part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.verity" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000002" # home and var are extra partitions part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024 --size 1G diff --git a/wic/x86-efibootguard.wks.in b/wic/x86-efibootguard.wks.in index f60ebcf..c71253d 100644 --- a/wic/x86-efibootguard.wks.in +++ b/wic/x86-efibootguard.wks.in @@ -3,8 +3,8 @@ include ebg-sysparts.inc -part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs.img" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000001" -part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs.img" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000002" +part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000001" +part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1024 --fixed-size 1G --uuid "fedcba98-7654-3210-cafe-5e0710000002" # home and var are extra partitions part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024 --size 1G From patchwork Fri Jun 3 11:56:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 12869006 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D81DC433EF for ; Fri, 3 Jun 2022 11:56:27 +0000 (UTC) Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net [185.136.65.227]) by mx.groups.io with SMTP id smtpd.web11.6322.1654257383605433043 for ; Fri, 03 Jun 2022 04:56:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=Quirin.Gylstorff@siemens.com header.s=fm1 header.b=QxdB1Dv8; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-51332-2022060311562012b0cfefd3dcc2e792-nysnku@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 2022060311562012b0cfefd3dcc2e792 for ; Fri, 03 Jun 2022 13:56:20 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=Quirin.Gylstorff@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:References:In-Reply-To; bh=y6QfgOT1/yP4Ri9wCkZMHVjJ18ULvfxJD+R+ktml88k=; b=QxdB1Dv8SXPSQypI6F9URA7dKMPe1Zb6/0V47Y0tNmcF5jNWzi/x5WCDvaSpjYvaJrCgLw mK+o08arpiqhcinPo+nnhdMZR02RHyvC0tjBOrv8co28nxLV5GUcYtN67hGPqTmNAPU1lbpS YjX2qlaMUqwZWoIhuGQaZXWBeNqio=; From: Quirin Gylstorff To: cip-dev@lists.cip-project.org, jan.kiszka@siemens.com, adriaan.schmidt@siemens.com Subject: [cip-dev][isar-cip-core][RFC 4/4] scripts/deploy-cip-core: Adapt to new image names Date: Fri, 3 Jun 2022 13:56:18 +0200 Message-Id: <20220603115618.985568-5-Quirin.Gylstorff@siemens.com> In-Reply-To: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> References: <20220603115618.985568-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 03 Jun 2022 11:56:27 -0000 X-Groupsio-URL: https://lists.cip-project.org/g/cip-dev/message/8487 From: Quirin Gylstorff The identifier img was delete from the image name. Signed-off-by: Quirin Gylstorff --- scripts/deploy-cip-core.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/deploy-cip-core.sh b/scripts/deploy-cip-core.sh index cf8f45d..203ab1d 100755 --- a/scripts/deploy-cip-core.sh +++ b/scripts/deploy-cip-core.sh @@ -28,12 +28,12 @@ fi BASE_PATH=build/tmp/deploy/images/$TARGET/$BASE_FILENAME S3_TARGET=s3://download2.cip-project.org/cip-core/$REF/$TARGET/ -if [ -f $BASE_PATH.wic.img ] ; then - echo "Compressing $BASE_FILENAME.wic.img..." - xz -9 -k $BASE_PATH.wic.img +if [ -f $BASE_PATH.wic ] ; then + echo "Compressing $BASE_FILENAME.wic..." + xz -9 -k $BASE_PATH.wic echo "Uploading artifacts..." - aws s3 cp --no-progress --acl public-read $BASE_PATH.wic.img.xz ${S3_TARGET} + aws s3 cp --no-progress --acl public-read $BASE_PATH.wic.xz ${S3_TARGET} fi if [ -f $BASE_PATH.tar.gz ]; then