Bug 546019 - kvm: use gpxe PXE roms if available
Summary: kvm: use gpxe PXE roms if available
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.5
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Eduardo Habkost
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 518097 (view as bug list)
Depends On: 545886 546016 546606
Blocks: 481160 497692 518097 533941 533951 556823 557291
TreeView+ depends on / blocked
 
Reported: 2009-12-09 20:01 UTC by Eduardo Habkost
Modified: 2013-01-08 11:48 UTC (History)
7 users (show)

Fixed In Version: kvm-83-139.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 07:56:03 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0271 0 normal SHIPPED_LIVE Important: kvm security, bug fix and enhancement update 2010-03-29 13:19:48 UTC

Description Eduardo Habkost 2009-12-09 20:01:20 UTC
KVM needs to be changed to use pxe roms form the /usr/share/qemu-pxe-roms directory, to be able to use gpxe or etherboot ROMs, depending on the package installed by the user.

Comment 3 Dor Laor 2009-12-13 08:46:21 UTC
*** Bug 537492 has been marked as a duplicate of this bug. ***

Comment 7 Eduardo Habkost 2009-12-17 17:47:23 UTC
We have an issue: when installing kvm, yum will pull the gpxe roms to satisfy the dependency on pxe-roms-qemu, but we want etherboot to remain the default.

I will change the kvm package to require both gpxe and etherboot, so the alternatives system takes care of setting the right defaults.

Comment 8 Eduardo Habkost 2009-12-17 18:58:16 UTC
Actually, I will change KVM to require only 'etherboot' back. Users of gpxe will need to install both etherboot and gpxe on their system, but that's a limitation of yum/RPM that doesn't allow us to define a default package for a virtual dependency.

This change will be added:

-# We need PXE roms provided by gpxe or etherboot
-Requires: pxe-zroms-kvm
+# We need PXE roms from either gpxe or etherboot, but we want etherboot
+# by default.
+# yum pulls gpxe because its name is shorter (!) if we require the
+# pxe-roms-qemu virtual package, so we need an explicit etherboot
+# dependency here, unfortunately.
+Requires: etherboot-zroms-kvm

Comment 11 lihuang 2009-12-23 12:12:05 UTC
(In reply to comment #8)
> Actually, I will change KVM to require only 'etherboot' back. Users of gpxe
> will need to install both etherboot and gpxe on their system, but that's a
> limitation of yum/RPM that doesn't allow us to define a default package for a
> virtual dependency.
> 
> This change will be added:
> 
> -# We need PXE roms provided by gpxe or etherboot
> -Requires: pxe-zroms-kvm
> +# We need PXE roms from either gpxe or etherboot, but we want etherboot
> +# by default.
> +# yum pulls gpxe because its name is shorter (!) if we require the
> +# pxe-roms-qemu virtual package, so we need an explicit etherboot
> +# dependency here, unfortunately.
> +Requires: etherboot-zroms-kvm  

lihuang -> Eduardo

/usr/share/qemu-pxe-roms is provided by etherboot-zroms-kvm >= 5.4.4-13

should we point out here ?

on my 5.4, I have 5.4.4-10 installed. so there is no error when updating kvm to 83-140,but the symbolic link is broken.
.qa.[root@lihuang kvm]# file /usr/share/kvm/pxe-rtl8139.bin 
/usr/share/kvm/pxe-rtl8139.bin: broken symbolic link to `../qemu-pxe-roms/rtl8139.zrom'
and then pxe boot failed .


Thanks 
Lijun Huang

Comment 12 Eduardo Habkost 2009-12-23 12:18:58 UTC
(In reply to comment #11)
> (In reply to comment #8)
> > Actually, I will change KVM to require only 'etherboot' back. Users of gpxe
> > will need to install both etherboot and gpxe on their system, but that's a
> > limitation of yum/RPM that doesn't allow us to define a default package for a
> > virtual dependency.
> > 
> > This change will be added:
> > 
> > -# We need PXE roms provided by gpxe or etherboot
> > -Requires: pxe-zroms-kvm
> > +# We need PXE roms from either gpxe or etherboot, but we want etherboot
> > +# by default.
> > +# yum pulls gpxe because its name is shorter (!) if we require the
> > +# pxe-roms-qemu virtual package, so we need an explicit etherboot
> > +# dependency here, unfortunately.
> > +Requires: etherboot-zroms-kvm  
> 
> lihuang -> Eduardo
> 
> /usr/share/qemu-pxe-roms is provided by etherboot-zroms-kvm >= 5.4.4-13
> 
> should we point out here ?

Yes, it's a bug. Thanks for pointing out. I will require a newer etherboot-zroms-kvm version to make sure the version using update-alternatives is used. Thanks!

Comment 13 Eduardo Habkost 2009-12-23 12:30:53 UTC
I changed my mind: I think it's better to open a new BZ for this issue. This doesn't prevent gpxe from being used if the newer etherboot package is actually installed. Moving back to ON_QA.

Comment 14 Eduardo Habkost 2009-12-23 12:34:42 UTC
(In reply to comment #12)
> > 
> > lihuang -> Eduardo
> > 
> > /usr/share/qemu-pxe-roms is provided by etherboot-zroms-kvm >= 5.4.4-13
> > 
> > should we point out here ?
> 
> Yes, it's a bug. Thanks for pointing out. I will require a newer
> etherboot-zroms-kvm version to make sure the version using update-alternatives
> is used. Thanks!  

Reported as https://bugzilla.redhat.com/show_bug.cgi?id=550053

Comment 15 lihuang 2009-12-24 15:46:26 UTC
well. so I am closing this bug since we can choose gpxe/etherboot by 
update-alternatives --config qemu-pxe-roms

correct me if I am wrong 


[root@t77 kvm]# alternatives --config qemu-pxe-roms

There are 2 programs which provide 'qemu-pxe-roms'.

  Selection    Command
-----------------------------------------------
 + 1           /usr/share/gpxe
*  2           /usr/share/etherboot

Enter to keep the current selection[+], or type selection number: 
[root@t77 kvm]# ls -l
total 264
-rw-r--r-- 1 root root 131072 Dec 24 20:16 bios.bin
-rw-r--r-- 1 root root   1536 Dec 24 20:16 extboot.bin
-rwxr-xr-x 1 root root   3815 Dec 24 20:16 formats
drwxr-xr-x 2 root root   4096 Dec 24 22:04 keymaps
lrwxrwxrwx 1 root root     33 Dec 24 22:04 pxe-e1000.bin -> ../qemu-pxe-roms/e1000-82542.zrom
lrwxrwxrwx 1 root root     29 Dec 24 22:04 pxe-ne2k_pci.bin -> ../qemu-pxe-roms/rtl8029.zrom
lrwxrwxrwx 1 root root     29 Dec 24 22:04 pxe-pcnet.bin -> ../qemu-pxe-roms/pcnet32.zrom
lrwxrwxrwx 1 root root     29 Dec 24 22:04 pxe-rtl8139.bin -> ../qemu-pxe-roms/rtl8139.zrom
lrwxrwxrwx 1 root root     32 Dec 24 22:04 pxe-virtio.bin -> ../qemu-pxe-roms/virtio-net.zrom
-rw-r--r-- 1 root root  39936 Dec 24 20:16 vgabios.bin
-rw-r--r-- 1 root root  35840 Dec 24 20:16 vgabios-cirrus.bin
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/e1000-82542.zrom
gpxe-roms-qemu-0.9.7-8.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/rtl8029.zrom 
gpxe-roms-qemu-0.9.7-8.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/pcnet32.zrom
gpxe-roms-qemu-0.9.7-8.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/rtl8139.zrom
gpxe-roms-qemu-0.9.7-8.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/virtio-net.zrom
gpxe-roms-qemu-0.9.7-8.el5
[root@t77 kvm]# 


[root@t77 kvm]# alternatives --config qemu-pxe-roms

There are 2 programs which provide 'qemu-pxe-roms'.

  Selection    Command
-----------------------------------------------
 + 1           /usr/share/gpxe
*  2           /usr/share/etherboot

Enter to keep the current selection[+], or type selection number: 2
[root@t77 kvm]# ls -l
total 264
-rw-r--r-- 1 root root 131072 Dec 24 20:16 bios.bin
-rw-r--r-- 1 root root   1536 Dec 24 20:16 extboot.bin
-rwxr-xr-x 1 root root   3815 Dec 24 20:16 formats
drwxr-xr-x 2 root root   4096 Dec 24 22:04 keymaps
lrwxrwxrwx 1 root root     33 Dec 24 22:04 pxe-e1000.bin -> ../qemu-pxe-roms/e1000-82542.zrom
lrwxrwxrwx 1 root root     29 Dec 24 22:04 pxe-ne2k_pci.bin -> ../qemu-pxe-roms/rtl8029.zrom
lrwxrwxrwx 1 root root     29 Dec 24 22:04 pxe-pcnet.bin -> ../qemu-pxe-roms/pcnet32.zrom
lrwxrwxrwx 1 root root     29 Dec 24 22:04 pxe-rtl8139.bin -> ../qemu-pxe-roms/rtl8139.zrom
lrwxrwxrwx 1 root root     32 Dec 24 22:04 pxe-virtio.bin -> ../qemu-pxe-roms/virtio-net.zrom
-rw-r--r-- 1 root root  39936 Dec 24 20:16 vgabios.bin
-rw-r--r-- 1 root root  35840 Dec 24 20:16 vgabios-cirrus.bin
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/e1000-82542.zrom 
etherboot-zroms-kvm-5.4.4-13.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/rtl8029.zrom
etherboot-zroms-kvm-5.4.4-13.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/pcnet32.zrom
etherboot-zroms-kvm-5.4.4-13.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/rtl8139.zrom
etherboot-zroms-kvm-5.4.4-13.el5
[root@t77 kvm]# rpm -qf ../qemu-pxe-roms/virtio-net.zrom
etherboot-zroms-kvm-5.4.4-13.el5

Comment 17 Eduardo Habkost 2010-01-18 12:01:27 UTC
*** Bug 518097 has been marked as a duplicate of this bug. ***

Comment 18 IBM Bug Proxy 2010-01-18 12:03:18 UTC
F11 has gPXE packaged:
https://bugzilla.redhat.com/show_bug.cgi?id=492181

F12 is planning the switch.
http://fedoraproject.org/wiki/Features/VirtgPXE

Work is already done upstream, just need to pull in for 5.5

Comment 19 IBM Bug Proxy 2010-02-18 20:41:02 UTC
------- Comment From mdroth.ibm.com 2010-02-18 15:37 EDT-------
Verified as fixed on RHEL5.5 beta:

gpxe and etherboot are selectable via `alternatives --config qemu-pxe-roms`; confirmed that qemu correctly utilizes corresponding roms when netbooting with virtio, pcnet, and rtl8139

Comment 21 errata-xmlrpc 2010-03-30 07:56:03 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/RHSA-2010-0271.html


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