From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 24D871FF0ED for ; Sat, 24 Oct 2026 06:59:15 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 8A8832169B; Sat, 24 Oct 2026 06:59:05 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; t=1792817935; cv=none; d=google.com; s=arc-20260327; b=a822RiudWLqAOZ+eUuufGFtjKXs7mGTtUSV/7WKVttNg4VHZ8e2pK4UJOnTEEfCiIN rwD9MA3TE8dAvR+YBItP00PTO1Nib2S5omIfly8CfI/b7LAjePq4wAbM6DkB7avAbo4U mKvQdOKYxPddMX1jJHCg4761FtB6/yB6HWQQeTIQEkIHxcQpYlOkvMdzDxTgfWakghLf PtaYLwhKGB+052L/1qluStcUXN9JPBbhmHAucuhtK5eV0NEto19K+qYrZdeT9a7YRtG5 /ILb8nLviwcMa0CYQ5ons7ETUshzqaoNodBUlZ2uAYW9M+yRHlo/m9kzjSJph9A7NDgP +c5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:to:subject:message-id:date:references :in-reply-to:from:mime-version:dkim-signature; bh=ki0vhAntOQrg4V27kQkOe9ldZrC7+18YAqDGwyAqco4=; fh=qUdnlOw4HMavIAa4vJfUpEe/QUA6LBLHlg5B+iT7exQ=; b=OFA2MNeNtD4+RiFloDDDa7C4kN1SWTnLr4aHbCVB3cVsZIPUxmU2ZK/HtXjaA9lcoD nrKbGJnJv7YjcCCOU+eO0MaUTru3BBSFKmQZjz4E3igRNpfZkBvahHS3sDuLlX03Tfz9 NFhPJOIjInBaYo9qG57ZQTYWJFpxk6cP9uyt0ZqUu0HWz8xqKltD8Ok0LeXI9NmMlCUd UY8MOOTatWJQT3PipWJV0hk5yt8r7tJk6IYG8CBk48K1L3cERYEyS3QBFck9M5FCm1Pe +cKrx06tcfAvcPIXY7ETMEt17ThOOixcpZnoiuAHFz4HFQLHeyLtIkHUktO8VGfs2FO4 DX4g==; darn=lists.proxmox.com ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792817935; x=1793422735; darn=lists.proxmox.com; h=content-transfer-encoding:content-type:to:subject:message-id:date :references:in-reply-to:from:mime-version:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ki0vhAntOQrg4V27kQkOe9ldZrC7+18YAqDGwyAqco4=; b=bhpmuFxi1i0fisJ7xKV1xWWTJjzF26Lm3oErQPMXqyLchVFGGa5mBACk+2Ece6mOG8 IqL55KM26Fw3fUL+gqfpNkzkb9SLYUoA5cJSHfxYPMkA+iqnRPva2VPLK7kSrV2jrKsp GUCwY5RoDtKz1/PpNe19oBOrpfwzELy+qhIn23xR7Or8X9vk/gh9p44TxQe6a8Eyu5kt wacohJMqGWCgemSQjpCiHj7wK1uuK67QJcNw1b3x/NzWS1MdtGUH/owsMkRJi7YGP5U9 4NElJ2MrEK0Et1XRjYRQDITgiNuxYIvJXpF5R552a1hRzjEXms5sYPdAG6xUwzmzq518 isMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792817935; x=1793422735; h=content-transfer-encoding:content-type:to:subject:message-id:date :references:in-reply-to:from:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to:content-type; bh=ki0vhAntOQrg4V27kQkOe9ldZrC7+18YAqDGwyAqco4=; b=hTKW7Tx2aZNK4+flCLTfb0wzKiGpUdiJGx4pwaOVlpE7sviDYJkSNu9aa0CKPAqnnV Hxhe1xzsr9j41VVL+zVAz7IRl+wlCXZ4LOOje5ML7ZNsNgSjh2P95hAPFTht1P4vq0S7 EVb5J4kq2FpbsFNEVkzh7MkgIYwxgPAMkswFeuMFMLqivNXRPXn8d9hf4n+srmwJ9E3a zDKtr4GprK1lFmT3PnD0uoDKRkkol6/Cxk0n+5rtMHEZiU3GlJeyBlFLIajOdfnXxcvF QPVu1FYVvUNUOFUT9kiJMZLpjpjGw780qSARhOa7gfu+P7PsOPQ8wkZSZwx7T4MZXPdx A9VA== X-Gm-Message-State: AFq9FYJfo3gIMv7D+R0bpZkEPCGAelqm5P7aLFv6rf3Idj/BKOGHnOFT sduCSgcF48BtPa6+Y9aYIPsxkUm930g4QDSa5JXcVTWZgRiwwDMLV1EJDamvgcmVZnsRQt6OGC2 ZsIiL0WONg31WXrX6H0hoQ4fft+vApVFGZg== X-Gm-Gg: AYBFou3sC0Ly1MqVyayHmdCAj/qy1eZh8u9aFy+5e2yfXQWRBOI7oAMP1KZKcq0JCg0 KVlg5FPZIuetgpvRCHKm2B9MR+fE2SgMXfpadYH4c4PdgQVVP/e9RgDlYr+YP1THpwJX4mglLyn 7KEHQDQiTuvZeEr1d3JHcmSdUTybDOeShdu+rKQOK65txTbtBaHUtXB65pm+BkPob6rpQK7109K W7WooZsf30ZhE4LveHjP858dpB9vNzsqY1ja5yHRqugTm14TlaW7hEo3Paze0Xyi4Nr6Nm26foq Gqo4QhlJfYNNWrkInoiaagl6QtQVIdb+D/oD2cDDU2sNTkJH+5/MaUTzaSiYsG5/B5Z78TkfVFf vp8N4JbzP8CmS6dolmtmPvmAJSs0PBVSvDA== X-Received: by 2002:a05:6402:548e:b0:6b4:1629:b1a0 with SMTP id 4fb4d7f45d1cf-6b442a87d1dmr1378229a12.6.1792817934645; Fri, 23 Oct 2026 21:58:54 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?B?57WQ5Y+L?= In-Reply-To: References: Date: Fri, 23 Oct 2026 21:58:54 -0700 X-Gm-Features: AclHuK-4TQHYN9eq9o9f289uvPUBRt6U7ATnuRQt8zQcR7z3zNEJ2x8jGKng-Nk Message-ID: Subject: [PATCH pve-kernel 2/2] fix #8027: config: enable CONFIG_HYPERV_VMBUS To: pve-devel@lists.proxmox.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-SPAM-LEVEL: Spam detection results: 0 AWL 0.300 Adjusted score from AWL reputation of From: address DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_PASS -0.1 DMARC pass policy FREEMAIL_FROM 0.001 Sender email is commonly abused enduser mail provider RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 2FDIWJUV3QVMQEI6ZTGKV4CQFD6W5SQ5 X-Message-ID-Hash: 2FDIWJUV3QVMQEI6ZTGKV4CQFD6W5SQ5 X-MailFrom: miagetegorann@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Linux 6.18 split the Hyper-V guest support options: CONFIG_HYPERV became a plain bool covering only the core hypervisor support, and the VMBus bus driver moved to the new tristate CONFIG_HYPERV_VMBUS: -obj-$(CONFIG_HYPERV) +=3D hv_vmbus.o +obj-$(CONFIG_HYPERV_VMBUS) +=3D hv_vmbus.o (upstream 94b04355e639 ("Drivers: hv: Add CONFIG_HYPERV_VMBUS option") and e3ec97c3abaf ("Drivers: hv: Make CONFIG_HYPERV bool")) So the `-e CONFIG_HYPERV` added in ef257cb ("config: enable CONFIG_HYPERV") does not build the VMBus driver into the kernel anymore. CONFIG_HYPERV_VMBU= S does default to HYPERV, but the Ubuntu config sets it to 'm' explicitly and olddefconfig keeps that. proxmox-kernel-6.17.13-21-pve accordingly still lists kernel/drivers/hv/hv_vmbus.ko in modules.builtin, while 7.0.2-6-pve and 7.0.14-25-pve ship it as a module. That breaks installing Proxmox VE in a Hyper-V Generation 2 VM, where the storage controller is a VMBus device: VMBus devices only appear in sysfs once hv_vmbus has been probed. The installer initrd collects the list of /sys/devices/**/modalias once, before loading the modules discovered through those aliases. It loads hv_vmbus through the ACPI VMBus node, but never sees the vmbus: aliases of its children. hv_storvsc therefore stays unloaded, no /dev/sr0 shows up and the installation aborts with "no device with valid ISO found". Accordingly the 9.2 ISO fails, while the 9.1 one with its 6.17 kernel works. With hv_vmbus built in again, the VMBus children are already enumerated by the time the initrd runs, so that single modalias scan picks up hv_storvsc on its own. Record in the README why it has to be built in rather than modular. Signed-off-by: =E7=B5=90=E5=8F=8B --- README | 5 +++++ debian/rules.d/config-common.opts | 1 + 2 files changed, 6 insertions(+) diff --git a/README b/README index 00564c8..1a16bbb 100644 --- a/README +++ b/README @@ -210,6 +210,11 @@ NOTE: For the exact and current list see debian/rules (PVE_CONFIG_OPTS) - enable INTEL_MEI_WDT=3Dm (to allow disabling via patch) +- enable CONFIG_HYPERV and CONFIG_HYPERV_VMBUS=3Dy + hv_vmbus has to be built in, otherwise VMBus devices are not enumerated = in + time for the installer initrd's single modalias scan and installing in a + Hyper-V Generation 2 VM fails to find its storage controller (#8027) + - disable CONFIG_SND_PCM_OSS (enabled by default in Ubuntu, not needed) - switch CONFIG_TRANSPARENT_HUGEPAGE to MADVISE from ALWAYS diff --git a/debian/rules.d/config-common.opts b/debian/rules.d/config-common.opts index 64505b4..56907e5 100644 --- a/debian/rules.d/config-common.opts +++ b/debian/rules.d/config-common.opts @@ -35,6 +35,7 @@ -e CONFIG_MEMCG_SWAP_ENABLED -e CONFIG_MEMCG_V1 -e CONFIG_HYPERV +-e CONFIG_HYPERV_VMBUS -m CONFIG_VFIO_IOMMU_TYPE1 -e CONFIG_VFIO_VIRQFD -m CONFIG_VFIO --=20 2.56.0.windows.1 On Fri, 23 Oct 2026 21:58:41 -0700, =E7=B5=90=E5=8F=8B wrote: > This series restores built-in VMBus support for the Proxmox VE installer > in Hyper-V Generation 2 guests. Linux 6.18 split HYPERV_VMBUS out of HYPE= RV; > the existing HYPERV=3Dy override therefore no longer makes hv_vmbus built= in. > The installer takes one snapshot of sysfs modalias paths, so the VMBus > storage children must be enumerated before that snapshot. > > Patch 1 fixes the ABI parser first: three namespaced VMBus exports would > otherwise be reported as missing when moved from hv_vmbus into vmlinux. > Patch 2 enables HYPERV_VMBUS=3Dy. Config-override cleanup and general bui= ld > validation changes are kept in a separate follow-up series. > > Validation of this exact two-commit submission: > - Generated patches apply with git am --whitespace=3Derror-all, with th= e > same resulting tree. Perl syntax and all 12 ABI regression tests pass= . > - Clean complete amd64 make deb succeeds for the fixed and modular > control builds in Debian trixie with rustc 1.94.1 and pahole 1.30. > CONFIG_RUST and BTF are enabled. Both have the same existing lintian > perf-bench man-page warning; no build or lintian errors. > - Strict fresh-build ABI checks (SKIPABI=3D0, empty blacklist) preserve= all > 32,726 symbols, CRCs, export types and namespaces. The fixed build ha= s > only the expected 47 VMBus provider moves into vmlinux. > - Gen2 A/B test: the fresh modular control reproduces ISO-not-found; > the fixed ISO auto-discovers storage on three cold boots, completes > installation, and passes three installed disk-only cold boots. > /init is unchanged and hv_storvsc is not manually preloaded. > - The installed image hash matches the build artifact. Storage I/O, > persistent data across cold boots, SSH/network, ZFS module loading > and PVE services pass on Gen2 and non-Hyper-V QEMU/KVM. > - QEMU/KVM also passes complete installation, two installed cold boots > and installation of the newly built headers and perf packages. > - Hyper-V Gen1 passes complete BIOS installation, two installed cold > boots, persistent disk I/O, networking and ZFS module loading. > - arm64: full native-emulated Debian package build and minimal QEMU > initramfs boot, virtio ext4 I/O and networking pass. > > Validation limits: > - No arm64 Hyper-V host was available. arm64 QEMU tests do not cover > Hyper-V on arm64 or a complete Proxmox VE arm64 installation. > - arm64 QEMU directly boots the verified packaged EFI zboot payload; > the EFI firmware entry path is not tested. There is no previous arm64 > ABI or firmware baseline in this repository, so those comparisons > were skipped by the standard build rules. > - Hyper-V tests used unsigned test kernels with Secure Boot disabled. > > Base: current pve-kernel master at 78f3d3e2f3ce28c51b80919bc3fc35a399ddb3= c7. > Bug: https://bugzilla.proxmox.com/show_bug.cgi?id=3D8027 > > =E7=B5=90=E5=8F=8B (2): > d/scripts: correctly compare namespaced ABI exports > fix #8027: config: enable CONFIG_HYPERV_VMBUS > > .gitignore | 1 + > README | 13 +++ > debian/rules.d/config-common.opts | 1 + > debian/scripts/abi-check | 56 +++++++++--- > debian/tests/test_abi_check.py | 140 ++++++++++++++++++++++++++++++ > 5 files changed, 198 insertions(+), 13 deletions(-) > create mode 100644 debian/tests/test_abi_check.py > > > base-commit: 78f3d3e2f3ce28c51b80919bc3fc35a399ddb3c7 > -- > 2.56.0.windows.1