public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "'Gourav Singh' via isar-users" <isar-users@googlegroups.com>
To: isar-users@googlegroups.com
Cc: felix.moessbauer@siemens.com, Gourav Singh <gouravsingh@siemens.com>
Subject: [PATCH v2 1/1] feat: add support for hyper-v virtual machine
Date: Tue,  7 Jul 2026 16:22:21 +0530	[thread overview]
Message-ID: <20260707105221.2338471-2-gouravsingh@siemens.com> (raw)
In-Reply-To: <20260707105221.2338471-1-gouravsingh@siemens.com>

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 via the ova
image type, which depends on wic as an intermediate build artifact.

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 <gouravsingh@siemens.com>
---
 RECIPE-API-CHANGELOG.md                          |  9 +++++++++
 kas/machine/Kconfig                              |  9 +++++++++
 kas/machine/hyper-v-amd64.yaml                   |  9 +++++++++
 meta-isar/conf/machine/hyper-v-amd64.conf        | 16 ++++++++++++++++
 meta-isar/conf/mc.conf                           |  3 +++
 .../conf/multiconfig/hyper-v-amd64-bookworm.conf |  7 +++++++
 .../conf/multiconfig/hyper-v-amd64-bullseye.conf |  7 +++++++
 .../conf/multiconfig/hyper-v-amd64-trixie.conf   |  7 +++++++
 8 files changed, 67 insertions(+)
 create mode 100644 kas/machine/hyper-v-amd64.yaml
 create mode 100644 meta-isar/conf/machine/hyper-v-amd64.conf
 create mode 100644 meta-isar/conf/multiconfig/hyper-v-amd64-bookworm.conf
 create mode 100644 meta-isar/conf/multiconfig/hyper-v-amd64-bullseye.conf
 create mode 100644 meta-isar/conf/multiconfig/hyper-v-amd64-trixie.conf

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index 5d2514c0..931dc95b 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -1087,3 +1087,12 @@ 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 Debian bullseye, bookworm
+and trixie.
diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig
index 6151716a..e6ef5101 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-amd64"
+	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-amd64.yaml" if MACHINE_HYPER_V
 	default "kas/machine/x86-pc.yaml" if MACHINE_X86_PC

 endmenu
diff --git a/kas/machine/hyper-v-amd64.yaml b/kas/machine/hyper-v-amd64.yaml
new file mode 100644
index 00000000..032d9a77
--- /dev/null
+++ b/kas/machine/hyper-v-amd64.yaml
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) Siemens AG, 2026
+#
+# SPDX-License-Identifier: MIT
+
+header:
+  version: 14
+
+machine: hyper-v-amd64
diff --git a/meta-isar/conf/machine/hyper-v-amd64.conf b/meta-isar/conf/machine/hyper-v-amd64.conf
new file mode 100644
index 00000000..68c550d1
--- /dev/null
+++ b/meta-isar/conf/machine/hyper-v-amd64.conf
@@ -0,0 +1,16 @@
+# This software is a part of Isar.
+# Copyright (C) Siemens AG, 2026
+#
+# 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..69ed18ec 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-amd64-bullseye \
+    hyper-v-amd64-bookworm \
+    hyper-v-amd64-trixie \
     phyboard-mira-bullseye \
     phyboard-mira-bookworm \
     phyboard-mira-trixie \
diff --git a/meta-isar/conf/multiconfig/hyper-v-amd64-bookworm.conf b/meta-isar/conf/multiconfig/hyper-v-amd64-bookworm.conf
new file mode 100644
index 00000000..b5673d8a
--- /dev/null
+++ b/meta-isar/conf/multiconfig/hyper-v-amd64-bookworm.conf
@@ -0,0 +1,7 @@
+# This software is a part of Isar.
+# Copyright (C) Siemens AG, 2026
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "hyper-v-amd64"
+DISTRO ?= "debian-bookworm"
diff --git a/meta-isar/conf/multiconfig/hyper-v-amd64-bullseye.conf b/meta-isar/conf/multiconfig/hyper-v-amd64-bullseye.conf
new file mode 100644
index 00000000..c3185d5c
--- /dev/null
+++ b/meta-isar/conf/multiconfig/hyper-v-amd64-bullseye.conf
@@ -0,0 +1,7 @@
+# This software is a part of Isar.
+# Copyright (C) Siemens AG, 2026
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "hyper-v-amd64"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/hyper-v-amd64-trixie.conf b/meta-isar/conf/multiconfig/hyper-v-amd64-trixie.conf
new file mode 100644
index 00000000..eb25f1c5
--- /dev/null
+++ b/meta-isar/conf/multiconfig/hyper-v-amd64-trixie.conf
@@ -0,0 +1,7 @@
+# This software is a part of Isar.
+# Copyright (C) Siemens AG, 2026
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "hyper-v-amd64"
+DISTRO ?= "debian-trixie"
--
2.39.5

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260707105221.2338471-2-gouravsingh%40siemens.com.

  reply	other threads:[~2026-07-07 10:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-07 10:52 [PATCH v2 0/1] " 'Gourav Singh' via isar-users
2026-07-07 10:52 ` 'Gourav Singh' via isar-users [this message]
2026-07-17 14:05 ` Zhihang Wei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260707105221.2338471-2-gouravsingh@siemens.com \
    --to=isar-users@googlegroups.com \
    --cc=felix.moessbauer@siemens.com \
    --cc=gouravsingh@siemens.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox