From patchwork Mon Nov 10 10:50:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4586 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 10 Nov 2025 11:52:15 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f56.google.com (mail-wr1-f56.google.com [209.85.221.56]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5AAAqCZC018109 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 10 Nov 2025 11:52:12 +0100 Received: by mail-wr1-f56.google.com with SMTP id ffacd0b85a97d-42b3b5ed793sf425500f8f.2 for ; Mon, 10 Nov 2025 02:52:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1762771926; cv=pass; d=google.com; s=arc-20240605; b=aeT6Katr5/X6581R5Cyy4AUEWnXkfUh9zsMHmtv/+bK4/sp9Asi9R2bxUCr74Uly8W Qi033ZSa1+HGNgyEv+FRuW2/VZ//MuzlSUe+/RUTewL2muawmI72ZYncNb1A/pn055uV yWag7yf8uSI6duH55HMIvrGvwssIDqINwQeEfk3YjQn/KWAUdbMpbMWvetjNQ4fWYMx+ BODgionjQQL2QrbM8aficAVyzoOyY3q2R0ik7Nmm99dZBXT1V/WR5kcW9hTrZz5KhXFs 1EC9OIRJPHRxQAjzhaHUQYQem62DX+N0gKeryXWbaOQVCKUOwfwUXnzwkQGTiQCsgVoF EGgA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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=GSfpA6DzyrnA9DxCP7Wd67Y8XoW+Cmy9UJXhYXDw9+E=; fh=P8ml/5WC5eyxPpJ7X1599GfESTyHOt0sEkXBQiSfJ9I=; b=ZHvrKelNObAb5NprIiP/8mPmiK6wzidFJ6C+XPnw2wS3k+DHTLs3QCNDsclY7pjxU9 QlhkX9qstqmNQ4aigiNWLoXXu0HfTeqAiGZOygQmTriRHHWunBpl/H9NFhFMRoXn2OMX XogsrNifw8hXoD3hHIxoFUrbQ1UM/YR+ubxdB4iduGP2TtpsPffVqSk2Yd0jPoIu7I0n 59uu4v/EKzvpvRzAU8/eEvNkBbU4s/VhU8Is+KHje83Hy7S+7/LGZMIKM5N7MXavMIjN LEwvwS0+rRW0N9OMGYWIIeyaR3gHVJ6Spf14d+b8JqwcMcdbXUaC8aTJm9tQF+kvpU98 q2MA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=U8xcVE6z; spf=pass (google.com: domain of fm-51332-202511101052014ae296f48b00020768-rcczka@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-202511101052014ae296f48b00020768-rCcZka@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=1762771926; x=1763376726; 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=GSfpA6DzyrnA9DxCP7Wd67Y8XoW+Cmy9UJXhYXDw9+E=; b=DOtyNaA3ILvxm9L17FjfyXsFnp2ic1b39JapwTYbBLYocKrt/eCjKDzcjCKYBTShtQ JAy2xNVMBGIRuWuABTMqQ49yOfxpp/V1weOdD/38ZnNRbExoXz2xQfXWNJDmmyGKxY4V 6dgLEB02nJl38JyQXBCxzf2kBBH83Jj8hfNpaMwCAAPd09kZAYF5d0sfwSVzc6VED/Dk HhGGDyXSu3J5RdZCp1N+OUPyOk1wEfkJ3L1mQSt6WsL1a36FXYjUreXocafz22Q/Ggci 26MzvWTCtTDiCsjQQUmmFdSrVwI1PuXdppURu8H27NhP6mAHBRQRne4wooO7pwNJI2Sj p+yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762771926; x=1763376726; 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=GSfpA6DzyrnA9DxCP7Wd67Y8XoW+Cmy9UJXhYXDw9+E=; b=j24TNgn/bTlgyoPwQX7c1XlIHny5wS6kxApZyisyc96gfnR27SSqw2oLDDr8yXmg0t UvbVorTmK+yAXwi2UOS0eIrj9UOe5JsMcv9q4fSvNPcySNLQiBJw133gOAQbi3zJBRzY frq5WoMIDmdXt1JgTP2qlscGzeJco9kItK8aJ0slQqPWxFOXCk9i39eg27bybKaSS6ml R9v5MruYHVQVvYh3PwmsjqVBlkBREu3f49TKvHYtoLIRVcwGLQcFGHykLYo/iFrTJ1ei BBRQm8Z0APPGopAc2SJxyQZl1mtz9NQGhu/gtk3lwAA7aQEqKwsJRJRiPT8C61KNgzMK DsaQ== X-Forwarded-Encrypted: i=2; AJvYcCV4gRUwmk244hstj3xEyJnCWbTJyX7EqalQ0G05uR3G5cpSjOKnZM9r213p1XW5krogr9fsJvI=@isar-build.org X-Gm-Message-State: AOJu0YwwyIuGsnkuFdB7tZiBpcLlmgZqzsGfCUzLv6zrz3QoWtO8/GEQ FuSrnJufaoEatJxFi+SdiidkA+2bKcNC+1T6VTxY51MagpwNMCujk9wq X-Google-Smtp-Source: AGHT+IGqQopmG1blkLXkyMzR8PZ0DUGXU3DDMVha3C0UelKEHq6xqfO4Rdb//imzWcu4k4eJzVbQAg== X-Received: by 2002:a05:6000:2d11:b0:42b:2ffb:b33b with SMTP id ffacd0b85a97d-42b2ffbb624mr4548416f8f.27.1762771925745; Mon, 10 Nov 2025 02:52:05 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+aw8pLnzoeIWsFn++4Pp1uXE7974uhoSVPFFsY15Bc0Sg==" Received: by 2002:a05:6000:2002:b0:429:d66b:50b5 with SMTP id ffacd0b85a97d-429eb2008d3ls2365112f8f.1.-pod-prod-02-eu; Mon, 10 Nov 2025 02:52:02 -0800 (PST) X-Received: by 2002:a05:6000:2dc7:b0:42b:3131:5438 with SMTP id ffacd0b85a97d-42b31315ce1mr4792410f8f.54.1762771922383; Mon, 10 Nov 2025 02:52:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1762771922; cv=none; d=google.com; s=arc-20240605; b=eTihUDLUWxm/hxo+FjsAbIAL4wHrJmT+YztrvrSFPQIIYTof6cOXBBeuD+bldRIlyG ho9WurDPxcB9/+EjNI6rznADpcpaQ/yzMzsMHy6zcKqolQzVHbqWCoCZhhBBlYphu8Li +s2MCwe+/otBGFyoDe27D9Q7oxzMm9q2IDjxHZtgT6PvGLs2/fM8vdjg4ICegTNl3REz RwJjaT0rf5Hd9EThYaFAHAJPW7cQO/MnIYWtygowRoDlK1VZkLMKJX1wymMoCqkScXzp Xsgf3LOtQbG5xtlEe7g9/eKo9Eb0p5+iJiwt263lBeP9u87tMeHXlL6vCY2tqziYN/5u amrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:to:from:dkim-signature; bh=OFiP+p3W+DnfOrxa2ASSdDeYs7/3KuZnqGYZfdtsVW8=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=Pz8aJ+kclsECenDZIRCfUcgYmGe74E+GrLMnDBxVYI9xfEBYvoxq2PQuRNbvtNZ6JV OWV73VdZw9I/nlVYdeKlmBoIgi7QOuvNJZc72miQ0IdOot5OCIn+1KGhkw1cmcQlnlqU 3RLD2MtbTyfeAcakLFjuRlAQq0eVt/ey7Rtd3uf1Pr9CsTkM34XuVZE+dqz2Btuoy9TE hkpVlLTMDAtC/p7ci+Y9U7SVZYz+moTYg1aKisgAkwGnBrP/XriZgp+9gSzD9aNwkIme Ns15FU5Y2/5fjePRdtpXn2CHp9CusZ3BeLo35H7mp4MGdyMkQ/46aRX4Dd6diTaQWS10 6xkQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=U8xcVE6z; spf=pass (google.com: domain of fm-51332-202511101052014ae296f48b00020768-rcczka@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-202511101052014ae296f48b00020768-rCcZka@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-42b294f39e3si165106f8f.3.2025.11.10.02.52.02 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Nov 2025 02:52:02 -0800 (PST) Received-SPF: pass (google.com: domain of fm-51332-202511101052014ae296f48b00020768-rcczka@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 202511101052014ae296f48b00020768 for ; Mon, 10 Nov 2025 11:52:02 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [RFC PATCH 2/3] Add imagetype Discoverable Disk Image(DDI) Date: Mon, 10 Nov 2025 11:50:53 +0100 Message-ID: <20251110105140.1609372-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20251110105140.1609372-1-Quirin.Gylstorff@siemens.com> References: <20251110105140.1609372-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=U8xcVE6z; spf=pass (google.com: domain of fm-51332-202511101052014ae296f48b00020768-rcczka@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-51332-202511101052014ae296f48b00020768-rCcZka@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=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,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 generate with the help of systemd-repart Discoverable Disk Images[1] like systemd-sysext and systemd-confext. Systemd-repart was choose as is easier to setup multiple partitions which depend on each other. As for example a SYSEXT image contains three partitions. [1]: https://uapi-group.org/specifications/specs/discoverable_disk_image/ Signed-off-by: Quirin Gylstorff --- meta/classes/imagetypes_ddi.bbclass | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 meta/classes/imagetypes_ddi.bbclass diff --git a/meta/classes/imagetypes_ddi.bbclass b/meta/classes/imagetypes_ddi.bbclass new file mode 100644 index 00000000..7020508a --- /dev/null +++ b/meta/classes/imagetypes_ddi.bbclass @@ -0,0 +1,47 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2025 +# +# SPDX-License-Identifier: MIT +# Class to generate discoverable disk images (DDI) + +DEPENDS += "isar-ddi-definitions" +IMAGER_BUILD_DEPS:ddi += " isar-ddi-definitions" +IMAGER_INSTALL:ddi += " isar-ddi-definitions" + +DDI_SIGNING_KEY_PATH ?= "" +DDI_SIGNING_CERTIFICATE_PATH ?= "" +DDI_TYPE ?= "sysext" +DDI_DEFINITION_PATH ?= "/usr/share/isar-ddi-definitions/${DDI_TYPE}.repart.d" +DDI_OUTPUT_IMAGE ?= "${IMAGE_FULLNAME}.ddi" +ddi_not_supported() { + bberror "IMAGE TYPE DDI is not supported in distribution Release '${BASE_DISTRO_CODENAME}'" +} + +create_ddi_image() { + local_extra_arguments="" + if [ -n "${DDI_SIGNING_KEY_PATH}" ]; then + local_extra_arguments="${local_extra_arguments} --private-key=${DDI_SIGNING_KEY_PATH}" + fi + if [ -n "${DDI_SIGNING_CERTIFICATE_PATH}" ]; then + local_extra_arguments="${local_extra_arguments} --certificate=${DDI_SIGNING_CERTIFICATE_PATH}" + fi + + rm -rf ${DEPLOY_DIR_IMAGE}/${DDI_OUTPUT_IMAGE} + + ${SUDO_CHROOT} << EOF + if [ -z ${DDI_SIGNING_KEY_PATH} ]; then + rm -f ${DDI_DEFINITION_PATH}/30-root-verity-sig.conf + fi + /usr/bin/systemd-repart \ + --definitions='${DDI_DEFINITION_PATH}' \ + --copy-source=${PP_ROOTFS} \ + --empty=create --size=auto --dry-run=no \ + --no-pager $local_extra_arguments \ + ${PP_DEPLOY}/${DDI_OUTPUT_IMAGE} +EOF +} + +IMAGE_CMD:ddi:buster = "ddi_not_supported" +IMAGE_CMD:ddi:bullseye = "ddi_not_supported" +IMAGE_CMD:ddi:bookworm = "ddi_not_supported" +IMAGE_CMD:ddi = "create_ddi_image"