On Fri, Dec 20, 2019 at 02:22:37PM +0300, Alexey Kirillov wrote:
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.