On 01/09/2013 01:02 PM, Daniel P. Berrange wrote: > On Wed, Jan 09, 2013 at 12:36:52PM -0500, Laine Stump wrote: >> On 01/09/2013 10:52 AM, Amos Kong wrote: >>> On Wed, Jan 09, 2013 at 08:14:07AM -0700, Eric Blake wrote: >>>> On 01/09/2013 01:39 AM, Amos Kong wrote: >>>>> Current seabios will try to boot from selected devices first, >>>>> if they are all failed, seabios will also try to boot from >>>>> un-selected devices. >>>>> >>>>> We need to make it configurable. I already posted a seabios >>>>> patch to add a new device type to halt booting. Qemu can add >>>>> "HALT" at the end of bootindex string, then seabios will halt >>>>> booting after trying to boot from selected devices. >>>>> >>>>> This option only effects when boot priority is changed by >>>>> bootindex options, the old style(-boot order=..) will still >>>>> try to boot from un-selected devices. >>>>> >>>>> v2: add HALT entry in get_boot_devices_list() >>>>> define boot_strict to bool >>>>> >>>>> Signed-off-by: Amos Kong <akong@xxxxxxxxxx> >>>>> --- >>>> Libvirt will need to expose an attribute that lets the user control >>>> whether to use this new option; how do we probe via QMP whether the new >>>> -boot strict=on command-line option is available? >>> Old style to adjust boot priority by order parameter: >>> -boot order=n,strict=on (BAD, unselected devices will be tried) >>> >>> New style to adjust boot priority by bootindex: >>> -device virtio-net-pci,...,bootindex=1 -boot strict=on (OK) >>> >>> We only want strict option to support new style. >>> >>> (those two styles are implemented in two different way insider >>> seabios, the latest simple patch only changed the bootindex way) >> Just a note about this: as far as I can tell virt-manager currently only >> uses the "old style" of specifying boot order; it needs to be enhanced >> to recognize the presence of bootindex=n ordering, and behave >> accordingly. Looking from the outside, that looks to be not completely >> trivial, as the old style of ordering only allows specifying "hard disk" >> as a single line in the priority order, but the new style has each disk >> specified separately. Not only that, but *which* of the disks is tried >> first under the old order may change depending on whether or not a >> bootmenu is requested (in one case it picks unit=0 on the controller, in >> the other case, it orders the disks alphabetically by target dev name) > Hmm, well libvirt should be using bootindex=n on the QEMU command line > regardless of what applications put in the XML. ie if the application > uses the old style XML, libvirt should translate that into bootindex=n > for them. Good point. WHerever it's changed though, it will be a bit tricky to preserve current behavior, due to the idiosyncrasies I noted above. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list