Bug 526777

Summary: Guest PXE booting doesn't work when using ne2k_pci NIC model
Product: [Fedora] Fedora Reporter: Mark McLoughlin <markmc>
Component: qemuAssignee: Mark McLoughlin <markmc>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: high    
Version: rawhideCC: berrange, dwmw2, ehabkost, gcosta, itamar, jaswinder, jforbes, markmc, quintela, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-06 15:23:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 498968    

Description Mark McLoughlin 2009-10-01 18:08:33 UTC
The 'ne' PXE ROM isn't the correct one for qemu's ne2k_pci NIC. We need an update to:

  1) change 'pxe_link ne2k_pci ne' to 'pxe_link ne2k_pci rtl8029'

  2) make qemu-system-x86 require a version of gpxe-roms-qemu which contains
     the rtl8029; perhaps it makes sense to just change to file based
     requires ...

See below for more info

+++ This bug was initially created as a clone of Bug #526243 +++

Created an attachment (id=363003)
screenshot of guest trying to boot via PXE

Description of problem:
If using the ne2k_pci NIC model on the guest, PXE booting doesn't work with the packaged etherboot ROM image.


Version-Release number of selected component (if applicable):
etherboot-zroms-kvm-5.4.4-16.fc11.noarch
qemu-system-x86-0.10.6-5.fc11.x86_64

How reproducible:
Always.

Steps to Reproduce:
[root@mf11 ~]# cat /tmp/pxe
<domain type='qemu'>
  <name>pxe</name>
  <uuid>6812c719-61ac-4ede-dd3d-de9ff3b1a568</uuid>
  <memory>512000</memory>
  <currentMemory>512000</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='network'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>destroy</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <interface type='bridge'>
      <mac address='54:52:00:29:2c:5b'/>
      <source bridge='breth0'/>
      <model type='ne2k_pci'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
  </devices>
</domain>

[root@mf11 ~]# virsh define /tmp/pxe
Domain pxe defined from /tmp/pxe

[root@mf11 ~]# virsh start pxe
Domain pxe started


  
Actual results:
The etherboot ROM doesn't find the expected NIC. See screenshot.


Expected results:
PXE booting works.


Additional info:
The pxe-ne2k_pci ROM image for Qemu must point to rtl8029.zrom, not ne.zrom. ne.zrom is for ISA NICs.

--- Additional comment from ehabkost on 2009-09-29 09:06:35 EDT ---

I noticed this on Fedora 11, but it seems to be present on Fedora 12 and Rawhide, unless the gPXE ne.rom image works for ne2k_pci (which I doubt). From Rawhide qemu.spec:

pxe_link() {
  ln -s ../gpxe/$2.rom %{buildroot}%{_datadir}/%{name}/pxe-$1.bin
}
[...]
pxe_link ne2k_pci ne
[...]

Comment 1 Mark McLoughlin 2009-10-05 14:29:04 UTC
Building this for f12:

* Mon Oct  5 2009 Mark McLoughlin <markmc> - 2:0.11.0-4
- Use rtl8029 PXE rom for ne2k_pci, not ne (#526777)
- Also, replace the gpxe-roms-qemu pkg requires with file-based requires

Comment 2 Mark McLoughlin 2009-10-06 08:27:34 UTC
tag request: https://fedorahosted.org/rel-eng/ticket/2350

Comment 3 Mark McLoughlin 2009-10-06 15:23:43 UTC
tagged now