From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7349190070423781376 X-Forwarded-Encrypted: i=2; AJvYcCUL2w/pT3sa6GSX1dWhgfc6kgLAysigWzL8PqMD2D9QMdpE1DjueCI25SqO9+tvr4/NgbYt0im6yNaESo+nWxWnfbhLA6daxAqt2rw= X-Received: by 2002:a05:6820:997:b0:5a5:23fb:4487 with SMTP id cg23-20020a056820099700b005a523fb4487mr1173205oob.2.1711116654994; Fri, 22 Mar 2024 07:10:54 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a4a:3c44:0:b0:598:74b6:da43 with SMTP id p4-20020a4a3c44000000b0059874b6da43ls1954563oof.1.-pod-prod-04-us; Fri, 22 Mar 2024 07:10:53 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXZ25VMZ//Vq4eU9yd0+yhN9qffbgtrmA2p/VY8CPsPM1hJp6yKeTCjTzd6HZwy4Gd4UdsypcyOYd3gscADsb/w87/cMsK6KB9r5Ls= X-Google-Smtp-Source: AGHT+IGKbbJLnLeJYpG0JdpMPmOACmLwYvXWpgv2BGyol2BvN6HT5pFvdj9U/1JOPCoAcfwYaMuU X-Received: by 2002:a9d:4e85:0:b0:6e5:1aca:aa26 with SMTP id v5-20020a9d4e85000000b006e51acaaa26mr2851349otk.7.1711116653635; Fri, 22 Mar 2024 07:10:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711116653; cv=none; d=google.com; s=arc-20160816; b=cpibCQVGzSvG4308T2sk+qHJV8M5oXTXH7nNcrID9FNdqFJhkbYj8lH828b8T1nadl NW0O5WbbR8PrePPQjtIyXSJtvhuzB3vtwBIaqFzPgCXSbwgP8+QlcXlhIfMa+upcjYHy AgdIYTi6mlJe60cPzPerv4zHYkWJAaXqjyQUaSOKzNQaXTxD1O7f8MCQmiHfmBNIxhzb vxD55WVBU9XED3bDGsnB1Tq1Dd0TUbILoPa3ryPinA2gN9YtIaoe91ikVgcahRE+9+F0 L4QMtv1H7RVJBZdzGkvGHoKSCXE3HOg7gyNqlGf/Dgwstbc1EgePhEHWjwlz0pm3hx7y LdJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=Dq5/r/i8Ry4kSy1MGH3W1uJw5c01Kn7V474Bb8yWp24=; fh=rpHsxb7lPfJJgFX8BDY3/IlKBNbRtI9Z0SHxGoqscuk=; b=cTgsuleD6kHQbXIbMXhDUKVHj0VQrUPOtkurPOekXFrwYeJ/Ga7WrbICgpYFR7MBf7 xEe17Elyk3dMJ002NWXoglbK2qDg5bvXvqPRXtA7+WUL29486Wqk/s5uTbeIsVRMvVry h66AxAhhN5PZPZBUYv9K4vrVw/XdCoikDKqq+BBmOHA+cp7Toz7DKBAOLEy9g/+4Ad6V CkNzSoxnuuWFOKsUniwBqJwJ1R+Fi4PqiKuXacQBslfIzCil840JJRxUS50AIEyoIfUd EQipm4NiTiztYpCCpp8bENwmaJVC1g0rXgYPfptz6GK+xdsh2ZasdPEKCNaDB5nYOmPa MYZQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=O30mpb+9; spf=pass (google.com: domain of fm-51332-2024032214105100f7edeca59b6dd279-xvoe7u@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-2024032214105100f7edeca59b6dd279-xvOE7u@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id z26-20020a9d65da000000b006e6c1c91f24si14700oth.1.2024.03.22.07.10.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Mar 2024 07:10:53 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-2024032214105100f7edeca59b6dd279-xvoe7u@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=O30mpb+9; spf=pass (google.com: domain of fm-51332-2024032214105100f7edeca59b6dd279-xvoe7u@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-2024032214105100f7edeca59b6dd279-xvOE7u@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 2024032214105100f7edeca59b6dd279 for ; Fri, 22 Mar 2024 15:10:52 +0100 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=Dq5/r/i8Ry4kSy1MGH3W1uJw5c01Kn7V474Bb8yWp24=; b=O30mpb+9W0Q7Jv+js/Cb1d5rPiUt8mi9SSlKncgUeN8+flRGn3Rn5FTIwO98xt4f4XJ5zA bsSxBiblZEf1Uys6kdJhY2Oh0H6nc3br1IhQH/MjgQi/8vDqxUpQNSfmnY11AkSoHM+iRHet iW/fmy6rjNFIMmCsrpQdhrxT+ksfA=; From: Quirin Gylstorff To: felix.moessbauer@siemens.com, isar-users@googlegroups.com Subject: [PATCH v2 2/2] isar-installer: use rootfs-add-files class instead of seperate package Date: Fri, 22 Mar 2024 15:10:33 +0100 Message-ID: <20240322141050.256793-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20240322141050.256793-1-Quirin.Gylstorff@siemens.com> References: <20240322141050.256793-1-Quirin.Gylstorff@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer X-TUID: +mZpVOp5yojH From: Quirin Gylstorff This reduces the sstate size and speed up the build. Signed-off-by: Quirin Gylstorff --- .../classes/installer-add-rootfs.bbclass | 43 +++++++++++++++++++ .../images/isar-image-installer.bb | 2 +- .../deploy-image/deploy-image_0.1.bb | 3 +- .../store-target-image_0.1.bb | 25 ----------- 4 files changed, 45 insertions(+), 28 deletions(-) create mode 100644 meta-isar/classes/installer-add-rootfs.bbclass delete mode 100644 meta-isar/recipes-installer/store-target-image/store-target-image_0.1.bb diff --git a/meta-isar/classes/installer-add-rootfs.bbclass b/meta-isar/classes/installer-add-rootfs.bbclass new file mode 100644 index 00000000..765e10ac --- /dev/null +++ b/meta-isar/classes/installer-add-rootfs.bbclass @@ -0,0 +1,43 @@ +# Copy the target image to the installer image +# +# This software is a part of ISAR. +# Copyright (C) Siemens AG, 2024 +# +# SPDX-License-Identifier: MIT + +inherit rootfs-add-files + +INSTALLER_MC ??= "isar-installer" +INSTALLER_TARGET_IMAGE ??= "isar-image-base" +INSTALLER_TARGET_MC ??= "installer-target" +INSTALLER_TARGET_DISTRO ??= "${DISTRO}" +INSTALLER_TARGET_MACHINE ??= "${MACHINE}" + +IMAGE_DATA_FILE ??= "${INSTALLER_TARGET_IMAGE}-${INSTALLER_TARGET_DISTRO}-${INSTALLER_TARGET_MACHINE}" +IMAGE_DATA_POSTFIX ??= "wic.zst" +IMAGE_DATA_POSTFIX:buster ??= "wic.xz" +IMAGE_DATA_POSTFIX:bullseye ??= "wic.xz" + +ROOTFS_ADDITIONAL_FILES ??= "installer-target" + +def get_installer_source(d): + installer_target_image = d.getVar('INSTALLER_TARGET_IMAGE') or "" + if not installer_target_image: + return "" + deploy_dir = d.getVar('DEPLOY_DIR_IMAGE') + image_data = d.getVar('IMAGE_DATA_FILE') + image_data_postfix = d.getVar('IMAGE_DATA_POSTFIX') + return f"{deploy_dir}/{image_data}.{image_data_postfix}" + +def get_installer_destination(d): + installer_target_image = d.getVar('INSTALLER_TARGET_IMAGE') or "" + if not installer_target_image: + return "/install/keep" + image_data = d.getVar('IMAGE_DATA_FILE') + image_data_postfix = d.getVar('IMAGE_DATA_POSTFIX') + return f"/install/{image_data}.{image_data_postfix}" + +ROOTFS_ADDITIONAL_FILE_installer-target[source] = "${@ get_installer_source(d)}" +ROOTFS_ADDITIONAL_FILE_installer-target[destination] = "${@ get_installer_destination(d)}" + +do_rootfs_install[mcdepends] += "mc:${INSTALLER_MC}:${INSTALLER_TARGET_MC}:${INSTALLER_TARGET_IMAGE}:do_image_wic" diff --git a/meta-isar/recipes-core/images/isar-image-installer.bb b/meta-isar/recipes-core/images/isar-image-installer.bb index 27de03d5..34fb5daf 100644 --- a/meta-isar/recipes-core/images/isar-image-installer.bb +++ b/meta-isar/recipes-core/images/isar-image-installer.bb @@ -4,6 +4,7 @@ # SPDX-License-Identifier: MIT inherit image +inherit installer-add-rootfs DESCRIPTION = "Example of a ISAR based Installer Image" # Use variable to switch easily to another wks @@ -11,7 +12,6 @@ INSTALLER_WKS_FILE ??= "installer-efi.wks.in" WKS_FILE = "${INSTALLER_WKS_FILE}" IMAGER_INSTALL:wic:append = " systemd-boot" -IMAGE_INSTALL += "store-target-image" IMAGE_INSTALL += "deploy-image" IMAGE_INSTALL:remove = "expand-on-first-boot" diff --git a/meta-isar/recipes-installer/deploy-image/deploy-image_0.1.bb b/meta-isar/recipes-installer/deploy-image/deploy-image_0.1.bb index ea047849..0e61de03 100644 --- a/meta-isar/recipes-installer/deploy-image/deploy-image_0.1.bb +++ b/meta-isar/recipes-installer/deploy-image/deploy-image_0.1.bb @@ -11,8 +11,7 @@ inherit dpkg-raw SRC_URI = "file://deploy-image-wic.sh \ file://install.override.conf \ " -DEPENDS = "store-target-image" -DEBIAN_DEPENDS = "store-target-image, bmap-tools, pv, dialog, util-linux, parted, fdisk, gdisk, pigz, xz-utils, pbzip2, zstd" +DEBIAN_DEPENDS = "bmap-tools, pv, dialog, util-linux, parted, fdisk, gdisk, pigz, xz-utils, pbzip2, zstd" do_install[cleandirs] = "${D}/usr/bin/ \ ${D}/usr/lib/systemd/system/getty@tty1.service.d/ \ ${D}/usr/lib/systemd/system/serial-getty@ttyS0.service.d/" diff --git a/meta-isar/recipes-installer/store-target-image/store-target-image_0.1.bb b/meta-isar/recipes-installer/store-target-image/store-target-image_0.1.bb deleted file mode 100644 index 2f72412b..00000000 --- a/meta-isar/recipes-installer/store-target-image/store-target-image_0.1.bb +++ /dev/null @@ -1,25 +0,0 @@ -# This software is a part of ISAR. -# Copyright (C) Siemens AG, 2024 -# -# SPDX-License-Identifier: MIT - -DESCRIPTION = "Add a given target image to rootfs" - -inherit dpkg-raw - -INSTALLER_TARGET_IMAGE ??= "isar-image-base" -IMG_DATA_FILE ??= "${INSTALLER_TARGET_IMAGE}-${DISTRO}-${MACHINE}" -IMG_DATA_POSTFIX ??= "wic.zst" -IMG_DATA_POSTFIX:buster ??= "wic.xz" -IMG_DATA_POSTFIX:bullseye ??= "wic.xz" -do_install[mcdepends] = "${@ 'mc:isar-installer:installer-target:' + d.getVar('INSTALLER_TARGET_IMAGE') + ':do_image_wic' if d.getVar('INSTALLER_TARGET_IMAGE') else ''}" -do_install[cleandirs] = "${D}/install/" -do_install() { - if [ -f ${DEPLOY_DIR_IMAGE}/${IMG_DATA_FILE}.${IMG_DATA_POSTFIX} ]; then - install -m 0600 ${DEPLOY_DIR_IMAGE}/${IMG_DATA_FILE}.${IMG_DATA_POSTFIX} ${D}/install/ - install -m 0600 ${DEPLOY_DIR_IMAGE}/${IMG_DATA_FILE}.wic.bmap ${D}/install/ - else - # mcopy cannot handle .keep or empty directory , therefore use visible file - touch ${D}/install/keep - fi -} -- 2.43.0