[SeaBIOS] [Qemu-devel] [RFC] Passing boot order from qemu to seabios

Gleb Natapov gleb at redhat.com
Tue Oct 12 09:26:23 CEST 2010


On Mon, Oct 11, 2010 at 07:54:30PM -0400, Kevin O'Connor wrote:
> On Mon, Oct 11, 2010 at 05:32:17PM -0500, Anthony Liguori wrote:
> > Somebody has to be responsible for enumerating all of the devices
> > that can be booted, communicated it to someone else, and letting
> > that other party reorder things while keeping the former party
> > informed.  The options are:
> > 
> > 1) QEMU let's user choose device boot order based on something that
> > makes sense to QEMU and it's users
> > 2) QEMU creates a list of device boot order that it prefers and
> > communicates to SeaBIOS.  If this is to be authoritative, QEMU must
> > generate a list that follows the BBS
> > 3) SeaBIOS then allows a user to reorder boot devices
> > 4) SeaBIOS tells QEMU the new boot order
> > 
> > Or:
> > 
> > 1) 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
> 
> How about:
> 
> 1) 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.
> 2) 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.
> 3) 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.
> 
Exactly. If user wants to boot from non-default boot device once it will
use Seabios boot menu. If she wants to change boot order permanently she
will use nice, mouse driven virt-manager GUI.

Honestly, how often do you use Seabios boot menu? I only use it when I
need to boot from device that cannot be made bootable because of current
qemu/seabios brokenness. After that will be fixed I can't see myself
using it anymore.

> > It may seem like the second option is more complicated, but I think
> > step 2 in the first option is going to be prohibitively difficult
> > and really doesn't fit SeaBIOS very well as bare metal BIOS.  The
> > second option is more akin to how this would work on bare metal.
> 
> I don't think step 2 will be that hard.  There aren't that many ways
> SeaBIOS can boot a machine.  I think we can label them all with unique
> names (eg, "ata at 01:13.0 at 0", "usb at 1234:5678", "virtio at 01:13.0",
> "rom at 01:13.0", etc).  The qemu list doesn't need to be authoritative -
> should SeaBIOS know how to boot something that qemu doesn't yet know
> about, then users will need to use the boot menu until qemu is
> updated.
> 
Agree. What Anthony propose looks overcomplicated without any benefits.

--
			Gleb.



More information about the SeaBIOS mailing list