From patchwork Fri Mar 22 14:10:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 3426 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 22 Mar 2024 15:11:10 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-oa1-f58.google.com (mail-oa1-f58.google.com [209.85.160.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 42MEB1UL030427 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 22 Mar 2024 15:11:02 +0100 Received: by mail-oa1-f58.google.com with SMTP id 586e51a60fabf-229ede09748sf544775fac.1 for ; Fri, 22 Mar 2024 07:11:01 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711116655; cv=pass; d=google.com; s=arc-20160816; b=NSZ67w3hWb979+CBXOBvj55JBKH86vojjpr8KFSbiN8WrOCz6P46T52AKODVnXkXBp ivpQFQIV5ObkNhLlCeoUFR70ZADPDG6GJ5+lAEvzdlK0r3u5Lhu9DhS+qbulLvIaomug lqLPDM/M3ZT0AUZym0MJPtrSkew7iJAUkbuJXn09ztdbIqlPRoqd4RPC2R55Zd7u6n3N nAdFM/RW6ZN2PzDD5ERfcp/T+x/FEG/hlCKBNeKHpJviFtZ/KphdxUVeTwm2iBSnrcMA 3GFIBR4obZgKiQj5hyopZ2PbvhAqnJER9xq91ngn7inYWBroNhfJe9GmdfRQBwk0WXCs buaQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=AI/SymFVaWLVhHevCf/L9U23jFLNIHzok5nW9ieA7gE=; fh=e0tW26hKg3rCbcg8yN0WZYaahiY4+svcIQduPoKr6gE=; b=BTrfvc+a+OMnNw/AMCzae8nz2kJqXLbgo0AKN9yj3ZHu6Rd8Q3/yGj3wK2rUzHmz/c bLROTxWVvKJcobgI4QYZkLOfi1kGdWO+mgJ8bm8ZANLtY9BZVr+OiMAle3FdU7uJM2mW Co69zptqLaVnK4YWz9kjeDS5p5uH8+iOLKsJO8WpO6IZJPtw47rYuGFU9IGW+lGew/3W c6lwzktt7XdN8T+uz09kESwVmPYdJJ8BT0lYe66SBgIDLy9op49AqcduEHMXevC4gOOB wIOpyHrnUT28+FwxEE4BumVTW+d7Os84UTM3pfm1mUnrEhoNahNVSmhhtQy1gV+Sqj8m NkoQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TVEP7AAa; spf=pass (google.com: domain of fm-51332-20240322141051f7980f591db435eafc-a72lz_@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-20240322141051f7980f591db435eafc-A72lz_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1711116655; x=1711721455; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=AI/SymFVaWLVhHevCf/L9U23jFLNIHzok5nW9ieA7gE=; b=q+d/EkKIzmir8QA+le5BHnukn+37iRdR8XBEPHZbmE+oW3ICDleTNltXli2S9hQe70 XD9+HBC6C2Y6MV3hxUTBhqJNZ2tQFWoHxblntdKDdq+j2s3qynMuRxsET//MvpKl2iNU 2dqEv4qMWLwpKE6gY318Kl45gVcMPGLbyFap5FEsNZPIJMjSwqi1iF1+WTH82zTH6Wxx Y8ddOH8QOb9KSVPin4qqtEj1ZKZ8l4WxAE9orxMvfA3j1jP9OIxOCBZwCdqnPuNuyXUp 4hZGICYt/FqKIICz14FYHlhfhGHtnR/aIoJBLDlKqbJhpsAx+826YlEu/9Kufi+ejQl9 edww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711116655; x=1711721455; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AI/SymFVaWLVhHevCf/L9U23jFLNIHzok5nW9ieA7gE=; b=bH7TUzR2pqgD7Z47H0Am9rSZZYjUgvqCt+U5mQk/X5myJJUEVztLUe5IY76OQdH9DV 37WSAsWGXGk6/SkR60I5yOwGuOaN1qRlAmrpkudwGsq7VQcYTr2NOXQyERvWm+4E9gAU LzIdwJykFUmYWIbqJ+s5wkdinNwJcCMZGodQhdXR1wdwil36QmCdCj5bQrAB/h5uDTLw UluavkzW7sDl020PK6IJPlAT5Q6zbg+2oJe3MeI+l5QzBQjIrDZuAksnllRY5Pjas9fp um332y/f8rSt9JFf1PenIz2mSI4f0ZGZkhcTJwnY5QAqsZMOeBgE28a32Fh1XQOUNAMI e1Yg== X-Forwarded-Encrypted: i=2; AJvYcCViq8QkCECot1EW1bhw45DQV5Je4mAJ3i16N4LCV087KyA748hAFN8h2/iHWjFry1de+Egkb33+94XLGSEFwtAp6nQfCmg= X-Gm-Message-State: AOJu0YzHY+4XBnDwZpJfk/mCZB0NMxG4AhmyWzj9vzumQJU3qFfRI7kl X3UrO20yANycn1KU37e3jeIjIjwX779HSuKN7QJcMQyva2oxNHcd X-Google-Smtp-Source: AGHT+IF6eDLMscVRHDuFy6Nzq1aZdSEO/lUDLqQqF2LovBoTzE+ACNf6Sb7uecSjqH83j3OUrhjzZw== X-Received: by 2002:a05:6870:aa91:b0:221:c9ef:3e with SMTP id gr17-20020a056870aa9100b00221c9ef003emr2710767oab.13.1711116655522; Fri, 22 Mar 2024 07:10:55 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6870:2a4a:b0:229:fc9a:b317 with SMTP id jd10-20020a0568702a4a00b00229fc9ab317ls86544oab.2.-pod-prod-03-us; Fri, 22 Mar 2024 07:10:54 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXKzKaYQcKiUCiDAI8hPgu0XbCtmMNsEXHAeA4LihVjlbBB9jtqA13F5/m7aUN8I2KSjeWrj/53yeoCX6TUwK01vKuMq2Y529cEgCM= X-Received: by 2002:a05:6871:4082:b0:229:87ae:aca9 with SMTP id kz2-20020a056871408200b0022987aeaca9mr2408446oab.33.1711116653863; 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=A1iROTtVwhlUP0WM2Ht8qYPBFnoddkuKz9VBnfm7baqUkwxNAKLyjerEebbkWJV9fu Q19ehRnkps5unuDFdnZPHtZwfEwPipIdaAmXiw4a4MlBbIYIfkAecPT2uzP4zJbFOebP M7zJ7R1QEEwNDkaXddcM+SaRWUyq+yQ1NJDUmO0gEqVT4UxIBLxga+J14E5cQtYTrcDw ASK9pc+C3e/GAOzIZnNoKwWlNqyV5OrtLH0FZLicn/yBw+UTauSzhrlgVRaTRau/a5he X9Ta5dmmd9oxA9CIlNwtH7GUfiQ3Dj3+7ING1SF4d70KNIMkHXlsqO8FEEM4RvOS5YcM nFqg== 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=+URAaekKsc/z32ojbIMndYwCFw70tdFI5VLvrswMlC8=; fh=rpHsxb7lPfJJgFX8BDY3/IlKBNbRtI9Z0SHxGoqscuk=; b=hd4t7PxXQBPjmERiZBGFGPpYoEKR+w2uVYab50YjcEn8YYfNrp3Qva9SdLkS2MEHmG MbhjmokBdwq6sOFyi4OSBQ4jqgqRyBjjnaeXc9ea+CCqO/9CcumlSwWUlIc97irC2955 6K8b4Ii8voeA/7CTFYLll1m2K4lSV8PFDr6QFFeRDWJwqPvlCaExXIbisJvw9ao4wSkg oApQml/yhDxdQdk4+eZUo56ZP5DIjVMXpnTXBmafsLBO8co7Phr9YXGUysNUYN7xW9rB AVZuECYxFynpb18iUrPacLCES4yI6JxSQF2q601bcc/evUZVuadxi2Tsercz5y1SBD3u AFTw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TVEP7AAa; spf=pass (google.com: domain of fm-51332-20240322141051f7980f591db435eafc-a72lz_@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-20240322141051f7980f591db435eafc-A72lz_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id gu8-20020a056870ab0800b00222b478e83esi256982oab.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-20240322141051f7980f591db435eafc-a72lz_@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20240322141051f7980f591db435eafc for ; Fri, 22 Mar 2024 15:10:51 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: felix.moessbauer@siemens.com, isar-users@googlegroups.com Subject: [PATCH v2 1/2] add new class to add files directly to the rootfs Date: Fri, 22 Mar 2024 15:10:32 +0100 Message-ID: <20240322141050.256793-2-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 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer X-Original-Sender: quirin.gylstorff@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TVEP7AAa; spf=pass (google.com: domain of fm-51332-20240322141051f7980f591db435eafc-a72lz_@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-51332-20240322141051f7980f591db435eafc-A72lz_@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Quirin Gylstorff Reply-To: Quirin Gylstorff Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Quirin Gylstorff This allows to add files like the installer target directly to rootfs without compressing the target file. It also reduces the sstate size. Signed-off-by: Quirin Gylstorff --- meta/classes/rootfs-add-files.bbclass | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 meta/classes/rootfs-add-files.bbclass diff --git a/meta/classes/rootfs-add-files.bbclass b/meta/classes/rootfs-add-files.bbclass new file mode 100644 index 00000000..dfee440f --- /dev/null +++ b/meta/classes/rootfs-add-files.bbclass @@ -0,0 +1,45 @@ +# This software is a part of ISAR. +# Copyright (C) Siemens AG, 2024 +# This class allows to add a file directly to +# the rootfs. +# An example usecase would be an installer which +# contains an complete rootfs added with multiconfig. +ROOTFS_INSTALL_COMMAND =+ "rootfs_add_files" +ROOTFS_ADDITIONAL_FILES ??= "" + +# ROOTFS_ADDITIONAL_FILES ??= "installer-target" +# +# ROOTFS_ADDITIONAL_FILE_installer-target[source] = \ +# "${DEPLOY_DIR_IMAGE}/${IMG_DATA_FILE}.${IMAGE_DATA_POSTFIX}" +# ROOTFS_ADDITIONAL_FILE_installer-target[destination] = \ +# "/install/${IMG_DATA_FILE}.${IMAGE_DATA_POSTFIX}" + + +python rootfs_add_files() { + import os + if d.getVar("SOURCE_DATE_EPOCH") != None: + os.environ["SOURCE_DATE_EPOCH"] = d.getVar("SOURCE_DATE_EPOCH") + + postprocess_additional_files = d.getVar('ROOTFS_ADDITIONAL_FILES').split() + rootfsdir = d.getVar("ROOTFSDIR") + + for entry in postprocess_additional_files: + additional_file_entry = f"ROOTFS_ADDITIONAL_FILE_{entry}" + destination = d.getVarFlag(additional_file_entry, "destination") or "" + source = d.getVarFlag(additional_file_entry, "source") or "" + if os.path.exists(f"{rootfsdir}/{destination}"): + bb.process.run([ "/usr/bin/rm", "-f", f"{destination}"]) + + # empty source creates only an empty destination file + if not source: + dest_dir = os.path.dirname(destination) + bb.process.run(["sudo", "-E", "/usr/bin/install", "-d", "-m", "600", f"{rootfsdir}/{dest_dir}" ]) + bb.process.run(["sudo", "-E", "/usr/bin/touch", f"{rootfsdir}/{destination}" ]) + return + + if not os.path.exists(f"{source}"): + bb.error(f"{source} does not exists and cannot be copied to the rootfs!") + # no recursive copy only single files + bb.process.run(["sudo", "-E", "/usr/bin/install", "-D", "-m", "600", f"{source}", f"{rootfsdir}/{destination}" ]) +} +ROOTFS_INSTALL_COMMAND += "rootfs_add_files" From patchwork Fri Mar 22 14:10:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 3425 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 22 Mar 2024 15:11:09 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-oo1-f55.google.com (mail-oo1-f55.google.com [209.85.161.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 42MEB0Xu030421 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 22 Mar 2024 15:11:01 +0100 Received: by mail-oo1-f55.google.com with SMTP id 006d021491bc7-5a48451d1ddsf1788561eaf.2 for ; Fri, 22 Mar 2024 07:11:01 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711116655; cv=pass; d=google.com; s=arc-20160816; b=DM46KAmjwbhuDZ8Q6uJXFjWrZIHWpapG/SaEY6zL7Vy40IbsVJQbQ8gx/+vi2U1qVX BvMXHWrW6BnvRPoTBgPczx+zVHetr+Lvv1koPxSFB5GVFRlq/FklUadQiJbhP+3iQOrf OMnpl+AMHtdJsGBshxdlgs+kDUrZ0W2+c2ALtXgLv5fkYta25gM3PH+2B1G9tj07ZpGp wKLFM5Sixp94waXU/QCUX5ACWVDFjFDlKCGQjRPRg0y8v9KioWYebhN4934pGfUXBba3 Uf8PiAo/i6iYb0ZDnbQz1qhO/vrWY/ZddOBUd7VKLD5pBqemIQapsv+1Uv67FAa/EwlG ZFQQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=CQMaRgKUkeU2k9n3gxbUNO7gPMgtGPlgrAZLD74FMhM=; fh=m1uqxZ2HSis2jq8cKPvPjOKNWNcjLf78jAUFlUGUt/s=; b=D5Hds8anrX7n59DHSe+qFfq34eA0A2XQ8kkmPkn22FgXAbB2XArSJUDaBMB/BGKqqD rXOv4n8jmRkX91ay1qJdaxvysOHIO8rkpBOsYjJal2Ovzlo2dBkc2AmUrl+blwXngSdZ SnjNSyndIfmkKLfDbmqzm+Iw81631O+rHnIy3cIHJexAT1+VgO35mX7S2e9l2IKhbFuG LOpH0d9tBn2/71KcZ9Wcnv93KFuFPef/IV6XJiygCY7n9if8tl6vqEaW74v5tYrI4+Za dYjFq+FGp3EQU6JZ+AEpN7yVYgYsBUHrMCZXgbGrxWnsYpLQfEgBYKPrVEuIlX6rhJOA YKYw==; darn=isar-build.org ARC-Authentication-Results: i=2; 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1711116655; x=1711721455; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=CQMaRgKUkeU2k9n3gxbUNO7gPMgtGPlgrAZLD74FMhM=; b=eQyzP68AeM3yiwKveiSFryyydKFXG1Cy+yu6aVfJKflCJpKws8NGdU6/OE0g/J6pJI 3Jqn9kw+DT/nmFQF1mvyfcL4fAwBziiNIJn/ZnS0L18rV5bZq7xt4uEgxEuNK4ZB1n2g NB5hl1OxmyCn7GJip1H3+S3U9by8eG3+2lgBdJQCx0OPtKz5d3wDxJdeITCrnpBrdM8w t0IHzsY5IymOHgUNuuhGEnemD4igZul0nzhjkFEFuBvZz/BeIgWlBs8HHCQc3Nyv+Ycl 7CCv8U32c26hCEmvSeV67VstE07qxgaAAXKldw5Ynp6N00+1l0opxNpUcdhXQZmB9IFd JmoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711116655; x=1711721455; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CQMaRgKUkeU2k9n3gxbUNO7gPMgtGPlgrAZLD74FMhM=; b=altcGkGTQqxpHCRd0ZCaj0D8UZcVx7UkAWQPejnMFstoGL9ycUKeGeiC5GhkhmmUOR /DWH+ndh17MhyBxiL5Q3czMXXwgJK7tYYyq3gBq82zeQ88xOxN13CcpKDBoKiTD8Scdn iQX+UmZiusN24LgwlrTaFSqwxhC7JwfJHLu6F9eC3svBBYsHZA6nKxJIEsjlPV40/KOp V0tAM4kidw11VAxFl1CWLEud0SUqQ+iGu/VJMEW4M72yng5+1ahq72hwPvfmFKkM+eO4 puKIrjH0X6ZuvvkuIHrx3vGbOyZJYT1fuLBdHR22p9SrcTJ+sBh5LVTV7qJQxZ2VQU0Z 6eSw== X-Forwarded-Encrypted: i=2; AJvYcCU6+O4Gd150e0I9fpT1bm279vFuQ0pGqNLZreI9A/j6pBqxW7YJsEKumh12WMG+K+pXO7jZJI57pYXUm5R4HVdhVtFNxB4= X-Gm-Message-State: AOJu0YySW6CcwUUzBLXmOsqn2n0HdiHauxTrhgbWx06FLhBKOBcbb9mt Eap68PelLklqIg3qEWSZGhKqBlx1oM1u03gByUUjNCjmZVH9AbLv X-Google-Smtp-Source: AGHT+IFSVCkIdWgyUXiwfCGaMqiwywV4jVQMcBKi0DN9H6jL3rHc7aoelsLVl+WV3UVA1ls5Ivbusw== X-Received: by 2002:a4a:ee82:0:b0:5a5:2431:f59b with SMTP id dk2-20020a4aee82000000b005a52431f59bmr1041667oob.6.1711116654883; 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-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 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; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 2024032214105100f7edeca59b6dd279 for ; Fri, 22 Mar 2024 15:10:52 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" 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 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-51332:519-21489:flowmailer X-Original-Sender: quirin.gylstorff@siemens.com X-Original-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 X-Original-From: Quirin Gylstorff Reply-To: Quirin Gylstorff Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= 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 -}