From patchwork Fri Oct 30 11:57:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clara Kowalsky X-Patchwork-Id: 5581 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 30 Oct 2026 12:58:23 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-dl1-f64.google.com (mail-dl1-f64.google.com [74.125.82.64]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 69UBwLX7008957 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 30 Oct 2026 12:58:22 +0100 Received: by mail-dl1-f64.google.com with SMTP id a92af1059eb24-1a2af4c8cbasf335806c88.0 for ; Fri, 30 Oct 2026 04:58:22 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793361496; cv=pass; d=google.com; s=arc-20260327; b=Ch+NJEVX2HfypLCfBVW3263C49W9syewk1omro9LsgNKvCo9+AuGsCK6HewyqUL9yg l2XFM+WJqYrHNHDxK3tpjNjHCZsivuyds8Ild1LGL+3xyDE9uGVS0mAii0FrlcjmPKpJ 9+2SElXVpe4PUOG1VvYHfczCVdlaELeB/yV2aa2fmEMes6xTNDLmnkDKJpzUWmzuR/SV FfYaBXabB3dxRrwNXywLMS5zmrCFcpcZ6900M2NYZJJikJom2OkyqC4A2DBcEVvVMj5O ktpLBrgLB89jx4m+3lr4L/sciwPkF2s1CjhwDc32pAN0pcv+8y4HeEP3QDEFR5WVyuHN dilw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=aZag5wHo16etso/chqxd1VllgHKl1RcUuUSfvbP4v3I=; fh=6LNxW/nprxUeOBtYxsLydUFglc9knkeprA/0/roPo+k=; b=Iob5YDv72xoyyFrSs2CPKohgrdc+l97p1Y0P7e/nbGfoXTxhc37vhmpxOdiQcE64v5 gJN3PApZRr0icjBOlwxgjppjfaDJs5a6OlIygG/OjzsmQnbkBs3ZlS44Vqy9WTUUeuSo jrGj9ToySByiV0RULbHOSnW0vxLCuXS9qAkWwu/Efl6cpcdMEUgEOESO+wmg9LNaxUK3 xL4aZ8n5Ntsmqvx/9hKe6BhK4TTijiUN4s2VSMoPdgYKbwjkG4MnGDZKN25zvjQdH9dC b6o56mKgpGPiz+QzeZ06gVaxITkh7ZhUrHanN6Y/lA9nA0HTXNk6qCaLHGLLfCTts2BZ 5+ig==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=GgaL65KY; spf=pass (google.com: domain of fm-1047747-2026103011580916029b7b19000207df-7apbcx@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1047747-2026103011580916029b7b19000207df-7ApbcX@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=20260707; t=1793361496; x=1793966296; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-type:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=aZag5wHo16etso/chqxd1VllgHKl1RcUuUSfvbP4v3I=; b=q3yfjpCk7CsNK5Q0Hh3basvibn91WdH/L0M0zIJ9aIjlY9Jzg7v9e/z16/b1ezd0ew jLRiglizuqEkGR+dcYbKbGur8jdVsf8peipYhqWAkxZBfTHLDnUDBP0n+LpYpZSC4jDk oCa7PiokJXywF7zQkk1IJ/hlIvgBN5DFKrGOZ1yROpGPw9lI2Guxq12bEbUDFw3F2rLx FzURYYNL3x9XpC1wYU88G9ikbkl1xqTh0Df+6NnJGjOHQdZpawCmH2bw1KlL2IU+g1Jg FbcoZ2KJX2yFkdEvTEjspaoXG903ZfJdUpY6+LyTaMVIQo/2YkcdftA8gnWgmMOL7bzs DeyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793361496; x=1793966296; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :content-type:reply-to:x-original-authentication-results :x-original-sender:feedback-id:mime-version:message-id:date:subject :cc:to:from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aZag5wHo16etso/chqxd1VllgHKl1RcUuUSfvbP4v3I=; b=GLDDHMIK+9ppmoUylnAzwitoB4UZ5ZrG8Jb4s8pdKHjSJEoZPRIj5e2EIWDcCd6akH H9Yc9eeEfLDY1QLHu7myP/C/t846Q5e6mtxiVLAM9mHn4P5eKYE1OfyE+2qRbcnCUSGZ cYoW9h5wQwm3WhJGqUhqSb4JlXywuHoRGosxz3gzxz+hyFXd5Ni5bRQjMdkK4Lin0XnX Fzi5iBXeNmFLCSIjJPe9SMyBLmJaxOwMvra0lxzqKglYYg9TUH5HM2lq6NHqbZfEpBuC nmK9CNMn23gSDe0VsWIcRCmIZzTbu+fTcdFoG3pon8v7B/Bh2kVqMQ1FZu4pq3ZJriDE XHCQ== X-Forwarded-Encrypted: i=2; AKwUvBxv/edeShUZDpoJvBUuPn4f4aFVn6m2H7CBV3Zdv1cX0aj+ZEGe3gkNL6Xo7Nyc7ZRwvWufYwI=@isar-build.org X-Gm-Message-State: AFq9FYLWJdXEQ88Dgd1lJaCmZhCQEVwH/QnO7aDflzSGOcFQmeF3eymG zmhwOjTxRMDTiAf3CZ7HXX8RihwEK3ga5pLDQY3sjduKT6AmBWvf/TUo X-Received: by 2002:a05:7022:3a02:b0:169:bef5:f445 with SMTP id a92af1059eb24-1ac55774bf9mr2906944c88.4.1793361495645; Fri, 30 Oct 2026 04:58:15 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ATskLdd8coWe4QF4+IpDCynXQkrWf2caSRZVeBWo8urBlCMoxQ==" Received: by 2002:a05:701b:241c:b0:1a6:54ff:9e98 with SMTP id a92af1059eb24-1abd1a31617ls885447c88.1.-pod-prod-09-us; Fri, 30 Oct 2026 04:58:14 -0700 (PDT) X-Received: by 2002:a05:701b:450e:10b0:14c:637d:682d with SMTP id a92af1059eb24-1ac5d69f6a1mr2704103c88.43.1793361494135; Fri, 30 Oct 2026 04:58:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793361494; cv=none; d=google.com; s=arc-20260327; b=exAHR/QpMhei6AsRe/2tLfmUa5f2iCmFVFY7BO2I0VTxstXaXyQirUafuQI7lP1bF1 yuGpXo/z64d445amUHEBhwquhTS9tCFpHAPWOGdtlIt3y9qYqKs4NXLSIRrHlQ0e7/3b E/2hhn/WQTwoRNnMFbF2WRUT88SUV773eWFO9vor8s4IzyZPhs6T6AcI1Z9a5t83tgZZ 9i/vLroZkmbYq2T2pPKdHCYpDba/b+4oN1UGzNbnejN9CTuKUVjJT58GISKjFdVi3h3d MXZ6IjBo/FeLCa529Cr0IJ2vtqfOEVfx7QgoGID/1gURyE0l1EonO4BYfRQwgboshNak thow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=EBbYBRB9a94fZw14+e2ZJahFaZ+OmtzD4qrjroIluMQ=; fh=AqT8zD6jUs4YP+XkSwmnbRYu3wrat9Vyg/xvm1MGQCM=; b=F0bEOPWGb4jKAvck8aatXLRxlcvZPoWpnblIZIPFBNeNMGYa2DAibpjsC2/mUtyipG Snz8KlwkGobiNPEouxRyHj5gdJSoxnGr0PKOS69beyi640OkJIL8nBkYobBe2K2fvd/J uUs7oMTJRctgBCNC2tNRFwZa/3b2y5GmurlONSa1yII1Hohb1rbk5D1/GrSFkdokRpM/ Idly0mORgeejpSXhgRUB7Tu6ZSD2lQ7QUT19oEhOemCOIW6d0HCDP7u8GE3q5kFo4JQc 3ge8eRBOqWIFoyLKqVPwnxS/ZqdFhUyD5a4yRbdKdXT1b7jcEqjsKsDtYEBNdZrESVGa F7vw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=GgaL65KY; spf=pass (google.com: domain of fm-1047747-2026103011580916029b7b19000207df-7apbcx@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1047747-2026103011580916029b7b19000207df-7ApbcX@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 a92af1059eb24-1ac177c97acsi53952c88.4.2026.10.30.04.58.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 30 Oct 2026 04:58:14 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1047747-2026103011580916029b7b19000207df-7apbcx@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 2026103011580916029b7b19000207df for ; Fri, 30 Oct 2026 12:58:09 +0100 X-Patchwork-Original-From: "'Clara Kowalsky' via isar-users" From: Clara Kowalsky To: isar-users@googlegroups.com Cc: Clara Kowalsky Subject: [PATCH] imagetypes_vm: add support for standalone VMDK images Date: Fri, 30 Oct 2026 12:57:57 +0100 Message-ID: <20261030115757.25391-1-clara.kowalsky@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1047747:519-21489:flowmailer X-Original-Sender: clara.kowalsky@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=GgaL65KY; spf=pass (google.com: domain of fm-1047747-2026103011580916029b7b19000207df-7apbcx@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1047747-2026103011580916029b7b19000207df-7ApbcX@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Clara Kowalsky Reply-To: Clara Kowalsky 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?= Commit 48c1aee5e797 ("imagetypes_vm: clean up intermediate ova artifacts") removes the VMDK after assembling the OVA. Some use cases require only a VMDK, both VMDK and OVA, or only OVA. With this change, it is possible to set: - IMAGE_FSTYPES = "vmdk" to generate the VMDK without OVA packaging - IMAGE_FSTYPES = "vmdk ova.zst" to generate both. In that case, OVA depends on the VMDK task and reuses its output without converting the disk again - IMAGE_FSTYPES = "ova.zst" to build just the OVA and clean up the intermediate artifacts Signed-off-by: Clara Kowalsky --- doc/user_manual.md | 1 + meta/classes-recipe/imagetypes_vm.bbclass | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/user_manual.md b/doc/user_manual.md index 09ac080b..199eb931 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -540,6 +540,7 @@ Currently, the following image types are provided: - `wic` - full disk image with user-specified partitions created and populated using the wic tool - `ubi` - image for use on mtd nand partitions employing UBI - `ubifs` - raw UBI filesystem image, normally used together with UBI partitions + - `vmdk` - virtual machine disk image - `ova` - Open Virtual Appliance: image for use on VirtualBox or VMware - `wsl` - tar file for Windows Subsystem for Linux - `squashfs` - raw squashfs filesystem image diff --git a/meta/classes-recipe/imagetypes_vm.bbclass b/meta/classes-recipe/imagetypes_vm.bbclass index fd4e97ed..b1be5605 100644 --- a/meta/classes-recipe/imagetypes_vm.bbclass +++ b/meta/classes-recipe/imagetypes_vm.bbclass @@ -8,9 +8,13 @@ FILESEXTRAPATHS:prepend = "${LAYERDIR_core}/recipes-core/images:" OVF_TEMPLATE_FILE ?= "virtualbox/vm-img-virtualbox.ovf.tmpl" IMAGE_SRC_URI:ova = "file://${OVF_TEMPLATE_FILE}" -IMAGE_TYPEDEP:ova = "wic" +IMAGE_TYPEDEP:ova = "${@bb.utils.contains('IMAGE_FSTYPES', 'vmdk', 'vmdk', 'wic', d)}" IMAGER_INSTALL:ova += "qemu-utils gawk uuid-runtime" +IMAGE_TYPEDEP:vmdk = "wic" +IMAGER_INSTALL:vmdk += "qemu-utils" +IMAGE_CMD:vmdk = "${convert_wic}" + # virtual machine disk settings SOURCE_IMAGE_FILE ?= "${IMAGE_FULLNAME}.wic" @@ -19,7 +23,9 @@ SOURCE_IMAGE_FILE ?= "${IMAGE_FULLNAME}.wic" VMDK_SUBFORMAT ?= "monolithicSparse" VIRTUAL_MACHINE_IMAGE_TYPE ?= "vmdk" -VIRTUAL_MACHINE_IMAGE_FILE = "${IMAGE_FULLNAME}-disk001.${VIRTUAL_MACHINE_IMAGE_TYPE}" +VIRTUAL_MACHINE_IMAGE_FILE = "${IMAGE_FULLNAME}${@bb.utils.contains('IMAGE_FSTYPES', 'vmdk', '', '-disk001', d)}.${VIRTUAL_MACHINE_IMAGE_TYPE}" +VIRTUAL_MACHINE_IMAGE_TYPE:vmdk = "vmdk" +VIRTUAL_MACHINE_IMAGE_FILE:vmdk = "${IMAGE_FULLNAME}.vmdk" VIRTUAL_MACHINE_DISK = "${PP_DEPLOY}/${VIRTUAL_MACHINE_IMAGE_FILE}" def set_convert_options(d): @@ -66,7 +72,7 @@ OVA_VARS = "OVA_NAME OVA_MEMORY OVA_NUMBER_OF_CPU OVA_VRAM \ IMAGE_TEMPLATE_FILES:ova = "${OVF_TEMPLATE_FILE}" IMAGE_TEMPLATE_VARS:ova = "${OVA_VARS}" -do_image_ova[prefuncs] += "convert_wic" +do_image_ova[prefuncs] += "${@bb.utils.contains('IMAGE_FSTYPES', 'vmdk', '', 'convert_wic', d)}" IMAGE_CMD:ova() { if [ ! ${VIRTUAL_MACHINE_IMAGE_TYPE} = "vmdk" ]; then exit 0 @@ -96,7 +102,9 @@ IMAGE_CMD:ova() { tar -uvf ${PP_DEPLOY}/${IMAGE_FULLNAME}.ova -C ${PP_DEPLOY} ${VIRTUAL_MACHINE_IMAGE_FILE} rm -f '${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.mf' rm -f '${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.ovf' - rm -f '${DEPLOY_DIR_IMAGE}/${VIRTUAL_MACHINE_IMAGE_FILE}' + if [ "${@bb.utils.contains('IMAGE_FSTYPES', 'vmdk', '1', '0', d)}" = "0" ]; then + rm -f '${DEPLOY_DIR_IMAGE}/${VIRTUAL_MACHINE_IMAGE_FILE}' + fi EOIMAGER } IMAGE_CMD:ova[depends] = "${PN}:do_transform_template"