On Fri, Dec 20, 2019 at 02:22:37PM +0300, Alexey Kirillov wrote:
Hi!
Yes, it's a good solution. However, it may cause the following problem: user wants to use a large number of virtio-blk/virtio-scsi devices, but not to use strict boot. For example, to boot over the network or IDE CDROM by default when other options fail.
You can make that work by assigning a boot index to every device you might want boot from, i.e. 1 to disk, 2 to cdrom and 3 to nic. These three devices will then be tried even with strict=on.
If we use HALT, that user will not be able to boot from any and all devices that are not in the boot order. But we wanted only to avoid initializing virtio-blk/scsi specifically (at least for now).
Well, I think we will probably extend that to other devices, to reduce memory consumption and hardware initialization time. We might stop loading option roms for NICs without boot index for example, or extend that logic to ide/sata/nvme disks.
So I think a simple way to flip the switch for all these optimizations would be good. And that way being "use strict=on and and assign a bootindex to every device you might want boot from" looks good to me. This option exists for quite a while already, so we don't need new qemu options to turn it on, therefore it will work with older qemu versions too. And seabios has the freedom to skip initialization for every device which has no bootindex without breaking something, because it would never boot from such a device with strict=on.
cheers, Gerd