| Summary: | iPXE does not honor specified boot device | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Xu Han <xuhan> | ||||||||||
| Component: | ipxe | Assignee: | Alex Williamson <alex.williamson> | ||||||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> | ||||||||||
| Severity: | medium | Docs Contact: | |||||||||||
| Priority: | medium | ||||||||||||
| Version: | 7.0 | CC: | bdas, chayang, hhuang, juzhang, michen, qzhang, virt-maint, xfu | ||||||||||
| Target Milestone: | rc | ||||||||||||
| Target Release: | --- | ||||||||||||
| Hardware: | x86_64 | ||||||||||||
| OS: | Linux | ||||||||||||
| Whiteboard: | |||||||||||||
| Fixed In Version: | ipxe-20130517-5.gitc4bce43.el7 | Doc Type: | Bug Fix | ||||||||||
| Doc Text: | Story Points: | --- | |||||||||||
| Clone Of: | Environment: | ||||||||||||
| Last Closed: | 2014-06-13 09:22:53 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: | |||||||||||
| Attachments: |
|
||||||||||||
|
Description
Xu Han
2013-11-18 07:50:25 UTC
Created attachment 825418 [details]
e1000
Seabios screen shot of boot from 82576 PF/VF with attached e1000.
Created attachment 825419 [details]
virtio-net
Seabios screen shot of boot from 82576 PF/VF with attached virtio-net.
From this screen shot could see that can be able to boot from 82576 PF/VF(00:05.0).
Created attachment 825420 [details]
82576 PF rom
Created attachment 825422 [details]
82576 VF rom
Moving to iPXE After reproducing this bug, I believe the description is not actually correct. The problem does not occur between emulated e1000 and 82576 VF. It only happens between emulated e1000 and 82576 PF. The reason for this is that e1000 and 82576 PF use the same driver in iPXE. When iPXE is selected it appears to boot from the first device supported by the driver in PCI scan order. In the described scenario the e1000 is a lower numbered PCI device and thus iPXE attempts to boot it first, regardless of bootindex. Using addr= to re-order the PCI order of the devices results in the opposite problem. I sent a query upstream describing the problem and looking for advice on a solution. I suspect this problem has always existed in iPXE/gPXE. Fix included in ipxe-20130517-5.gitc4bce43.el7 Verify this bug with component:
ipxe-roms-qemu-20130517-5.gitc4bce43.el7.noarch
Scenario 1: Bootindex disorder by PCI address.
# /usr/libexec/qemu-kvm ... \
-device e1000,netdev=hostnet0,id=net0,mac=00:1a:4a:42:0a:00,addr=0x03,bootindex=2 \
-device vfio-pci,host=03:00.1,id=pf0,romfile=82576PF.rom,addr=0x05,bootindex=1 \
...
Results:
ipxe boot from the specified boot device(82576 PF).
---
SeaBIOS (version seabios-1.7.2.2-11.el7)
iPXE (http://ipxe.org) 00:03.0 C100 PCI2.10 PnP PMM+BFFC92B0+BFF292B0 C100
iPXE (http://ipxe.org) 00:05.0 C200 PCI2.10 PnP PMM+BFF172B0 BFF292B0 C200
Booting from ROM...
iPXE (PCI 00:05.0) starting execution...ok
iPXE initialising devices...ok
iPXE 1.0.0+ (f473) -- Open Source Network Boot Firmware -- http://ipxe.org
Features: iSCSI HTTP DNS TFTP AoE ELF MBOOT PXE bzImage Menu PXEXT
net1: 00:1b:21:39:8b:18 using 82576 on PCI00:05.0 (open)
[Link:down, TX:0 TXE:0 RX:0 RXE:0]
[Link status: Down (http://ipxe.org/38086101)]
Waiting for link-up on net1................. Down (http://ipxe.org/38086101)
No more network devices
Booting from ROM...
iPXE (PCI 00:03.0) starting execution...ok
iPXE initialising devices...ok
Scenario 2: Bootindex order by PCI address.
# /usr/libexec/qemu-kvm ... \
-device e1000,netdev=hostnet0,id=net0,mac=00:1a:4a:42:0a:00,addr=0x03,bootindex=1 \
-device vfio-pci,host=03:00.1,id=pf0,romfile=82576PF.rom,addr=0x05,bootindex=2 \
...
Results:
ipxe boot from the specified boot device(e1000).
---
SeaBIOS (version seabios-1.7.2.2-11.el7)
iPXE (http://ipxe.org) 00:03.0 C100 PCI2.10 PnP PMM+BFFC92B0+BFF292B0 C100
iPXE (http://ipxe.org) 00:05.0 C200 PCI2.10 PnP PMM+BFF172B0 BFF292B0 C200
Booting from ROM...
iPXE (PCI 00:03.0) starting execution...ok
iPXE initialising devices...ok
iPXE 1.0.0+ (c4bce43) -- Open Source Network Boot Firmware -- http://ipxe.org
Features: iSCSI HTTP DNS TFTP AoE bzImage ELF MBOOT PXE Menu PXEXT
net0: 00:1a:4a:42:0a:00 using 82540em on PCI00:03.0 (open)
[Link:up, TX:0 TXE:0 RX:0 RXE:0]
DHCP (net0 00:1a:4a:42:0a:00)...... ok
net0: 192.168.122.209/255.255.255.0 gw 192.168.122.1
Nothing to boot: No such file or directory (http://ipxe.org/2d03e13b)
No more network devices
Booting from ROM...
iPXE (PCI 00:05.0) starting execution...ok
iPXE initialising devices...ok
Base on these test results above, this bug has been fixed.
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |