From patchwork Tue Dec 2 12:23:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quirin Gylstorff X-Patchwork-Id: 4698 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 02 Dec 2025 13:24:05 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f57.google.com (mail-wr1-f57.google.com [209.85.221.57]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 5B2CO3td020070 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 2 Dec 2025 13:24:03 +0100 Received: by mail-wr1-f57.google.com with SMTP id ffacd0b85a97d-42b2fb13b79sf2854484f8f.3 for ; Tue, 02 Dec 2025 04:24:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1764678237; cv=pass; d=google.com; s=arc-20240605; b=Cw/qVuUKl87Ahm9zeFOYmQ58dijWGM1miycwUfZJp74uEXV8kh5CEiRZaAWZOrV6sb NXkru4EdjlPVBVaQ3AXydgOSOr8oL/TeU25vm1gB6Z/cxKtiB/kjBEIjaoy3HDPEpV2B d20H6708ZXNmkqr10O9/UIO0dvZAY8x9Rj42yE7pMGx2ii+8nFa6aS2YAT/Z5VvQrS6N LlCWOGtsoUYpT/ELZCBxu91ooqXsaziOcjXJXSgSnawIGb3qk3rkj5oaocnCHRfs0je+ nKI2FIFyPm/DIK9/rgQcVC9BKPerlQHWlZbMQy0qBKiG4PhXsRIo+6sTNdZ2YD0ntBeL Pr3Q== 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=EMxSIUCH8/8wwObur9pKq3dDSbcd+GkpXxJdk6EHozY=; fh=AEiFJ6/x4qGgrWBb6BFGXMwoRshqI65SWzD5HZkiQnA=; b=Y9EqfWHPiqwqxJwc531HBjARdRhdOCG7O3j3FeXOiN/edG5Va2u2B2p9gUAx0GjZER fItSl4GC18RASlCbqdoVBbd19rg2OFJTd4kcvpPheC9EZkw6LdxgjsAx9xceVHgUhCL3 0OAxLsXP9SUHi1cSCeCS0siU/Zv7CQ9AFEIpo7JnzocRBF/Xgk6v3afRfLyq7Fqf6W1k l4K6aaC02P+hY0xCwuYi401isURnqOWcIPCIM7jFTdodu5v2DOo2tlSeBppgMZ5b8JJR ZmBogoryhlKVzS2vVccgBiP/5zl6D222RHUWkofkxLAtpuUbYjcDz4NmzJNtu56rDYs4 pzAw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=A2VxTybm; spf=pass (google.com: domain of fm-51332-202512021223524de3b600010002074c-vwemlr@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-51332-202512021223524de3b600010002074c-VwEMLr@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=1764678237; x=1765283037; 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=EMxSIUCH8/8wwObur9pKq3dDSbcd+GkpXxJdk6EHozY=; b=rHt8IF9riziomEQOdLEGdqnWHIrtDB7z0I/tFIocH5m6so0qnvkjtaCl9bJ+r7TQOe Fb2/7G5b8T+UI0dcA/criEIdggNEFMPskYJP+NuWKozb/hBw9YH/DRVaILEzw/0rvQeI 6gaQ/TGvh8J7beG3RTYa6dCVoA9jLFBRW/7kuU96HunK69vyTKKcr0MhBVbrW1BHu5kz dVff4bm7izzNMYSBVAb6tLwfWx4dLr/qA0BM4QUjPQTOpMM0B9Jy/lFK3DHk2nK2RDEr tg6+s4sjoNx2buNVXNfYcIJJnX/qSZ6qNMKFHJJVqEqqiUOsB1hDLtu1yW8/QhFFmKIR BFYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764678237; x=1765283037; 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=EMxSIUCH8/8wwObur9pKq3dDSbcd+GkpXxJdk6EHozY=; b=xQ6H7OFC6FAe6Q6fzztaprFRHmufh39byChFBIX9QVSWVhSFRp1nI5nRzdlh21/WF5 XzeCZz0u8MT9+BAlzOJNZHFOaXYmjh5Ql0Uvl/pnR3RPhbxv+7Qwc6WjZGVj7mZtQbNs xAP7amNNBg7s/zgJq7O6t2otxsN9/Aw9F0E5t58FZkY8/djejT7o7UsZ4Yf12LU2tqnv S3Z4YcrJe3t+f59tD17BFQEt7LIROjwnKeQ/UwcZ7t7JqZwL5d2SfhRwVv1Uu+cxPrR3 b1OsdE6QY9VM1QcIqVIAkdXmb9ryWZajj/bcp7Ot6yu93S5jNjsAWsyojLfCwJ8lTjdn wD/g== X-Forwarded-Encrypted: i=2; AJvYcCXZqYrV40BYv51aDpeNTCGLz2qX4RRx14yjAhQJEcWPA1pm6nkTo2f0qJI5sdeEpgaz5ImZ3Kw=@isar-build.org X-Gm-Message-State: AOJu0YwyVR7TDZsmx9do1kJpReqZ3GWqHwinv3uEWjVLMOm7xlyEG1O/ 8+MLxC+F8goNtm2OkwMs1HS8If+QgMZjILR/2JMTgDO2jCuZ+8T8SXJJ X-Google-Smtp-Source: AGHT+IEtjuJwS34HW+JzC6rWPofpmAEbBIdymsOjBnpZh7R61c6IU+ytdj/PuQDRB37mkj5B7SdIPA== X-Received: by 2002:a05:6000:2013:b0:429:d37a:4d00 with SMTP id ffacd0b85a97d-42cc1ac95damr42330926f8f.14.1764678237409; Tue, 02 Dec 2025 04:23:57 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+YF2uOFOFGq8lqWtoBrn+wNxz4ra7uS29SqNDQRwc0htw==" Received: by 2002:a05:6000:26cc:b0:429:d66b:509e with SMTP id ffacd0b85a97d-42e1b38b93dls3288812f8f.1.-pod-prod-03-eu; Tue, 02 Dec 2025 04:23:54 -0800 (PST) X-Received: by 2002:adf:8bcf:0:b0:42b:3806:2ba0 with SMTP id ffacd0b85a97d-42cc1ab887fmr32568662f8f.2.1764678234356; Tue, 02 Dec 2025 04:23:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1764678234; cv=none; d=google.com; s=arc-20240605; b=QLt066t+LRV3QuHey3A66nDZPAX7RRSV0r+u4q1UzLIb/Q4CcYuKb96z0wXB4M/Vkp 9i7ByO1eLHP+xded0aWJG9iK0qZw4Z4/WwyrvpNTYKKczkeKRm4uYq//G/PxGTdWVxo/ WgvPR+hEXYAY1QKEEpXXHD0aCZmmKH4Zl2PJuxq1+sUesE2Azxxf1hjbCt15GaCOSdSm ZMH1Riz4MsSq0gTKO/vjeSIn9qa7Jt1a+61ZIYM6MytIHNxJYbSFIcANLRj9or4LoEKg VjjI33edRYnSFeaaDepznU0r30muxzji4iYwqmloOy3AQECVOELT0qsIZ3y0uuz24f0d tUAg== 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=SibmuMrWTlD0q6BjzuTIT1PwyZDzuz2KTFaQ2euTRFA=; fh=7tclEdh7YbwSQowgJ6LNq720O7H5HTEaqj22NJWRE2E=; b=KqcOLqhe8E5c4I7urtpQa1GGjYPym7Ai95H6KrCQf1cu4G7sfTWtLQqhD4SN8jcDfU 7HuMYD2cNMGRT9actfqWsYRC4kTCgqpt3NCLkiAJTR+MT2jlIqsjyEoahYLrtntAHui8 6zvaGdySlWUeQ074Ioueywsyj5DpLEGiDV/RgNMS3KobuvlTKGHvUBfFXH1NDNFqQcpr M9cVyX0kuMvrbcSZ88J3w7L2xNHBdhVjCFTaMEfNn6x/HdDMEzpa4GIxCCAXbLLLo4XU w4J5KyQmw7FyKDIUrmf5zaIdFqqil2YGkftMGk7xZJLO//khJXzxwsMQA+pYcdG29BD6 FdoA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=A2VxTybm; spf=pass (google.com: domain of fm-51332-202512021223524de3b600010002074c-vwemlr@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-51332-202512021223524de3b600010002074c-VwEMLr@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net. [185.136.65.227]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-42e1ca8b40fsi218254f8f.10.2025.12.02.04.23.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Dec 2025 04:23:54 -0800 (PST) Received-SPF: pass (google.com: domain of fm-51332-202512021223524de3b600010002074c-vwemlr@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) client-ip=185.136.65.227; Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 202512021223524de3b600010002074c for ; Tue, 02 Dec 2025 13:23:52 +0100 X-Patchwork-Original-From: "'Quirin Gylstorff' via isar-users" From: Quirin Gylstorff To: isar-users@googlegroups.com Subject: [PATCH v2 2/3] Add imagetype Discoverable Disk Image(DDI) Date: Tue, 2 Dec 2025 13:23:39 +0100 Message-ID: <20251202122352.57016-3-Quirin.Gylstorff@siemens.com> In-Reply-To: <20251202122352.57016-1-Quirin.Gylstorff@siemens.com> References: <20251202122352.57016-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=fm2 header.b=A2VxTybm; spf=pass (google.com: domain of fm-51332-202512021223524de3b600010002074c-vwemlr@rts-flowmailer.siemens.com designates 185.136.65.227 as permitted sender) smtp.mailfrom=fm-51332-202512021223524de3b600010002074c-VwEMLr@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-recipe/imagetypes_ddi.bbclass | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 meta/classes-recipe/imagetypes_ddi.bbclass diff --git a/meta/classes-recipe/imagetypes_ddi.bbclass b/meta/classes-recipe/imagetypes_ddi.bbclass new file mode 100644 index 00000000..a2d5af66 --- /dev/null +++ b/meta/classes-recipe/imagetypes_ddi.bbclass @@ -0,0 +1,48 @@ +# 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"