Bug 757999 - usb-storage's boot priority is not set correctly by seabios
Summary: usb-storage's boot priority is not set correctly by seabios
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: seabios
Version: 6.3
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Paolo Bonzini
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 782028
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-29 07:34 UTC by Chao Yang
Modified: 2012-06-20 12:54 UTC (History)
12 users (show)

Fixed In Version: seabios-0.6.1.2-12.el6
Doc Type: Bug Fix
Doc Text:
No documentation needed.
Clone Of:
Environment:
Last Closed: 2012-06-20 12:54:34 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0802 0 normal SHIPPED_LIVE seabios bug fix and enhancement update 2012-06-19 19:51:36 UTC

Description Chao Yang 2011-11-29 07:34:31 UTC
Description of problem:
boot a pre-installed virtio-blk vm and attach a usb storage, set usb-storage's bootindex to 1, virtio-blk's to 2, seabios always try to boot from virtio-blk instead of usb-storage.

Version-Release number of selected component (if applicable):
# rpm -q qemu-kvm seabios
qemu-kvm-0.12.1.2-2.210.el6.x86_64
seabios-0.6.1.2-8.el6.x86_64


How reproducible:
100%

Steps to Reproduce:
1.
2.
3.
  
Actual results:
SeaBIOS (version 0.6.1.2-20111101_081028-x86-007.build.bos.redhat.com)



gPXE (http://etherboot.org) - 00:04.0 CA00 PCI2.10 PnP BBS PMM7FE0@10 CA00
                                                                               

Press F12 for boot menu.

Select boot device:

1. Virtio disk PCI:0:3
2. gPXE (PCI 00:04.0)
3. USB Drive QEMU     QEMU HARDDISK    0.12
4. DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD]
5. Legacy option rom



Expected results:


Additional info:
can not reproduce if attach a virtrio-blk or a virtio-nic instead of usb-storage.
CLI:
/usr/libexec/qemu-kvm -M rhel6.2.0 -enable-kvm -m 2048 -smp 2 -uuid b5d1b5f3-6372-4c30-a080-ebb96fb23c49 -rtc base=utc,clock=host,driftfix=slew -boot menu=on -drive file=/mnt/RHEL-Server-6.2-64-virtio.qcow2,if=none,id=drive-virtio-0-0,media=disk,format=qcow2,cache=none -device virtio-blk-pci,drive=drive-virtio-0-0,id=virt0-0-0,bootindex=2 -netdev tap,id=hostnet1 -device virtio-net-pci,netdev=hostnet1,id=net1,mac=64:31:50:41:e1:44,bootindex=3 -balloon none -device usb-ehci,id=ehci -drive file=/home/storage.qcow2,if=none,id=drive-virtio-0-1,media=disk,format=qcow2,cache=none -device usb-storage,drive=drive-virtio-0-1,id=virt0-0-1,bootindex=1,bus=ehci.0 -nographic

Comment 1 Eduardo Habkost 2011-12-02 14:34:25 UTC
Assigning to Gleb, that worked on boot priority of USB drives for bug 643688.

Comment 2 Paolo Bonzini 2012-02-07 13:50:10 UTC
Hi chayang, please test with the seabios package at http://people.redhat.com/pbonzini/virtio-scsi -- there is a patch there that might be related to this bug.

Comment 3 Chao Yang 2012-02-09 12:53:27 UTC
(In reply to comment #2)
> Hi chayang, please test with the seabios package at
> http://people.redhat.com/pbonzini/virtio-scsi -- there is a patch there that
> might be related to this bug.

Retested this issue in:
# uname -r;rpm -q qemu-kvm;rpm -q seabios
2.6.32-229.el6.x86_64
qemu-kvm-0.12.1.2-2.225.el6.x86_64
seabios-0.6.1.2-8.el6.scsitest.x86_64

Actual Result:
The priority for usb-storage device has been set correctly based on the bootindex provided by CLI and could boot from this usb storage. This issue disappeared on seabios-0.6.1.2-8.el6.scsitest.x86_64

Output of boot sequence listed by seabios:
SeaBIOS (version 0.6.1.2-20120112_093651-x86-009.build.bos.redhat.com)



gPXE (http://etherboot.org) - 00:03.0 C100 PCI2.10 PnP BBS PMM7FE0@10 C100
                                                                               

Press F12 for boot menu.

Select boot device:

1. USB MSC Drive QEMU QEMU HARDDISK 0.12
2. Virtio disk PCI:0:2
3. gPXE (PCI 00:03.0)
4. DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD]
5. Legacy option rom

CLI:
/usr/libexec/qemu-kvm -M rhel6.2.0 ... -boot menu=on -drive file=/home/rhel6.2.qcow2,if=none,id=drive-virtio-0-0,media=disk,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-blk-pci,drive=drive-virtio-0-0,id=virt0-0-0,bootindex=2 -netdev tap,id=net -device virtio-net-pci,netdev=net,id=net0,mac=64:31:50:23:e9:19,bootindex=3 -usb -device usb-tablet,id=input1 -spice port=9000,disable-ticketing -vga none -nographic -balloon none -device usb-ehci,id=ehci -drive file=/home/RHEL-3.9-32-virtio.qcow2,id=drive-usb,media=disk,format=qcow2,cache=none,werror=stop,rerror=stop,if=none -device usb-storage,drive=drive-usb,id=usbstorage,bootindex=1,bus=ehci.0

Comment 4 Paolo Bonzini 2012-02-09 13:10:10 UTC
Fixed by my series, taking it.

Comment 7 langfang 2012-04-01 08:47:21 UTC
Reproduced this issue with steps and  environment as follows: 

host:
#uname -r
2.6.32-220.el6.x86_64
#rpm -qa |grep qemu-kvm
qemu-kvm-0.12.1.2-2.209.el6.x86_64
# rpm -qa |grep seabios
seabios-0.6.1.2-8.el6.x86_64

1)boot a pre-installed virtio-blk vm and attach a usb storage, set usb-storage's
bootindex to 1, virtio-blk's to 2
CLI:/usr/libexec/qemu-kvm -m 2G -smp 1 -cpu Penryn,+x2apic, -usbdevice tablet -drive file=/home/RHEL-Server-6.3-64-virtio.qcow2-newinstall5,format=qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device virtio-blk-pci,scsi=off,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,mac=00:10:20:2d:31:21,bus=pci.0,addr=0x4,id=net0,bootindex=3  -boot menu=on -uuid 5cc4d2e4-4960-4370-a856-038f63be7c96 -rtc base=utc,clock=host,driftfix=slew -no-kvm-pit-reinjection  -monitor stdio -name rhel6.1 -spice port=1000,disable-ticketing -vga qxl -device virtio-balloon-pci,bus=pci.0,id=balloon0 -device usb-ehci,id=ehci -drive file=/home/win2008r2-64bit.raw,if=none,id=drive-virtio-0-1,media=disk,format=raw,cache=none -device usb-storage,drive=drive-virtio-0-1,id=virt0-0-1,bootindex=1,bus=ehci.0 

2)press F12
Select boot device:

1. Virtio disk PCI:0:3
2. gPXE (PCI 00:04.0)
3. USB Drive QEMU     QEMU HARDDISK    0.12
4. DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD]
5. Legacy option rom


Verified this issue with steps and environment as follows:
host:
# uname -r
2.6.32-252.el6.x86_64
# rpm -qa |grep qemu-kvm
qemu-kvm-0.12.1.2-2.265.el6.x86_64
seabios-0.6.1.2-13.el6.x86_64
verify this issue use the steps as  same as reproduce.
actual results:
1)..
2)press F12
Select boot device:

1. USB MSC Drive QEMU QEMU HARDDISK 0.12
2. Virtio disk PCI:0:2
3. gPXE (PCI 00:03.0)
4. DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD]
5. Legacy option rom
3)boot from usb

Above all could boot from this usb storage,and the boot priority is correct,so issue has been fixed.

Comment 9 Eduardo Habkost 2012-04-23 18:51:02 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
No documentation needed.

Comment 11 errata-xmlrpc 2012-06-20 12:54:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0802.html


Note You need to log in before you can comment on or make changes to this bug.