On Thu, Apr 08, 2021 at 12:02:23PM +0200, Gerd Hoffmann wrote:
Hi,
Add a config option for fast device init (i.e. skip non-bootable devices). This optimization breaks boot in some rare configurations, specifically in case the boot loader needs access to secondary disks.
Unfortunately, I missed the initial email due to seabios mailing list problems a few weeks ago.
Quote above is the commit message, actual patch below.
What's the reason to add a config option for this setting? We typically make these choices at runtime using settings from fwcfg.
Well, there is a fwcfg setting already. Skipping non-bootable devices happens only in case there is a HALT line in the fw_cfg bootorder file, which translates to "-boot strict={on,off}" on the qemu command line.
Problem is that libvirt runs qemu with strict=on and provides no way to request strict=off instead. Fixing that is on the way, but it'll take some time as it affects not only libvirt itself but also the management apps using libvirt.
So this patch allows to handles the reported regressions with a compile time switch for the time being. If you don't like it, fine, we can also carry the patch downstream for a while until libvirt & co are fixed, it should only be needed temporarily after all.
In general, it sounds like it would be better to address this in libvirt and not add a temporary compile time setting. However, if you feel the timing of rollout warrents a SeaBIOS change, then I'm okay with that.
-Kevin