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

Bernhard Kohl bernhard.kohl at nsn.com
Mon Oct 11 13:16:00 CEST 2010

Am 11.10.2010 12:18, schrieb ext Gleb Natapov:
> Currently if VM is started with multiple disks it is almost impossible to
> guess which one of them will be used as boot device especially if there
> is a mix of ATA/virtio/SCSI devices. Essentially BIOS decides the order
> and without looking into the code you can't tell what the order will
> be (and in qemu-kvm if boot=on is used it brings even more havoc). We
> should allow fine-grained control of boot order from qemu command line,
> or as a minimum control what device will be used for booting.
> To do that along with inventing syntax to specify boot order on qemu
> command line we need to communicate boot order to seabios via fw_cfg
> interface. For that we need to have a way to unambiguously specify a
> disk from qemu to seabios.  PCI bus address is not enough since not all
> devices are PCI (do we care about them?) and since one PCI device may
> control more then one disk (ATA slave/master, SCSI LUNs). We can do what
> EDD specification does. Describe disk as:
>      bus type (isa/pci),
>      address on a bus (16 bit base address for isa, b/s/f for pci)
>      device type (ATA/SCSI/VIRTIO)
>      device path (slave/master for ATA, LUN for SCSI, nothing for virtio)
> Will it cover all use cased? Any other ideas?

I think this also applies to network booting via gPXE. Usually our VMs
have 4 NICs, mixed virtio-net and PCI pass-through. 2 of the NICs shall
be used for booting, even if there are hard disks or floppy disks
connected. This scenario is currently almost impossible to configure.

I already posted a patch 'new parameter boot=on|off for "-net nic" and
"-device" NIC devices' which should solve that problem for us. The
patch is still under discussion. Of course passing detailed boot device
information to SeaBIOS would be the best solution.

> Any ideas about qemu
> command line syntax? May be somebody whats to implement it? :)
> --
> 			Gleb.

More information about the SeaBIOS mailing list