From patchwork Mon Jul 6 11:46:02 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gourav Singh X-Patchwork-Id: 5218 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 06 Jul 2026 13:46:22 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-ed1-f59.google.com (mail-ed1-f59.google.com [209.85.208.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 666BkL4M000974 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 6 Jul 2026 13:46:21 +0200 Received: by mail-ed1-f59.google.com with SMTP id 4fb4d7f45d1cf-69843ac68d0sf2718521a12.3 for ; Mon, 06 Jul 2026 04:46:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1783338376; cv=pass; d=google.com; s=arc-20260327; b=GrJRJfuuRfSWzuowgjFx2n8xfK3ZFL91IQMsDaX5MxsCf79GL81Cq/kOb7K5DzJfUD kld+B8NAs5rtvfe6+eGQTNws4aZ6Eqj4ix61GsK/tTQ/tTZw75rNV5R57hKDeuoTCCMC zGxlI7JtrnSFo+iKkHyu4FCMdtC1uLyorGuuFuYTX3KZRXZApoySdgK95OGfgi538TFe Lg19+uIUWYNEX/YJWerU+2iHx6iYOCO+o2mgmrGHl6iVcreLi52eZhFIi65YGhxZvEFA MSJ22QL2dpVUyHWT8f9jvJxnW0CPjSRtdUQBK+5q7hyncTwerjcAOyIm3T6V4pzZQKFY Iv2w== 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=NICeMVHRzMiaH/4MTVWl5UQ4BFa48f70gFQTqhJ4Sqw=; fh=nCe6LNqH+e4B+ppE+IlIb4IXAW1aS1KffV+wdiLU4FI=; b=AKKLdfKk9LQMh879wA+VEvDMNVYPlAq/2a3fwNLJ8KYU8vYJEqasvEfJrL5ou5CESA lyC3BGMxQLNT7vU5nixN/nYJh42QRE2eMCl0VNCT9B0wPuKwIP0FIUytDblRI4Akgf6r oYZq/SD/D7T0M4/q8mDS9cTCgh+OzVVWjsrqzGSvFV6a5VonubrhOdw1UjrwFe1my4TO 4FXxNSyVfUWLdOBcYrp7J6WIfwIxOrYovA8gVXEdUAgz6+i07qKcGWrcUgWzNXtt8SQj FFMiXrSHH0gMBExs2R1UD7Mn5OhmkugJI+SjYFF5DzdZkNhjfIonUvxGbw7EPGyE6gjj G9kA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=wFOXtv3k; spf=pass (google.com: domain of fm-1333022-202607061146111450f2f833000207c9-lqukiy@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1333022-202607061146111450f2f833000207c9-LQuKiy@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=20251104; t=1783338376; x=1783943176; 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:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=NICeMVHRzMiaH/4MTVWl5UQ4BFa48f70gFQTqhJ4Sqw=; b=FYTWau9om6p17QCbHO5EL0ynSOhQk/LFCzWrMe+ykhcNerwSq7GFum0zW9GfOocSM3 OxZCxelD5xelh4x5OelV9NgyLx3RbnKA3GhctPIh6tUYZIbyOLiLurhP472Z9Bv5w7Nn xlgTtZrqOSbTf9DUqyhsewSmYUEaPneG8rXoNPO/CFt3CV11iw6t5xLhWdldn/LPE7vl ZArd5/VkWc61Fg8FcRujzYt2qMXZ5LbdGrcmtvKv32NK3TkoF7XRAkxpXH9pvjxt/XV8 JG09dIkunMroxmV/+iUnRyPTpdwDWi00rITVClUJR7dKHwn88ktlLHVmvK94YmRIpRDW zvfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783338376; x=1783943176; 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:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NICeMVHRzMiaH/4MTVWl5UQ4BFa48f70gFQTqhJ4Sqw=; b=f/+hPGzbURXxdwK/LnYwPUB+ufIry+lXRTuA1+W13y1uFFGzRfPbKw65wQZUtkyWAV hgEaSWI0yMT2si4nCr9J+eV7dvByU2EJ0Bruje01q8gIsSsAxBwR1y7fZPvFe4i1aTgw gCO+gT662vOgt1kLXkLOPpMqiEYobrYSi7mvrtYrlkdreDPkJOC3xBS9x0nGI49BQ9az NLXxYTWopF1k8I8f1jdmUqYsZejvRXNqgpIAyvKflJLdlIJCw5UAWBDtAkRCxdpV8V3G 5qt12KZy40o4fuzpUU7Dj+dXoxWXiLkOCbBKNNtLyZDKLCiMoZuDuAiNAf9KG7qLY9oU pLsA== X-Forwarded-Encrypted: i=2; AHgh+RqF1iFYWvyHDDt9Fy8GwNSs8Bn0cCDjbPoeHgfgxWyO0ns7ackngaF3Y58fPOqopYdEzwP8jMs=@isar-build.org X-Gm-Message-State: AOJu0YwfX9MXvSj20cg4O/XuEBu5+HO/ykBHj0Z4PVIpyJO+NmhQWrQD mftxFvsmI8z80CocIfxfTiMeZ1wAqgamBcSfu6yIcRyPKnB2QRPdqnjL X-Received: by 2002:aa7:d58b:0:b0:698:4a62:a297 with SMTP id 4fb4d7f45d1cf-69a85692ed5mr104704a12.17.1783338375533; Mon, 06 Jul 2026 04:46:15 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUf4JHacNcfRh5WS4r+F8L2KFOPokJKVaj3NnySnHi3IbQ==" Received: by 2002:a05:6402:3815:b0:68d:e3a9:fde0 with SMTP id 4fb4d7f45d1cf-699ed7fce56ls2217257a12.0.-pod-prod-04-eu; Mon, 06 Jul 2026 04:46:12 -0700 (PDT) X-Received: by 2002:a05:6402:358b:b0:698:3b7c:7e54 with SMTP id 4fb4d7f45d1cf-69a85bf0588mr152730a12.32.1783338372547; Mon, 06 Jul 2026 04:46:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783338372; cv=none; d=google.com; s=arc-20260327; b=cHLCCM6MWzC4y1KLvQeR2yoyePaibdcqs89c5LJWA1S6cEifcECyyv80/i//OYMArw AX7fxOywGGA7d4h332KmFzDc+O6AH7PSCSLDJdNfHGTCsyohrbN5m68SFsl0HpClh3nW v3e0/oy4qAmPLJw3T3bdQzpGmvXInwuVWfc25VvaDTIsTUHG7oqRsBfVB8rRo4i1WAuf paaZSB9fSgD3XNA6ZED1rMKldCDv8rUAsjhOLMM73WKFfyj/kO3nX+jsKYCgNWesU0dB Kv5GQmFX08yeXSSjErhT6UYuBlbqIwO1Vf+Oa/90bWk8688AzQNr1QxKDH0rN/jroriN OsAw== 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=+Yf6vuTogLOBv0k21CWncSPeHEdRm0q8UjABc4VT/Js=; fh=gz0ZrJn6x76gX3XefOAliLWTyygDYYdGT/FXhQYr+zo=; b=dWWLsUARd9GryD6OdUSMORSRNm9FYr8BzqNow5Xe/PZchTq97nHdS53BArJ8PxH8ib 6QfW1Eq72XkemIa2scVTPduvwi4+kYV/GPxWF/OqHMxkgdlwhTdJ5lsPNYp/pQE90AD5 /XUtUMriF8Vgw/2AB+2pjgthv0CxMf4H3kTVsg5cfb3wITiYChYKCqEfxiutR4//4Aiq gcNv49qib9yxCWzFX5VGkZp1QHiVmhU/TWyjKAsV3YLnBKoIJXkTmo4zjG2BGylxWJVT NcBPNJYFI0qVl9BeWrt9prw2LM4Y9iYADk2QKyiyPZ0wXv04ScqLy8aaOtzqN1ErWXpF /A/g==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=wFOXtv3k; spf=pass (google.com: domain of fm-1333022-202607061146111450f2f833000207c9-lqukiy@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1333022-202607061146111450f2f833000207c9-LQuKiy@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 4fb4d7f45d1cf-69a19da9823si156371a12.8.2026.07.06.04.46.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Jul 2026 04:46:12 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1333022-202607061146111450f2f833000207c9-lqukiy@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 202607061146111450f2f833000207c9 for ; Mon, 06 Jul 2026 13:46:11 +0200 X-Patchwork-Original-From: "'Gourav Singh' via isar-users" From: Gourav Singh To: isar-users@googlegroups.com Cc: Gourav Singh Subject: [PATCH] feat: add support for hyper-v virtual machine Date: Mon, 6 Jul 2026 17:16:02 +0530 Message-Id: <20260706114602.2309505-1-gouravsingh@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1333022:519-21489:flowmailer X-Original-Sender: gouravsingh@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=wFOXtv3k; spf=pass (google.com: domain of fm-1333022-202607061146111450f2f833000207c9-lqukiy@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1333022-202607061146111450f2f833000207c9-LQuKiy@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Gourav Singh Reply-To: Gourav Singh 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?= Introduce a new `hyper-v` machine targeting Microsoft Hyper-V virtual machines on amd64. The machine uses WIC with an EFI partition layout, GRUB as the bootloader, and produces a `.vhdx` disk image alongside the `.wic` image. Add Kconfig entry, kas machine yaml, machine config, and multiconfig files for bullseye, bookworm, and trixie. Register the new multiconfigs in mc.conf and document the addition in RECIPE-API-CHANGELOG.md. Signed-off-by: Gourav Singh --- RECIPE-API-CHANGELOG.md | 24 +++++++++++++++++++ kas/machine/Kconfig | 9 +++++++ kas/machine/hyper-v.yaml | 7 ++++++ meta-isar/conf/machine/hyper-v.conf | 16 +++++++++++++ meta-isar/conf/mc.conf | 3 +++ .../conf/multiconfig/hyper-v-bookworm.conf | 7 ++++++ .../conf/multiconfig/hyper-v-bullseye.conf | 7 ++++++ .../conf/multiconfig/hyper-v-trixie.conf | 7 ++++++ 8 files changed, 80 insertions(+) create mode 100644 kas/machine/hyper-v.yaml create mode 100644 meta-isar/conf/machine/hyper-v.conf create mode 100644 meta-isar/conf/multiconfig/hyper-v-bookworm.conf create mode 100644 meta-isar/conf/multiconfig/hyper-v-bullseye.conf create mode 100644 meta-isar/conf/multiconfig/hyper-v-trixie.conf diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 5d2514c0..3c70d681 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -1087,3 +1087,27 @@ and `arch=all` binary packages). Recipes for such mixed packages should append `PROVIDES="foo-doc-archall"` for an `arch=all` binary package `foo-doc`). Consumers can then simply reference the package by its original name (e.g., `foo-doc`). + +### Add Hyper-V machine support + +A new machine `hyper-v` has been introduced for building images +targeting Microsoft Hyper-V virtual machines on amd64. + +The machine produces a `.vhdx` disk image using the WIC image type +and GRUB as the bootloader. It supports the following Debian codenames: + +- `bullseye` +- `bookworm` +- `trixie` + +To build a Hyper-V image: + +```bash +./kas/kas-container --ssh-dir ~/.ssh/ menu +``` + +- Select machine: `hyper-v` +- Select distro and image type + +The output `.vhdx` file will be placed in `DEPLOY_DIR_IMAGE` alongside +the `.wic` image. diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig index 6151716a..9bfdee38 100644 --- a/kas/machine/Kconfig +++ b/kas/machine/Kconfig @@ -237,6 +237,14 @@ config MACHINE_VMWARE select CODENAME_BULLSEYE select ARCH_AMD64 +config MACHINE_HYPER_V + bool "hyper-v" + select DISTRO_DEBIAN + select CODENAME_BULLSEYE + select CODENAME_BOOKWORM + select CODENAME_TRIXIE + select ARCH_AMD64 + config MACHINE_X86_PC bool "x86 PC" select DISTRO_DEBIAN @@ -280,6 +288,7 @@ config KAS_INCLUDE_MACHINE default "kas/machine/stm32mp15x.yaml" if MACHINE_STM32MP15X default "kas/machine/virtualbox.yaml" if MACHINE_VIRTUALBOX default "kas/machine/vmware.yaml" if MACHINE_VMWARE + default "kas/machine/hyper-v.yaml" if MACHINE_HYPER_V default "kas/machine/x86-pc.yaml" if MACHINE_X86_PC endmenu diff --git a/kas/machine/hyper-v.yaml b/kas/machine/hyper-v.yaml new file mode 100644 index 00000000..e7ff1dc5 --- /dev/null +++ b/kas/machine/hyper-v.yaml @@ -0,0 +1,7 @@ +# This software is a part of ISAR. +# Copyright (C) 2026 ilbers GmbH + +header: + version: 14 + +machine: hyper-v diff --git a/meta-isar/conf/machine/hyper-v.conf b/meta-isar/conf/machine/hyper-v.conf new file mode 100644 index 00000000..e43483cd --- /dev/null +++ b/meta-isar/conf/machine/hyper-v.conf @@ -0,0 +1,16 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +DISTRO_ARCH ?= "amd64" + +KERNEL_NAME ?= "amd64" + +WKS_FILE ?= "sdimage-efi" + +IMAGER_INSTALL:wic += "${GRUB_BOOTLOADER_INSTALL}" + +IMAGE_FSTYPES ?= "ova" +VMDK_SUBFORMAT = "monolithicSparse" +VIRTUAL_MACHINE_IMAGE_TYPE = "vhdx" diff --git a/meta-isar/conf/mc.conf b/meta-isar/conf/mc.conf index 6c7d7840..77118996 100644 --- a/meta-isar/conf/mc.conf +++ b/meta-isar/conf/mc.conf @@ -45,6 +45,9 @@ BBMULTICONFIG = " \ hikey-bullseye \ hikey-bookworm \ hikey-trixie \ + hyper-v-bullseye \ + hyper-v-bookworm \ + hyper-v-trixie \ phyboard-mira-bullseye \ phyboard-mira-bookworm \ phyboard-mira-trixie \ diff --git a/meta-isar/conf/multiconfig/hyper-v-bookworm.conf b/meta-isar/conf/multiconfig/hyper-v-bookworm.conf new file mode 100644 index 00000000..0b52d69f --- /dev/null +++ b/meta-isar/conf/multiconfig/hyper-v-bookworm.conf @@ -0,0 +1,7 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +MACHINE ?= "hyper-v" +DISTRO ?= "debian-bookworm" diff --git a/meta-isar/conf/multiconfig/hyper-v-bullseye.conf b/meta-isar/conf/multiconfig/hyper-v-bullseye.conf new file mode 100644 index 00000000..9dfbbd43 --- /dev/null +++ b/meta-isar/conf/multiconfig/hyper-v-bullseye.conf @@ -0,0 +1,7 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +MACHINE ?= "hyper-v" +DISTRO ?= "debian-bullseye" diff --git a/meta-isar/conf/multiconfig/hyper-v-trixie.conf b/meta-isar/conf/multiconfig/hyper-v-trixie.conf new file mode 100644 index 00000000..c6299582 --- /dev/null +++ b/meta-isar/conf/multiconfig/hyper-v-trixie.conf @@ -0,0 +1,7 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +MACHINE ?= "hyper-v" +DISTRO ?= "debian-trixie"