summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-08-16 12:12:44 +0200
committerChristian Breunig <christian@breunig.cc>2026-08-17 11:52:47 +0200
commitcc7e069760c0fb5205b525f77bad3cba60ba2120 (patch)
treecb9efea42b9e446f863eb1ce2b74243922d1ceae /scripts
parentaeb34831d4ec120acbeb16e3ca103a6eff5c7a54 (diff)
downloadvyos-build-cc7e069760c0fb5205b525f77bad3cba60ba2120.tar.gz
vyos-build-cc7e069760c0fb5205b525f77bad3cba60ba2120.zip
Testsuite: T9217: use separate SCSI controller for RAID-1 UEFI testcase
"make testraid -- --uefi" fails. Install and first boot succeed normally under UEFI, but the test then simulates a failed RAID-1 member by wiping the primary disk and rebooting off the surviving mirror disk. That reboot never reaches a login prompt. OVMF only honors QEMU's per-device "bootindex" when disks sit behind separate PCI controllers; sharing one virtio-scsi-pci controller via SCSI LUN makes it always boot LUN 0 regardless of bootindex.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/check-qemu-install10
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install
index 49699a8f..e4ab6587 100755
--- a/scripts/check-qemu-install
+++ b/scripts/check-qemu-install
@@ -302,8 +302,14 @@ def get_qemu_cmd(name, enable_uefi, disk_img, raid=None, iso_img=None, tpm=False
-device scsi-hd,bus=scsi0.0,drive=drive-hd1,id=hd1,bootindex=1'
if raid:
- cmd += f' -drive format={disk_format},file={raid},if=none,media=disk,id=drive-hd2,readonly=off' \
- f' -device scsi-hd,bus=scsi0.0,drive=drive-hd2,id=hd2,bootindex=2'
+ # RAID member disks each get their own virtio-scsi-pci controller.
+ # OVMF only appears to honor QEMU's per-device "bootindex" when disks
+ # sit behind separate PCI controllers - sharing one controller via
+ # SCSI LUN makes it always boot LUN 0 regardless of bootindex, which
+ # breaks the RAID-failure simulation's boot-priority swap under UEFI.
+ cmd += f' -device virtio-scsi-pci,id=scsi1' \
+ f' -drive format={disk_format},file={raid},if=none,media=disk,id=drive-hd2,readonly=off' \
+ f' -device scsi-hd,bus=scsi1.0,drive=drive-hd2,id=hd2,bootindex=2'
if tpm:
cmd += f' -chardev socket,id=chrtpm,path={tpm_sock}' \