|
|
|
|
@@ -377,7 +377,22 @@ spec:
|
|
|
|
|
firmware:
|
|
|
|
|
bootloader:
|
|
|
|
|
efi:
|
|
|
|
|
secureBoot: true
|
|
|
|
|
# 2026-05-08: SecureBoot=false during initial install. With SecureBoot
|
|
|
|
|
# enabled, OVMF's BdsDxe times out reading Boot0001 from the SCSI
|
|
|
|
|
# CDROM ("BdsDxe: failed to start Boot0001 ... Time out") before the
|
|
|
|
|
# EFI bootloader signature can verify against the OVMF VARS trust DB.
|
|
|
|
|
# KubeVirt's `/usr/share/OVMF/OVMF_VARS.secboot.fd` template doesn't
|
|
|
|
|
# appear to include the Microsoft KEK/DB by default, so signed
|
|
|
|
|
# Windows EFI bootloaders fail validation. Disabling SecureBoot lets
|
|
|
|
|
# OVMF skip the chain check and boot directly. This is acceptable for
|
|
|
|
|
# a CI runner — TPM 2.0 is still emulated (`tpm: {}` below) so
|
|
|
|
|
# BitLocker / Hyper-V / WSL still work.
|
|
|
|
|
# When the operator wants SecureBoot back, the path is:
|
|
|
|
|
# 1. Custom-build OVMF_VARS.fd with Microsoft KEK/DB enrolled
|
|
|
|
|
# 2. Mount it into the VM via firmware.bootloader.efi.persistent
|
|
|
|
|
# 3. Set secureBoot: true again
|
|
|
|
|
# Tracked separately from the install unblock.
|
|
|
|
|
secureBoot: false
|
|
|
|
|
devices:
|
|
|
|
|
tpm: {} # Non-persistent vTPM — sufficient for runner; no BitLocker
|
|
|
|
|
disks:
|
|
|
|
|
@@ -396,16 +411,24 @@ spec:
|
|
|
|
|
# Confirmed via debug pod: PVC content IS a real bootable ISO9660
|
|
|
|
|
# (file: "ISO 9660 CD-ROM filesystem data ... (bootable)"), so the
|
|
|
|
|
# only bug was boot priority.
|
|
|
|
|
# 2026-05-08 PM: cdrom bus is SCSI (virtio-scsi controller). Bus
|
|
|
|
|
# choice is no longer load-bearing since the ISO is delivered via
|
|
|
|
|
# containerDisk (see volumes block below) — both SATA and SCSI
|
|
|
|
|
# work fine when the cdrom backing isn't a slow PVC. SCSI is kept
|
|
|
|
|
# because it's the modern bus and matches the standard FC
|
|
|
|
|
# KubeVirt VM template.
|
|
|
|
|
# 2026-05-08 PM: ISO presented as a virtio-blk DISK (not cdrom).
|
|
|
|
|
# Both SATA and SCSI cdrom buses hit OVMF BdsDxe "starting Boot0001
|
|
|
|
|
# ... Time out" regardless of storage backend (NFS, Longhorn PVC,
|
|
|
|
|
# containerDisk tmpfs — all rule out IO speed). The qemu cdrom
|
|
|
|
|
# emulation path appears to have a deep-seated read window issue
|
|
|
|
|
# under KubeVirt v1.4.0's OVMF firmware.
|
|
|
|
|
#
|
|
|
|
|
# Workaround: present the ISO bytes as a regular virtio-blk disk
|
|
|
|
|
# (model="virtio-non-transitional"). UEFI/OVMF still recognizes
|
|
|
|
|
# ISO9660 + El Torito boot records on a regular disk, so it can
|
|
|
|
|
# boot the EFI bootloader the same way it would from a USB stick.
|
|
|
|
|
# This is also closer to the FlowerCore.Distribution USB-key
|
|
|
|
|
# pattern: the ISO bytes live on a block device, UEFI boots from
|
|
|
|
|
# the GPT/El Torito boot record, Windows installer runs.
|
|
|
|
|
- name: windows-iso
|
|
|
|
|
bootOrder: 1
|
|
|
|
|
cdrom:
|
|
|
|
|
bus: scsi
|
|
|
|
|
disk:
|
|
|
|
|
bus: virtio
|
|
|
|
|
- name: rootdisk
|
|
|
|
|
bootOrder: 2
|
|
|
|
|
disk:
|
|
|
|
|
|