Bug 1114432 - Invalid symlinks in /usr/share/qemu to ixpe.efi ROM files
Summary: Invalid symlinks in /usr/share/qemu to ixpe.efi ROM files
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: qemu
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Lubomir Rintel
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-30 05:27 UTC by Ian Wienand
Modified: 2014-11-22 04:13 UTC (History)
15 users (show)

Fixed In Version: qemu-2.0.0-1.el7.3
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-22 04:13:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ian Wienand 2014-06-30 05:27:11 UTC
Description of problem:

There are a number of invalid symlinks in /usr/share/qemu

---
[root@localhost qemu]# find -L . -type l -ls
 44057    0 lrwxrwxrwx   1 root     root           24 Jun 29 23:44 ./efi-rtl8139.rom -> ../ipxe.efi/10ec8139.rom
 44058    0 lrwxrwxrwx   1 root     root           24 Jun 29 23:44 ./efi-virtio.rom -> ../ipxe.efi/1af41000.rom
 44055    0 lrwxrwxrwx   1 root     root           24 Jun 29 23:44 ./efi-ne2k_pci.rom -> ../ipxe.efi/10ec8029.rom
 44054    0 lrwxrwxrwx   1 root     root           24 Jun 29 23:44 ./efi-e1000.rom -> ../ipxe.efi/8086100e.rom
 44051    0 lrwxrwxrwx   1 root     root           24 Jun 29 23:44 ./acpi-dsdt.aml -> ../seabios/acpi-dsdt.aml
 44056    0 lrwxrwxrwx   1 root     root           24 Jun 29 23:44 ./efi-pcnet.rom -> ../ipxe.efi/10222000.rom
 44067    0 lrwxrwxrwx   1 root     root           28 Jun 29 23:44 ./q35-acpi-dsdt.aml -> ../seabios/q35-acpi-dsdt.aml
---

This leads to output like

---
qemu-system-x86_64: -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:5a:41:cd,bus=pci.0,addr=0x3: pci_add_option_rom: failed to find romfile "efi-virtio.rom"
---

in the log files

I can see these ipxe.efi links being setup by the spec file (which I guess comes from [1]) however AFAICS the corresponding ipxe.efi/* files weren't added to the build until [2] and are not in ipxe-roms-qemu-20130517-5.gitc4bce43.el7

Versions:

---
[root@localhost qemu]# rpm -qa | grep qemu
qemu-img-1.5.3-60.el7.x86_64
qemu-kvm-common-1.5.3-60.el7.x86_64
ipxe-roms-qemu-20130517-5.gitc4bce43.el7.noarch
qemu-kvm-1.5.3-60.el7.x86_64
qemu-common-2.0.0-1.el7.1.x86_64
qemu-system-x86-2.0.0-1.el7.1.x86_64
---

[1] http://pkgs.fedoraproject.org/cgit/qemu.git/tree/qemu.spec?h=f20#n1211
[2] http://pkgs.fedoraproject.org/cgit/ipxe.git/commit/?id=9eea98cb5be0a442ebede50d51e127d8d3edaa58
[3] https://apps.fedoraproject.org/packages/ipxe-roms-qemu

Comment 3 Miroslav Rezanina 2014-07-01 04:22:48 UTC
We explicitly disabled EFI roms in rhel 7 so they are not present and used. As unofficial build o qemu-kvm is used, appropriate ipxe has to be used.

Comment 6 Ian Wienand 2014-07-02 03:52:39 UTC
OK, I see what is going on now

---
2014-07-02 01:56:44.352 | Installing:
2014-07-02 01:56:44.352 |  qemu-system-x86   x86_64   2:2.0.0-1.el7.1               epel            3.4 M
---

qemu-system-x86 is coming from EPEL, where it is version 2.0.0

I think the problem is this is not bringing in a late-enough version of qemu-ipxe-roms [1], which is still coming from the rhel7 versions.  Hence these broken links.

[1] http://pkgs.fedoraproject.org/cgit/qemu.git/tree/qemu.spec?h=f20#n627

Comment 7 Miroslav Rezanina 2014-07-02 05:02:55 UTC
Issue is in incompatible ipxe and qemu-system-x86. To solve the issue, proper ipxe has to be installed.

Comment 8 Jan ONDREJ 2014-10-07 12:55:51 UTC
Same problem here. There are also other problems with symlinks from qemu. Here are broken symlinks:

[root@vs qemu]# find . -type l -xtype l -exec ls -l {} \;
lrwxrwxrwx. 1 root root 24 Oct  7 08:03 ./acpi-dsdt.aml -> ../seabios/acpi-dsdt.aml
lrwxrwxrwx. 1 root root 24 Oct  7 08:03 ./efi-virtio.rom -> ../ipxe.efi/1af41000.rom
lrwxrwxrwx. 1 root root 24 Oct  7 08:03 ./efi-rtl8139.rom -> ../ipxe.efi/10ec8139.rom
lrwxrwxrwx. 1 root root 24 Oct  7 08:03 ./efi-ne2k_pci.rom -> ../ipxe.efi/10ec8029.rom
lrwxrwxrwx. 1 root root 28 Oct  7 08:03 ./q35-acpi-dsdt.aml -> ../seabios/q35-acpi-dsdt.aml
lrwxrwxrwx. 1 root root 24 Oct  7 08:03 ./efi-e1000.rom -> ../ipxe.efi/8086100e.rom
lrwxrwxrwx. 1 root root 24 Oct  7 08:03 ./efi-pcnet.rom -> ../ipxe.efi/10222000.rom

If you think, this is a problem of other component, please change component in this bug.

This bug breaks booting from network with qemu-2.0.0.

Comment 10 Jeff Nelson 2014-10-08 00:52:54 UTC
Jan, please provide the output of the following:

   # yum list installed | egrep 'qemu|seabios|ipxe'

Please also provide the URLs for the repositories from which these packages were installed.

Thanks.

Comment 11 Jan ONDREJ 2014-10-08 06:07:46 UTC
Here it is:

ipxe-bootimgs.noarch                  20130517-5.gitc4bce43.el7        @base    
ipxe-roms.noarch                      20130517-5.gitc4bce43.el7        @base    
ipxe-roms-qemu.noarch                 20130517-5.gitc4bce43.el7        @base    
libvirt-daemon-driver-qemu.x86_64     1.1.1-29.el7_0.3                 @updates 
qemu-common.x86_64                    2:2.0.0-1.el7.1                  @epel    
qemu-img.x86_64                       10:1.5.3-60.el7_0.7.0.1          @updates 
qemu-kvm-common.x86_64                10:1.5.3-60.el7_0.7.0.1          @updates 
qemu-kvm-tools.x86_64                 10:1.5.3-60.el7_0.7.0.1          @updates 
qemu-system-x86.x86_64                2:2.0.0-1.el7.1                  @epel    
qemu-user.x86_64                      2:2.0.0-1.el7.1                  @epel    
seabios.x86_64                        1.7.2.2-12.el7_0.1               @updates 
seabios-bin.x86_64                    1.7.2.2-12.el7_0.1               @updates 

Btw, unable to install these files. Trying to install symlink target:

[root@vs3 ~]# yum install /usr/share/ipxe.efi/1af41000.rom
No package /usr/share/ipxe.efi/1af41000.rom available.

I use only standard CentOS 7 repository and EPEL, as you see from yum list.
ftp://ftp.upjs.sk/pub/centos/7/
ftp://ftp.upjs.sk/pub/mirrors/epel/7/

I don't know, which URL's you need exactly. They are default repositories for centos. I you need urls to some packages, I can give you.

Comment 12 Richard W.M. Jones 2014-10-10 12:35:45 UTC
A word of caution about the patch that went in:

http://pkgs.fedoraproject.org/cgit/qemu.git/commit/?h=epel7&id=baadb31598bd962b4ac554dfc803d0af99a88737

seabios >= 1.7.4 is required in order for certain Windows
guests to boot.  The problem won't be apparent unless you
specifically test a range of Windows guests (Linux guests will
work fine).

So you may need to add that versioned require back, or update
seabios in EPEL 7.

Comment 13 Fedora Update System 2014-10-10 13:26:27 UTC
qemu-2.0.0-1.el7.2 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/qemu-2.0.0-1.el7.2

Comment 14 Lubomir Rintel 2014-10-10 13:58:56 UTC
(In reply to Richard W.M. Jones from comment #12)
> A word of caution about the patch that went in:
> 
> http://pkgs.fedoraproject.org/cgit/qemu.git/commit/
> ?h=epel7&id=baadb31598bd962b4ac554dfc803d0af99a88737
> 
> seabios >= 1.7.4 is required in order for certain Windows
> guests to boot.  The problem won't be apparent unless you
> specifically test a range of Windows guests (Linux guests will
> work fine).
> 
> So you may need to add that versioned require back, or update
> seabios in EPEL 7.

Seabios is provided from RHEL, not EPEL. Nothing we can do anything about.

Comment 15 Lubomir Rintel 2014-10-10 14:03:25 UTC
(In reply to Jan ONDREJ from comment #8)
> This bug breaks booting from network with qemu-2.0.0.

It should not; it should merely do so for EFI guests. In case you need support for EFI guests, you need to add a separate package to EPEL.

Comment 16 Fedora Update System 2014-10-11 00:08:56 UTC
Package qemu-2.0.0-1.el7.2:
* should fix your issue,
* was pushed to the Fedora EPEL 7 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing qemu-2.0.0-1.el7.2'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-3271/qemu-2.0.0-1.el7.2
then log in and leave karma (feedback).

Comment 17 Fedora Update System 2014-10-28 11:07:02 UTC
Package qemu-2.0.0-1.el7.3:
* should fix your issue,
* was pushed to the Fedora EPEL 7 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing qemu-2.0.0-1.el7.3'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2014-3271/qemu-2.0.0-1.el7.3
then log in and leave karma (feedback).

Comment 18 Fedora Update System 2014-11-22 04:13:25 UTC
qemu-2.0.0-1.el7.3 has been pushed to the Fedora EPEL 7 stable repository.  If problems still persist, please make note of it in this bug report.


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