Hi, > 1. Create a QEMU instance with a virtio-scsi HBA and keep it in the > prelaunch state. Use SeaBIOS rather than UEFI. > > -device virtio-scsi-pci,id=scsi0,num_queues=4 \ > -S \ > > 2. First, attach the boot disk, then attach the secondary disk. > > (qemu) drive_add 0 file=boot.qcow2,if=none,id=drive0 > (qemu) device_add > scsi-hd,drive=drive0,bus=scsi0.0,channel=0,scsi-id=0,lun=1,bootindex=1 > (qemu) drive_add 0 file=secondary.qcow2,if=none,id=drive1 > (qemu) device_add > scsi-hd,drive=drive1,bus=scsi0.0,channel=0,scsi-id=0,lun=2,bootindex=-1 > > 3. Start the VM from the prelaunch state. Because the "bootorder" and > "bios-geometry" data in fw_cfg is stale, SeaBIOS attempts to boot from the > secondary disk only once and then stops. As a result, the VM fails to boot. > > One possible workaround is to require QEMU users to explicitly issue a > system_reset before starting a guest VM from the prelaunch state, if any > disks have been attached or detached.
Requiring a system_reset looks sensible to me. Neither seabios nor ovmf have hotplug support. So if you expect the firmware pick up any new devices after hot-plugging them it is IMHO a very good idea to force a full re-initialization via system_reset for robustness reasons. take care, Gerd
