[SeaBIOS] random boot-order with 2 virtio disks

Kevin O'Connor kevin at koconnor.net
Wed Aug 17 02:33:26 CEST 2011


On Tue, Aug 16, 2011 at 03:19:27PM +0200, Elmar Gerdes wrote:
> On 16/08/11 14:45, Kevin O'Connor wrote:
> > On Tue, Aug 16, 2011 at 11:35:17AM +0200, Elmar Gerdes wrote:
> >>
> >> I have encountered a problem with the bootindex parameter for a KVM
> >> guest that has two virtio-blk disks.  Although I set bootindex=1 for
> >> the second disk, the VM chooses rather randomly the disk it boots
> >> from.
> > [...]
> >> When I was using seabios post-0.6.2 from the git repo, I set its
> >> debug level to 5 and compared the debug output for the good and bad
> >> cases and found no difference.
> > 
> > Can you post one of the debug logs?
> 
> Of course.  The only diffs I see after some further tests is in the
> number of lines complaining about int09h_handler() and the CPU Mhz
> line.

The key lines are:

[...]
> Copying romfile 'bootorder' (len 54)
> boot order:
> 1: /pci at i0cf8/scsi at 4/disk at 0,0
> 2: /pci at i0cf8/scsi at 7/disk at 0,0
[...]
> virtio-blk 0:4 blksize=512 sectors=14679654
> Searching bootorder for: /pci at i0cf8/*@4
> Registering bootable: Virtio disk PCI:0:4 (type:2 prio:1 data:fd8c0)
[...]
> virtio-blk 0:7 blksize=512 sectors=10485350
> Searching bootorder for: /pci at i0cf8/*@7
> Registering bootable: Virtio disk PCI:0:7 (type:2 prio:2 data:fd890)
[...]
> Registering bootable: Legacy option rom (type:129 prio:9999 data:c9000003)
> Mapping hd drive 0x000fd8c0 to 0
> drive 0x000fd8c0: PCHS=14563/16/63 translation=lba LCHS=913/255/63 s=14679654
> Mapping hd drive 0x000fd890 to 1
> drive 0x000fd890: PCHS=10402/16/63 translation=lba LCHS=652/255/63 s=10485350

The virtio device at address 4 was requested first, and the virtio
device at address 7 was requested to be second.  SeaBIOS did do that -
the virtio device at 4 (fd8c0) was mapped to the C drive.  From your
previous email, it looks like this is what was intended from the qemu
command line.

So, something else must be going on here - it looks to me like SeaBIOS
is doing the right thing.  Maybe something in the bootloader on the
drives is confused?  Also, note that the bootorder only specifies
which device SeaBIOS will attempt to boot off - it does nothing to
order how the OS will see the drives.

-Kevin



More information about the SeaBIOS mailing list