From patchwork Mon Mar 25 15:34:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 3430 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 25 Mar 2024 16:35:36 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-pj1-f60.google.com (mail-pj1-f60.google.com [209.85.216.60]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 42PFZXXX011490 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 25 Mar 2024 16:35:34 +0100 Received: by mail-pj1-f60.google.com with SMTP id 98e67ed59e1d1-29c7932c5f5sf3134616a91.1 for ; Mon, 25 Mar 2024 08:35:34 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711380927; cv=pass; d=google.com; s=arc-20160816; b=0opgjqKfVElyUf9+fXrmh2miH5ueqSF8Vu8g5XajuywzDmVaKMMPlbplZIQqsKSY+I LhKDhJNfFoY+D3BqzNE7/6KeAJW0639B5IRMBmQeA0sZ5JYbNaN6Y0WODaeOIAhJ0bF0 X/dZQOrnzXHkD8LG9Q613n/nLvDx5p2AOpGxzFQ2Wg7aY5Ul61t51AKxfBlPPl7sdFsZ B1AYeXmo1IxvcC36RNmaK8hQ0ltzWYN7854CWwFCbjLTUeb/CPQK/1/yqyY9SLjHE50q UOSV7fi0aEFyndTNKW+sV0PBvk1tv6hnBiKKVjeFdhRTCchx/pJsDnu7NjRIwisGNqaP KoMA== 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=loaDyJpZzMPlimuAiR2bGCcLqA7gR9at0A1hR2Rknfw=; fh=QhyHxxaxh6HaqeUstK/QezfT8s69fiJ+ABsT1y2mfKc=; b=HcaFqfaoDNsLTzxFCYiXQ5vkAuBJQKEODhuixc6SWZ7QzOfmxBbOfwtRIx79PsD2UW KbP2gQJkV50r+zB/s2W4dFxh0h0NVjKpWEzObW29AOZyyJod4Lth6N2ERVoDJCfroiCZ uVHwjo/rDUsQjBSAlRMcxyk3zcXUOcoiCyNAlwbD90+3umUSqOU2WOlthdSfdLj/ptk6 Rkn7sguFFbQzs8fryVmr9D3CYZ2I3nDSo9AnuvmRTOgXUE966aees4VgynnGdyvkxjTC Df+uol4U2ABLHmCytMzwFMVnas3jwBW8UlQydNhvFiSBDCfSysuCnAUQ/OMmaFQIVIWq 0kOQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Kw6pfdNk; spf=pass (google.com: domain of fm-51332-2024032515352356421b6dc79ad7d040-xsxw5w@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-2024032515352356421b6dc79ad7d040-Xsxw5w@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=1711380927; x=1711985727; 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=loaDyJpZzMPlimuAiR2bGCcLqA7gR9at0A1hR2Rknfw=; b=d94+V/jTw79NaAd9hbRuaJ/jtzGB5+YkpSwnTxl8mT+DLeqUKTTDMD5/TJ7KsP1BVS RjZy/B2JiNS2QDbwrTyp3jL4G79oBTX9Tjhws/pQQJDSnbPGs2q4DEJJFAb209zYbBcq 9DH00fYh/6+LUrlGQvqtD69rKIb7Rpsc3hx+gHlQqTo1oIJgTFI+P8ewV/fYWpiU8iDk +pHjk3xWVy4ZTlFfGPXE1B2DYADyc0BndjzsqfJZk/kMeUMq0Qf/nR44VNkxyOtDp0b2 vZZzJfm/VZOxRhX9Fet6W2ORYcUMzFn4gcXVYu6ua1aumU83zym739QQx5q3oIqjzL1N PPBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711380927; x=1711985727; 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=loaDyJpZzMPlimuAiR2bGCcLqA7gR9at0A1hR2Rknfw=; b=lqBJEKHyDn71X/PHlalMx3aNT5VnAwl1xJWms/Tfu/UpMn/m289MLVlUaHyXqs3RvS 1lb41i9iIprn9+X5YzTuAngavjGCiH+7miSumsC35jSJWGgbjBRs2BYFk00mqlCeTsKD OaHtZJz4VUMMZFTx6u7vjPQcozMnoeed8ue8QC2e9q5JV7fUZ7HKZS6QPNxtBOCNcVy+ uHTGXW8frHvOdLFqZBP3TjaTab4t86snvlNN2Xu7mUmi9wlvfkLLidL/Wh2ZYEOHDoLz bXnP5if3pezn0rq5GJrT8pMu0gMt9mGG0iLVZF0k2ept4YCla3rdBxb60PulSjSyeT22 Dtuw== X-Forwarded-Encrypted: i=2; AJvYcCVu0cfldBR7jqAEQoTJmGAIBM6jHhOusiJzDqSTmvxZmu6Hc3KQ2lzS2jb/AKvrT3jxb58Wn/Z3TcKEnqFUOcrvd8Sbz14= X-Gm-Message-State: AOJu0Yyjsc62OMVVV5ZGVB2mRJB7tchZzO3DduWnpYh4kmBZudTu+7PU 96tfiij4uExbaCYuzIKusClqfZhsciZLpgERXxkHL2QRa/ht/yf7 X-Google-Smtp-Source: AGHT+IF9304dA48PcbcEduYC2SiAaJcTkNfAsnpjYUF165afmUgA95nyLDJLk1js5qm6e2KOT5+QJA== X-Received: by 2002:a17:90b:3111:b0:29f:b7ea:1896 with SMTP id gc17-20020a17090b311100b0029fb7ea1896mr9834172pjb.6.1711380927391; Mon, 25 Mar 2024 08:35:27 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:90a:d34a:b0:2a0:2a05:dd6b with SMTP id i10-20020a17090ad34a00b002a02a05dd6bls2012610pjx.0.-pod-prod-00-us-canary; Mon, 25 Mar 2024 08:35:26 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWT8PB/pkxp279C/oHfWPixaZsBrWUazvNK1hjHfTi56fU+StTE0+pSr1FD0WnEyYYVSDkicV3Zn3cYVohtgjR4EZS1J3kK9gc9ZnM= X-Received: by 2002:a05:6a20:43a6:b0:1a3:a85c:44a5 with SMTP id i38-20020a056a2043a600b001a3a85c44a5mr9080125pzl.31.1711380926214; Mon, 25 Mar 2024 08:35:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711380926; cv=none; d=google.com; s=arc-20160816; b=CE3qgMd+RR90m1dOPz7ig8XJv/VmE2WOtJRxBLU0Hd+nyceYgdHedA5yim5LYPr68J ZMuUfaBtGv+G592wh3HCh1alHpSxyg4mVq5XMgPO61Fz1hVgctsf6Vb5iZjC+MSEoIL3 A1PIc5e0hHKtVkK8oA11W5G69HfF7SIZIDeOm7y2M9yNQ1fPhGJAkwTBF+wGa7HBkZaQ XwqW7rHDWZyNbuZ6wA8MQnjBnLIqutVF2Lqyjz0cQySd1jliHPoAg55AapVizVA44dkD 3fj7lCTSyv45BAF9s71JOl478LrKYm0LqbGR+UWsJwzYR/xm8TJPq8i20dDvEp4CDCSa X3Qw== 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=xcN4HEnORW/2rIwyCstPVUtKlU8UtTJoWNiL9kr5WYA=; fh=rpHsxb7lPfJJgFX8BDY3/IlKBNbRtI9Z0SHxGoqscuk=; b=tmxywZ2D+npRkQ6/650SBX8M47o2hFc6iYgJHBZGk91eDaw2U1radjWP2AKCDfbT0Y SakYfzIOrxtfKfGbFs9HK0TtQTO4J06lFdx5RKBr6q7OFF0TEctjlrBUxKgCTlkX9NGy tq/N2C3PH9hxFeaGxValE4NGSlSvvm893SN3aRqmIi5A8pTsU7YUSNbB4iKlxyTtZwcs evbv8xwk54v4BGbqx+ipzSMwWCXz5bd7SywRIFhBDimwHjvLx8n2mANdLepWyrK4FnRh xTmEhHjgYwWPLR7tg46WZumUFL/6IAI3nn2FH+pu+TaR2e9G6qa7CzUB1AimU5ZSNGA7 OmNg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Kw6pfdNk; spf=pass (google.com: domain of fm-51332-2024032515352356421b6dc79ad7d040-xsxw5w@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-2024032515352356421b6dc79ad7d040-Xsxw5w@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 p5-20020aa79e85000000b006e8040429d1si287805pfq.6.2024.03.25.08.35.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Mar 2024 08:35:26 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-2024032515352356421b6dc79ad7d040-xsxw5w@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 2024032515352356421b6dc79ad7d040 for ; Mon, 25 Mar 2024 16:35:23 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: felix.moessbauer@siemens.com, isar-users@googlegroups.com Subject: [PATCH v3 1/2] add new class to add files directly to the rootfs Date: Mon, 25 Mar 2024 16:34:58 +0100 Message-ID: <20240325153522.2104345-2-Quirin.Gylstorff@siemens.com> In-Reply-To: <20240325153522.2104345-1-Quirin.Gylstorff@siemens.com> References: <20240325153522.2104345-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=Kw6pfdNk; spf=pass (google.com: domain of fm-51332-2024032515352356421b6dc79ad7d040-xsxw5w@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-51332-2024032515352356421b6dc79ad7d040-Xsxw5w@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..4125caf5 --- /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}"]) + + dest_dir = os.path.dirname(destination) + bb.process.run(["sudo", "-E", "/usr/bin/mkdir", "-p", f"{rootfsdir}/{dest_dir}" ]) + # empty source creates only an empty destination file + if not source: + 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/cp", "-a", f"{source}", f"{rootfsdir}/{destination}" ]) +} +ROOTFS_INSTALL_COMMAND += "rootfs_add_files" From patchwork Mon Mar 25 15:34:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 3429 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 25 Mar 2024 16:35:34 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-yw1-f190.google.com (mail-yw1-f190.google.com [209.85.128.190]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 42PFZWhd011481 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 25 Mar 2024 16:35:33 +0100 Received: by mail-yw1-f190.google.com with SMTP id 00721157ae682-609f2920b53sf71839437b3.0 for ; Mon, 25 Mar 2024 08:35:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711380927; cv=pass; d=google.com; s=arc-20160816; b=h1Ow//wffz/UgKCQwUwlmlySN7euzWEFRX7CufZ8ZCeli0RRvfVeJ9Yml2irXePs/N a0d9DhIs1+Glpe3u7UY3i1V2Ii9C8iYi2EmcKfammcp3cDiKj6c9i8XZ1thtnoQSBpFN FkUdm+Kpc9muoDY0FNu7fHQg1AbffQjJ0cJfwvp8Smc00ApAYuFfoGi1F85wMhFuIHNY GYjHqRJihZiY53RsDJVywk8GRKzRbzY6Jvtx9fuQkM3hBEX744PpR1cDHZSaEuuGvLdP RXd7QmYO90mG1fPuv3urYc4ABMzNodGdMAJeYH8KyQoyOVqhWKLFQZWoRo2+G7qacfdp NY/w== 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=R8UcbcpgvUWSyPNw/MeK+cgvVCzWPTqJf8h5+4rGCtM=; fh=zFjGeEDSS/8XJrNuOWKqnlQIbh9ykOz3PgYS5+798IA=; b=sQJCNrshYiFmIgTOzoef3+ZdGMG/XioHDGkhkQXkZ5HnLx+ViKQmJB01nTJewjdTw/ o0goD5fezWdh8TbNc/ZpiOmnQteVHAZ72E8ik4YZWZZHBiqE9TcqGBMI1eB0q/C4i8sy FzjIzmjEWJIo3UswjRXA3Rt3/ifgfYFX76lyCO67UyytPvtXprI5kGMUHyhIJ2gAqYBF tUZKHQyGg5kkBC9QoIrxZE0NvJBdj0l++VDlxe0yhaVTQx19V5235zgC9XHY7BVpPICS Jz34z5zzWBX30SQkWFvLc5FTlgTxAYTME6dtoZCGQ+5O5nVk3NYA2p+W63BcIIrPD5Jb G6pA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=BE6o0ePW; spf=pass (google.com: domain of fm-51332-202403251535238fc24c0663759fd555-82vm4b@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-51332-202403251535238fc24c0663759fd555-82vM4B@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=1711380927; x=1711985727; 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=R8UcbcpgvUWSyPNw/MeK+cgvVCzWPTqJf8h5+4rGCtM=; b=AZU7o8ThQPx2FcRh3ngayZ2ntA/KE9ib9z2/T7jWQYdVevVQi+o8yV11q/UB2p3/UG Y3kXBVowcnfl40qSQ3TKzq8hMtuWTr36VKSd+sDJ1MhN4hQe2JmD7v6fjRXD6Qd+jDvb oC0aPC0qzFzyuOQl8z+7NYaXANX8H7Q5Lt9S8M4tpNnWSXDhHxq/8auX35ZD1D2DJQe2 dAYUifkeeCIYBrG/g1neDGqhtMfr9inyY7vv+I2nuS0n2VFFMWExTuEPrVRQnm28hA09 ssGpz/LmD2/Ng9YyxUEtvjrI6cYfC1UC3dBBVCs8/QO53B4xsUahWNfDOGpJCkGN4z4W 3Umw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711380927; x=1711985727; 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=R8UcbcpgvUWSyPNw/MeK+cgvVCzWPTqJf8h5+4rGCtM=; b=iolAlcyWG2SU/xE2PN3Fg1795j8SCtHUkzc0yPnY8XgrDgUnXFHGJ3UM06zrxd1uWm UA2cu6JLbF+HIwDgnMATmsmvo3HR+oBRXHSDz9I0zY2s5+LKrTmyb6nkLpPcpv5IBvTW 0vhjnU6qby9EWZ+yX+6bLhHbjjhrOL9womWbFpzrL7g7RkvanSrlLmxl84c6vc0XuPgQ aIwThyVA25FbeTPz5mlKsJZt/ltzgJ0rEJkx1PL0mUnCUyerE1AFCFquLTvzDhpvdtgP Kr0CCdlC22AFUce+2Qw1wXylzBxW5ZG5ceMJi0oZ3inCX5IAjbsS7kknNCWp8SGr29+t srUA== X-Forwarded-Encrypted: i=2; AJvYcCU4mSgd/DDORtqHgTXSFwAEkChqlNRzzEijdDO2XEddoqC/5AkVjDRog6k3LODTxpGw7zNEu/fzj8XDngm9m2F142plUxA= X-Gm-Message-State: AOJu0YzkdiPeJ7bni/nDYkPyFf7AEM3YAkXBsphPuWmY+BOrSiJkOzky nkZWMZgGzFlCfVNNSuc8XELKKx2B+iNlsT6IVyIfDxYtiZPFFNmM X-Google-Smtp-Source: AGHT+IGfpSKsl5ToJdImJymEClCSjAxhlQUD0Obfc8kGIedC1Gdfc4AisRZThWbR5xItK73O6QwBtw== X-Received: by 2002:a5b:8d:0:b0:dc2:276f:ff58 with SMTP id b13-20020a5b008d000000b00dc2276fff58mr5107035ybp.37.1711380927014; Mon, 25 Mar 2024 08:35:27 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a25:d88b:0:b0:dcb:b370:7d0c with SMTP id p133-20020a25d88b000000b00dcbb3707d0cls441067ybg.1.-pod-prod-02-us; Mon, 25 Mar 2024 08:35:26 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWfZU39UCZ1gHMHhOGAZ2a3L6+yol5RZSI9S3ypV9WzU0P2p5ZkcUh9ZBM8twmQgw6mirWDwWtBlGqa/u97iydbtQGkOAXQQBHUCvk= X-Received: by 2002:a25:abcc:0:b0:dbe:4f15:b5cf with SMTP id v70-20020a25abcc000000b00dbe4f15b5cfmr5760687ybi.15.1711380925966; Mon, 25 Mar 2024 08:35:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711380925; cv=none; d=google.com; s=arc-20160816; b=hnUqJ1Xf+ORNqGvz0urAMXFVJNEU8Kixexybe3mgAVJAdwWQgxBpXAyECHxZEUBsV4 WQW6Dn8V6fZPKzzBCA702O9syKBotctOl0PaxgL3sNnu+xv1xp5Fl/xzoxzUQTW4TmY1 QpUl0bXHjrMEC8/kBih2fcqp0xdpED2w0+wF0XAwX1KwKOx2RxZlzO8pSA7g7OqtAoCb ZEoiKiEFMaF3/E0Ok2LgFKIApHodgV9mxi18xdUjXiTyyIu1A1gfYxNRW8JrJxNzJIB0 v1UVtjHaaxpGZYevkVmwt8OHs+BgCvzQKBB67JTCF0Ecyt56er4CojDsFmq4zW60p7DL klZg== 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=nhKkie2fgiDK8098rgHf0DcxQ6THlPB3xyTqZQWY7fA=; fh=rpHsxb7lPfJJgFX8BDY3/IlKBNbRtI9Z0SHxGoqscuk=; b=Qz30L0oiCuASaxaCj+SdGvC1wGFc17a2LnMiRAK/kzD74BnRqkIk8OoYC3JoT74BRE bHSyHKrFxN3w47OewtyPPaHcqeYSnm4ICtijVvxbMYt+lHAZ9HxcKwtL4N2h5RLdfYsV X4aCBLmPKUEVAQ+AwSrecd+waNfIy5uLjlzbyuZPyS827GZetlTlEe8tnZNd4cqjzspI v+KE8YG3mJ/VyBWV++iuR+rlkiA+NAOoGURwrlj14bdolEev+uaEJ1xCfu8lwJOlPiVw geMV8m1biI2VeDUJo5Oy6q4UYcIZ9HU+/pSZ6OQdahx2ShEryU4scRn9vMhVRndA/j2I nCoQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=BE6o0ePW; spf=pass (google.com: domain of fm-51332-202403251535238fc24c0663759fd555-82vm4b@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-51332-202403251535238fc24c0663759fd555-82vM4B@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id m71-20020a25264a000000b00dcd2dd6bba7si507662ybm.1.2024.03.25.08.35.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Mar 2024 08:35:25 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-51332-202403251535238fc24c0663759fd555-82vm4b@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202403251535238fc24c0663759fd555 for ; Mon, 25 Mar 2024 16:35:24 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: felix.moessbauer@siemens.com, isar-users@googlegroups.com Subject: [PATCH v3 2/2] isar-installer: use rootfs-add-files class instead of seperate package Date: Mon, 25 Mar 2024 16:34:59 +0100 Message-ID: <20240325153522.2104345-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20240325153522.2104345-1-Quirin.Gylstorff@siemens.com> References: <20240325153522.2104345-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=BE6o0ePW; spf=pass (google.com: domain of fm-51332-202403251535238fc24c0663759fd555-82vm4b@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-51332-202403251535238fc24c0663759fd555-82vM4B@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_H2,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..656761e7 --- /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 installer-target-bmap" + +def get_installer_source(d, suffix): + 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') + return f"{deploy_dir}/{image_data}.{suffix}" + +def get_installer_destination(d, suffix): + installer_target_image = d.getVar('INSTALLER_TARGET_IMAGE') or "" + if not installer_target_image: + return "/install/keep" + image_data = d.getVar('IMAGE_DATA_FILE') + return f"/install/{image_data}.{suffix}" + +ROOTFS_ADDITIONAL_FILE_installer-target[source] = "${@ get_installer_source(d, d.getVar('IMAGE_DATA_POSTFIX'))}" +ROOTFS_ADDITIONAL_FILE_installer-target[destination] = "${@ get_installer_destination(d, d.getVar('IMAGE_DATA_POSTFIX'))}" +ROOTFS_ADDITIONAL_FILE_installer-target-bmap[source] = "${@ get_installer_source(d, "wic.bmap")}" +ROOTFS_ADDITIONAL_FILE_installer-target-bmap[destination] = "${@ get_installer_destination(d, "wic.bmap")}" + +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 -}