[SeaBIOS] [PATCHv2] Support for booting from virtio disks
Avi Kivity
avi at redhat.com
Wed May 12 09:22:59 CEST 2010
On 05/11/2010 03:31 PM, Gleb Natapov wrote:
> On Tue, May 11, 2010 at 11:19:07AM +0300, Avi Kivity wrote:
>
>> On 05/10/2010 06:48 PM, Anthony Liguori wrote:
>>
>>> On 05/10/2010 03:11 AM, Gleb Natapov wrote:
>>>
>>>> This patch adds native support for booting from virtio disks to Seabios.
>>>>
>>>> Signed-off-by: Gleb Natapov<gleb at redhat.com>
>>>>
>>> A related problem that I think we need to think about how we solve
>>> is indicating to Seabios which device we want to boot from
>>>
>>> With your patch, a user can select a virtio device explicitly or
>>> if they use only one virtio device, it will Just Work.
>>>
>>> However, if a user uses IDE and virtio, or a user has multiple
>>> disks, they cannot select a device via -boot.
>>>
>>> Is this something we need to address? I don't think we'd break
>>> libvirt if we didn't.
>>>
>> BIOSes traditionally address this by storing the boot order in RTC
>> non-volatile memory, and allow the user to configure the order via a
>> menu. We could do the same (storing the RTC memory in a small disk
>> image).
>>
>>
> Real BIOS can do that because it enumerates all bootable devices,
> attach name for each one of them and then asks user to configure
> boot order using names it attached to devices. In our case we
> want to provide boot order on qemu command line before BIOS
> enumerated devices, so qemu should be able to pass enough information
> about boot device so that BIOS can uniquely identify it after it will
> discover all bootable devices. bus/device pair can be such thing.
>
Having a BIOS menu is also useful, you don't have to drop to the
management tool, instead you do everything from the console.
>
>> Alternatively we can seed the order from the command line (-boot
>> id1,id2,id3 where id* are some qdev property attached to disks, this
>> is more flexible than the current syntax I think).
>>
>>
> The problem is how to communicate this order to Seabios.
>
Topology (bus/device/lun).
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
More information about the SeaBIOS
mailing list