Bug 1693031 - On systems with more than 10 available boot devices, keys are uninintuitive
Summary: On systems with more than 10 available boot devices, keys are uninintuitive
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: seabios
Version: ---
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: rc
: ---
Assignee: Gerd Hoffmann
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 1692592
TreeView+ depends on / blocked
 
Reported: 2019-03-27 01:03 UTC by Ryan Barry
Modified: 2020-11-14 07:16 UTC (History)
9 users (show)

Fixed In Version: seabios-1.12.0-5.module+el8.1.0+4022+29a53beb
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-06 07:13:50 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:3723 0 None None None 2019-11-06 07:14:05 UTC

Description Ryan Barry 2019-03-27 01:03:43 UTC
Description of problem:
On systems with more than 10 available boot devices, seabios may prompt for "10", but only parses out the first char. "0" selects 10, while "10" selects 1.

Similarly, "11" may be selected by -, 12 by =. This is confusing to users

How reproducible:
100%

Steps to Reproduce:
1. Create a VM with more than 9 boot devices
2. Try to select the appropriate one
3.

Actual results:
See initial comment

Expected results:
Numeric entry is parsed

Comment 7 Ademar Reis 2019-07-15 15:39:52 UTC
Gerd, I don't see the patches upstream yet. Can this be merged and backported to 8.1? We have a couple of weeks before we need exceptions for BZs.

For now I'm setting ITR=8.2.0 to be safe.

Comment 8 Ademar Reis 2019-07-15 15:40:56 UTC
(In reply to Ademar Reis from comment #7)
> Gerd, I don't see the patches upstream yet. Can this be merged and
> backported to 8.1? We have a couple of weeks before we need exceptions for
> BZs.
> 

Setting needinfo.

Comment 9 Gerd Hoffmann 2019-07-30 12:54:20 UTC
(In reply to Ademar Reis from comment #7)
> Gerd, I don't see the patches upstream yet. Can this be merged and
> backported to 8.1? We have a couple of weeks before we need exceptions for
> BZs.

Upstream patches (master branch, no release yet with this):
  https://git.seabios.org/cgit/seabios.git/commit/?id=8acad25cd5f4a49573098e98c10118358fc48924
  https://git.seabios.org/cgit/seabios.git/commit/?id=18d237b4e43ea24795f522c0aab1b4f54100ca80

Didn't try yet to backport, should not be hard though, can try once I'm done with the PTO backlog.

Comment 15 Michael 2019-08-20 07:28:00 UTC
Hi all:

Verify this Bug follow those steps:

1. Boot guest with 16 devices. 

/usr/libexec/qemu-kvm -M pc -cpu EPYC  -enable-kvm \
-nodefaults -smp 4 -m 4G -name 002 -vga qxl -monitor stdio \
-device virtio-serial-pci,id=virtio-serial0 \
-chardev spicevmc,id=charchannel1,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 \
-spice port=5901,addr=0.0.0.0,disable-ticketing,image-compression=off,seamless-migration=on \
-netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,mac=24:be:05:15:d1:81,netdev=hostnet0,id=net0 \
-drive file=/mnt/test/personal/choma/guest-nfs/rhel810-64-virtio-scsi.qcow2,if=none,id=guest-img,format=qcow2,werror=stop,rerror=stop -device virtio-blk-pci,drive=guest-img,id=os-disk \
-device virtio-blk-pci,drive=guest-img-1,id=os-disk-1 -drive file=storage-01,if=none,id=guest-img-1,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-2,id=os-disk-2 -drive file=storage-02,if=none,id=guest-img-2,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-3,id=os-disk-3 -drive file=storage-03,if=none,id=guest-img-3,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-4,id=os-disk-4 -drive file=storage-04,if=none,id=guest-img-4,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-5,id=os-disk-5 -drive file=storage-05,if=none,id=guest-img-5,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-6,id=os-disk-6 -drive file=storage-06,if=none,id=guest-img-6,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-7,id=os-disk-7 -drive file=storage-07,if=none,id=guest-img-7,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-8,id=os-disk-8 -drive file=storage-08,if=none,id=guest-img-8,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-9,id=os-disk-9 -drive file=storage-09,if=none,id=guest-img-9,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-10,id=os-disk-10 -drive file=storage-10,if=none,id=guest-img-10,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-11,id=os-disk-11 -drive file=storage-11,if=none,id=guest-img-11,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-12,id=os-disk-12 -drive file=storage-12,if=none,id=guest-img-12,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-13,id=os-disk-13 -drive file=storage-13,if=none,id=guest-img-13,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-14,id=os-disk-14 -drive file=storage-14,if=none,id=guest-img-14,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-15,id=os-disk-15 -drive file=storage-15,if=none,id=guest-img-15,format=qcow2 \
-device virtio-blk-pci,drive=guest-img-16,id=os-disk-16 -drive file=storage-16,if=none,id=guest-img-16,format=qcow2 \
-serial unix:/tmp/console,server,nowait \
-boot menu=on  \


[2] Press F12, check the boot menu. 
1.Virtio disk PCI:00:05.0
2.Virtio disk PCI:00:06.0
3.Virtio disk PCI:00:07.0
4.Virtio disk PCI:00:08.0
5.Virtio disk PCI:00:09.0
6.Virtio disk PCI:00:0a.0
7.Virtio disk PCI:00:0b.0
8.Virtio disk PCI:00:0c.0
9.Virtio disk PCI:00:0d.0
a.Virtio disk PCI:00:0e.0
b.Virtio disk PCI:00:0f.0
c.Virtio disk PCI:00:10.0
d.Virtio disk PCI:00:11.0
e.Virtio disk PCI:00:12.0
f.Virtio disk PCI:00:13.0
g.Virtio disk PCI:00:14.0
h.Legacy option rom
i.iPXE (PCI 00:04.0)

[3] select h, guest can be booted form "Legacy option rom".

Comment 16 Michael 2019-08-20 07:35:58 UTC
Hi all:

According comment 15, Change machine type to q35 and repeat above steps. 

[1] Boot guest with q35 machine type. 
/usr/libexec/qemu-kvm -M q35 -cpu EPYC  -enable-kvm \
-nodefaults -smp 4 -m 4G -name 002 -vga qxl -monitor stdio \
-nodefaults \
-device pcie-root-port,id=pcie.0-root-port-2,slot=2,chassis=2,addr=0x2,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-3,slot=3,chassis=3,addr=0x3,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-4,slot=4,chassis=4,addr=0x4,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-6,slot=6,chassis=6,addr=0x6,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-7,slot=7,chassis=7,addr=0x7,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-8,slot=8,chassis=8,addr=0x8,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-9,slot=9,chassis=9,addr=0x9,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-10,slot=10,chassis=10,addr=0x10,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-11,slot=11,chassis=11,addr=0x11,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-12,slot=12,chassis=12,addr=0x12,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-13,slot=13,chassis=13,addr=0x13,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-14,slot=14,chassis=14,addr=0x14,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-15,slot=15,chassis=15,addr=0x15,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-16,slot=16,chassis=16,addr=0x16,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-17,slot=17,chassis=17,addr=0x17,bus=pcie.0 \
-device pcie-root-port,id=pcie.0-root-port-18,slot=18,chassis=18,addr=0x18,bus=pcie.0 \
-device virtio-scsi-pci,id=scsi0,bus=pcie.0-root-port-2 -drive file=/mnt/test/personal/choma/guest-nfs/rhel810-64-virtio-scsi.qcow2,if=none,id=guest-img,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img,id=os-diski,bus=scsi0.0 \
-serial unix:/tmp/console,server,nowait \
-boot menu=on  \
-device virtio-serial-pci,id=virtio-serial0,bus=pcie.0-root-port-18 \
-chardev spicevmc,id=charchannel1,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 \
-spice port=5901,addr=0.0.0.0,disable-ticketing,image-compression=off,seamless-migration=on \
-netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,mac=24:be:05:15:d1:81,netdev=hostnet0,id=net0 \
-device virtio-scsi-pci,id=scsi3,bus=pcie.0-root-port-3 -drive file=storage-01,if=none,id=guest-img-1,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-1,id=os-disk-1,bus=scsi3.0 \
-device virtio-scsi-pci,id=scsi4,bus=pcie.0-root-port-4 -drive file=storage-02,if=none,id=guest-img-2,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-2,id=os-disk-2,bus=scsi4.0 \
-device virtio-scsi-pci,id=scsi5,bus=pcie.0-root-port-5 -drive file=storage-03,if=none,id=guest-img-3,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-3,id=os-disk-3,bus=scsi5.0 \
-device virtio-scsi-pci,id=scsi6,bus=pcie.0-root-port-6 -drive file=storage-04,if=none,id=guest-img-4,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-4,id=os-disk-4,bus=scsi6.0 \
-device virtio-scsi-pci,id=scsi7,bus=pcie.0-root-port-7 -drive file=storage-05,if=none,id=guest-img-5,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-5,id=os-disk-5,bus=scsi7.0 \
-device virtio-scsi-pci,id=scsi8,bus=pcie.0-root-port-8 -drive file=storage-06,if=none,id=guest-img-6,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-6,id=os-disk-6,bus=scsi8.0 \
-device virtio-scsi-pci,id=scsi9,bus=pcie.0-root-port-9 -drive file=storage-07,if=none,id=guest-img-7,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-7,id=os-disk-7,bus=scsi9.0 \
-device virtio-scsi-pci,id=scsi10,bus=pcie.0-root-port-10 -drive file=storage-08,if=none,id=guest-img-8,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-8,id=os-disk-8,bus=scsi10.0 \
-device virtio-scsi-pci,id=scsi11,bus=pcie.0-root-port-11 -drive file=storage-09,if=none,id=guest-img-9,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-9,id=os-disk-9,bus=scsi11.0 \
-device virtio-scsi-pci,id=scsi12,bus=pcie.0-root-port-12 -drive file=storage-10,if=none,id=guest-img-10,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-10,id=os-disk-10,bus=scsi12.0 \
-device virtio-scsi-pci,id=scsi13,bus=pcie.0-root-port-13 -drive file=storage-11,if=none,id=guest-img-11,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-11,id=os-disk-11,bus=scsi13.0 \
-device virtio-scsi-pci,id=scsi14,bus=pcie.0-root-port-14 -drive file=storage-12,if=none,id=guest-img-12,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-12,id=os-disk-12,bus=scsi14.0 \
-device virtio-scsi-pci,id=scsi15,bus=pcie.0-root-port-15 -drive file=storage-13,if=none,id=guest-img-13,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-13,id=os-disk-13,bus=scsi15.0 \
-device virtio-scsi-pci,id=scsi16,bus=pcie.0-root-port-16 -drive file=storage-14,if=none,id=guest-img-14,format=qcow2,werror=stop,rerror=stop  -device scsi-hd,drive=guest-img-14,id=os-disk-14,bus=scsi16.0 \

[2] Press F12, check the boot menu. 
1.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
2.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
3.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
4.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
5.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
6.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
7.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
8.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
9.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
a.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
b.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
c.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
d.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
e.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
f.Virtio-scsi Drive QEMU QEMU HARDDISK 2.5+
g.Legacy option rom
h.iPXE (PCI 00:04.0)

[3] select g, guest can be booted form "Legacy option rom".

Comment 17 Michael 2019-08-20 07:39:16 UTC
Hi all:

According comment#15 and comment#16, we can select more than 10 available boot device and guest works well. 

Thus,mark this Bug as verified.


Thanks.

Comment 18 Michael 2019-09-04 02:59:57 UTC
Hi Gerd:

This issue was fixed on RHEL8 Fast Train. Do we have plan to fix it on RHEL8 slow train? Or fix on the RHEL7? 



Thanks.

Comment 19 Gerd Hoffmann 2019-09-04 05:19:54 UTC
(In reply to Michael from comment #18)
> Hi Gerd:
> 
> This issue was fixed on RHEL8 Fast Train. Do we have plan to fix it on RHEL8
> slow train? Or fix on the RHEL7? 

The customer case is about RHV which uses fast train, so I think this is handled.

Slow train should get it with the 8.3 sync latest, we could backport earlier if
customers are asking for it.

I don't think we should backport that to RHEL-7.

Comment 20 Michael 2019-09-04 05:24:52 UTC
(In reply to Gerd Hoffmann from comment #19) 
> 
> The customer case is about RHV which uses fast train, so I think this is
> handled.
> 
> Slow train should get it with the 8.3 sync latest, we could backport earlier
> if
> customers are asking for it.
> 
> I don't think we should backport that to RHEL-7.

Thanks Gerd, Understand.

Comment 23 errata-xmlrpc 2019-11-06 07:13:50 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.

https://access.redhat.com/errata/RHBA-2019:3723


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