Bug 1328335

Summary: [Seabios]Boot VM from bootindex larger than 9 fail
Product: Red Hat Enterprise Linux 7 Reporter: aihua liang <aliang>
Component: seabiosAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 7.4CC: chayang, huding, juzhang, knoel, meyang, ngu, pingl, shuang, virt-maint, xfu, xutian
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-17 17:26:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description aihua liang 2016-04-19 07:17:47 UTC
Description of problem:
 Boot VM from bootindex larger than 9 fail.

Version-Release number of selected component (if applicable):
 kerner version:3.10.0-371.el7.x86_64
 qemu version:qemu-kvm-rhev-2.5.0-4.el7
 seabios version:seabios-1.9.1-2.el7

How reproducible:
100%

Steps to Reproduce:

1.Start VM using qemu-kvm command as bellow:
/usr/libexec/qemu-kvm \
-M pc \
-name rhel7.1-4 \
-machine pc,accel=kvm,usb=off,vmport=off \
-cpu SandyBridge \
-m 4096 \
-smp 8,sockets=8,cores=1,threads=1 \
-uuid 1534fa42-4818-4493-9f67-eee5ba758385 \
-nodefaults -nodefconfig -no-user-config \
-chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/test1,server,nowait \
-mon chardev=qmp_id_catch_monitor,id=monitor,mode=control -no-hpet \
-boot menu=on,splash-time=10000 \
-drive file=/home/kvm_autotest_root/iso/linux/RHEL-7.2-20151030.0-Server-x86_64-dvd1.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw \
-device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
-device virtio-scsi-pci,id=scsi0,addr=0x5 \
-netdev tap,id=hostnet1 \
-device virtio-net-pci,netdev=hostnet1,id=net1,mac=51:54:00:49:b2:5f,bootindex=2 \
-netdev tap,id=hostnet2 \
-device virtio-net-pci,netdev=hostnet2,id=net2,mac=52:54:00:49:b2:5f,bootindex=3 \
-netdev tap,id=hostnet3 \
-device virtio-net-pci,netdev=hostnet3,id=net3,mac=53:54:00:49:b2:5f,bootindex=4 \
-netdev tap,id=hostnet4 \
-device virtio-net-pci,netdev=hostnet4,id=net4,mac=54:54:00:49:b2:5f,bootindex=5 \
-netdev tap,id=hostnet5 \
-device virtio-net-pci,netdev=hostnet5,id=net5,mac=55:54:00:49:b2:5f,bootindex=6 \
-netdev tap,id=hostnet6 \
-device virtio-net-pci,netdev=hostnet6,id=net6,mac=56:54:00:49:b2:5f,bootindex=7 \
-netdev tap,id=hostnet7 \
-device virtio-net-pci,netdev=hostnet7,id=net7,mac=57:54:00:49:b2:5f,bootindex=8 \
-netdev tap,id=hostnet8 \
-device virtio-net-pci,netdev=hostnet8,id=net8,mac=58:54:00:49:b2:5f,bootindex=9 \
-drive file=/tmp/target1.qcow2,if=none,id=drive-scsi-disk,format=qcow2,cache=none,aio=native \
-device scsi-hd,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,id=scsi-disk,bootindex=10 \
-vnc 0:2 \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16 \
-enable-kvm \
-monitor stdio 

2.Press 10 to boot from scsi-disk.

Actual results:
 VM boot from cdrom whose bootindex is 1.
 When you want to boot from index:20, it'll boot from index:2.

Expected results:
 Bootindex larger than 9 can work normal.
 
Additional info:

Comment 2 John Snow 2017-02-17 17:26:42 UTC
I am going to confirm this as a real bug, but a bug in SeaBIOS. After conferring with Laszlo and Gerd however, it seems as though there is limited utility in fixing this bug due to various limitations in SeaBIOS to engage quite so many devices.

The opinion appears to be that if you want more than 9 devices, please use OVMF. Laszlo helpfully points out that our VDAG lists some of the limitations of SeaBIOS that make it a little less useful for many devices as compared to OVMF:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/sect-Editing_a_guest_virtual_machines_configuration_file-Adding_multifunction_PCI_devices_to_KVM_guest_virtual_machines.html

We may wish to update the VDAG to indicate that SeaBIOS can only reasonably select from 9 boot devices at the moment.

Lastly, Gerd points out that this issue has been discussed upstream lately and it might be fixed at some point (by using 'a', 'b', 'c', etc) but it's not a real priority for RHEL.

Reassigning to SeaBIOS, assigning to Gerd, but marking CLOSED WONTFIX.

Thanks,
--John