Bug 509208

Summary: KVM fixes to make gPXE boot ROMs work
Product: Red Hat Enterprise Linux 5 Reporter: Eduardo Habkost <ehabkost>
Component: kvmAssignee: Glauber Costa <gcosta>
Status: CLOSED ERRATA QA Contact: Lawrence Lim <llim>
Severity: medium Docs Contact:
Priority: high    
Version: 5.4CC: acathrow, lihuang, rlerch, sghosh, tburke, tools-bugs, virt-maint, ykaul
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: kvm-83-89.el5 Doc Type: Bug Fix
Doc Text:
RHEL5.x virtualization relies on etherboot for remote booting. Etherboot is an implementation of the pxe standard, but lacks some features that are present in the new gpxe boot technology which is not shipped with RHEL. It is possible to use the gpxe roms with RHEL 5.4. As an example, gpxe roms can be used to interpret requests generated by Microsoft RIS or WDS. All components present in RHEL5.4 are capable of booting gpxe roms. The roms can be obtained directly from http://rom-o-matic.net/, or other sources like the Fedora Project.
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-02 09:26:36 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: 488879, 497692, 513501    

Description Eduardo Habkost 2009-07-01 18:54:59 UTC
According to Glauber, there are some issues that need to be solved on the KVM and bios code to make gPXE work in KVM guests. This bug is to track those issues.

I wil let Glauber explain where are the bugs and what are the fixes needed.

Comment 1 Glauber Costa 2009-07-01 19:19:39 UTC
The current state of gpxe is as following:

* gpxe roms can be loaded with the -option-rom qemu command. However, they
won't work due to a kernel bug affecting emulation of real mode instructions.

* to make it work, we would have to apply a kernel patch. This patch is
upstream for some months now.

* ROMs too big (around ~60 k) can't be used, unless we patch qemu and the bios
(both patches exist)

Using gpxe with qemu is not as well tested as etherboot. So, I'm totally
against replacing etherboot with gpxe. However, giving people the option of
loading a ROM if they need to, via the -option-rom switch, seems like a good
idea. For that, we'd have to include the kernel patch in our kvm module.

Comment 13 lihuang 2009-07-21 05:55:28 UTC
In kvm-83-90.el5 tested :
A : with option-rom
Notes :the roms are download from http://glommer.fedorapeople.org/gpxe/

1. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=rtl8139 -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot c -option-rom /data/images/gpxe_glommer/pxe-rtl8139.bin
=> PASS

2. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=e1000 -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot c -option-rom /data/images/gpxe_glommer/pxe-e1000.bin 
=> Too many option ROMS

3. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=virtio -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot c -option-rom /data/images/gpxe_glommer/pxe-virtio.bin
==> PASS

4. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=ne2k_pci -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot c -option-rom /data/images/gpxe_glommer/pxe-ne2k_pci.bin
==>PASS

5. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=pcnet -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot c -option-rom /data/images/gpxe_glommer/pxe-pcnet.bin
==> PASS




B: boot from cdrom
Notes :the ISO is download from http://www.etherboot.org/wiki/removable
1. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=pcnet -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot d -drive file=/data/images/isos/gpxe.iso,media=cdrom,index=2
=> PASS

2. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=ne2k_pci -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot d -drive file=/data/images/isos/gpxe.iso,media=cdrom,index=2
=>PASS

3. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=rtl8139 -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot d -drive file=/data/images/isos/gpxe.iso,media=cdrom,index=2
=>PASS

4. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=e1000 -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot d -drive file=/data/images/isos/gpxe.iso,media=cdrom,index=2
=> PASS

5. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net nic,macaddr=00:21:9B:50:5F:D0,model=virtio -net tap,script=/etc/qemu-ifup -monitor stdio -vnc :12 -boot d -drive file=/data/images/isos/gpxe.iso,media=cdrom,index=2
=> PASS

setting to *VERIFIED*

Comment 14 Glauber Costa 2009-07-21 12:25:24 UTC
(In reply to comment #13)

I've already told this to lihuang, but just to be clear:

> 2. /usr/libexec/qemu-kvm -drive file=/data/images/GPXE.qcow2 -net
> nic,macaddr=00:21:9B:50:5F:D0,model=e1000 -net tap,script=/etc/qemu-ifup
> -monitor stdio -vnc :12 -boot c -option-rom
> /data/images/gpxe_glommer/pxe-e1000.bin 
> => Too many option ROMS

This is expected.

Comment 22 Bill Burns 2009-08-27 19:47:49 UTC
Release note added. If any revisions are required, please set the 
"requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

New Contents:
RHEL5.x virtualization relies on etherboot for remote booting. Etherboot is an implementation of the pxe standard, but lacks some features that are present in the new gpxe boot technology.

It is possible to use the gpxe roms with etherboot. As an example, gpxe roms can be used with Etherboot to interpret requests generated by Microsoft RIS or WDS.

All components present in RHEL5.4 are capable of booting gpxe roms. The roms
can be obtained directly from http://rom-o-matic.net/, or other sources like
the Fedora Project.

Comment 23 Bill Burns 2009-08-27 19:52:11 UTC
Release note updated. If any revisions are required, please set the 
"requires_release_notes"  flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

Diffed Contents:
@@ -1,6 +1,6 @@
 RHEL5.x virtualization relies on etherboot for remote booting. Etherboot is an implementation of the pxe standard, but lacks some features that are present in the new gpxe boot technology.
 
-It is possible to use the gpxe roms with etherboot. As an example, gpxe roms can be used with Etherboot to interpret requests generated by Microsoft RIS or WDS.
+It is possible to use the gpxe roms with RHEL 5.4. As an example, gpxe roms can be used to interpret requests generated by Microsoft RIS or WDS.
 
 All components present in RHEL5.4 are capable of booting gpxe roms. The roms
 can be obtained directly from http://rom-o-matic.net/, or other sources like

Comment 24 Bill Burns 2009-08-27 19:54:08 UTC
Release note updated. If any revisions are required, please set the 
"requires_release_notes"  flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

Diffed Contents:
@@ -1,4 +1,4 @@
-RHEL5.x virtualization relies on etherboot for remote booting. Etherboot is an implementation of the pxe standard, but lacks some features that are present in the new gpxe boot technology.
+RHEL5.x virtualization relies on etherboot for remote booting. Etherboot is an implementation of the pxe standard, but lacks some features that are present in the new gpxe boot technology which is not shipped with RHEL.
 
 It is possible to use the gpxe roms with RHEL 5.4. As an example, gpxe roms can be used to interpret requests generated by Microsoft RIS or WDS.

Comment 25 errata-xmlrpc 2009-09-02 09:26:36 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2009-1272.html