Kevin O'Connor wrote:
- QEMU let's user choose device boot order based on something that
makes sense to QEMU and it's users 2) SeaBIOS creates a list of bootable devices based on the BBS and anything else it thinks it can boot from 3) SeaBIOS passes this list to QEMU and asks QEMU to adjust ordering 4) QEMU adjusts ordering according to (1) and tells SeaBIOS 5) SeaBIOS then allows a user to reorder boot devices 6) SeaBIOS tells QEMU the new boot order
I think that this proposal from Anthony is the thorough good way to do it.
How about:
- QEMU let's user choose device boot order based on something that makes sense to QEMU and it's users. It places this info in fw_cfg by providing a list of "path names" for each device.
- SeaBIOS creates a list of bootable devices based on the BBS and anything else it thinks it can boot from. It prioritizes devices in this list if their "path name" is found in the fw_cfg boot order list provided by qemu.
I think it may be more difficult for QEMU to predict how SeaBIOS will enumerate boot devices and what paths they will have than for QEMU to work with the boot devices that were found by SeaBIOS after the fact.
- SeaBIOS then allows a user to reorder boot devices.
I'm not sure why step 4 (SeaBIOS tells QEMU the new boot order) is needed.
To save the boot order in NV storage.
//Peter