Bug 1431403

Summary: qemu-system-ppc64 has the wrong path to vgabios-stdvga.bin
Product: [Fedora] Fedora Reporter: Daniel Black <daniel>
Component: qemuAssignee: Fedora Virtualization Maintainers <virt-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: amit, berrange, cfergeau, crobinso, daniel, dwmw2, itamar, pbonzini, pwhalen, rjones, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: qemu-2.7.1-6.fc25 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-04-19 09:25:00 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 245418    

Description Daniel Black 2017-03-12 03:04:23 UTC
Description of problem:

qemu-system-ppc64 has incorrect information about where vgabios-stdvga.bin is installed on Fedora.

Version-Release number of selected component (if applicable):

dnf info qemu-system-ppc
Last metadata expiration check: 19:37:18 ago on Sat Mar 11 18:13:19 2017.
Installed Packages
Name        : qemu-system-ppc
Arch        : x86_64
Epoch       : 2
Version     : 2.7.1
Release     : 2.fc25


How reproducible:

Always

Steps to Reproduce:

1.emu-system-ppc64 -kernel   output/images/vmlinux  -initrd  output/images/rootfs.cpio 

Actual results:

qemu-system-ppc64: Initialization of device VGA failed: failed to find romfile "vgabios-stdvga.bin"


Expected results:

vga screen of kernel starting

Additional info:

locate vgabios-stdvga.bin
/usr/share/seavgabios/vgabios-stdvga.bin

strace -fe trace=file qemu-system-ppc64 -kernel   output/images/vmlinux  -initrd  output/images/rootfs.cpio 

[pid 32236] access("vgabios-stdvga.bin", R_OK) = -1 ENOENT (No such file or directory)
[pid 32236] access("/usr/share/qemu/vgabios-stdvga.bin", R_OK) = -1 ENOENT (No such file or directory)
[pid 32236] access("/usr/share/qemu/vgabios-stdvga.bin", R_OK) = -1 ENOENT (No such file or directory)
[pid 32236] open("vgabios-stdvga.bin", O_RDONLY) = -1 ENOENT (No such file or directory)
qemu-system-ppc64: Initialization of device VGA failed: failed to find romfile "vgabios-stdvga.bin"
qemu-system-ppc64: Initialization of device VGA failed: failed to find romfile "vgabios-stdvga.bin"
[pid 32238] +++ exited with 1 +++
[pid 32237] +++ exited with 1 +++
+++ exited with 1 +++

Workaround:

Changing to the /usr/share/seavgabios does load as the cwd is checked

Comment 1 Cole Robinson 2017-03-13 14:31:12 UTC
Thanks for the report. If you install qemu-system-x86, do things start working?

Comment 2 Cole Robinson 2017-03-16 19:33:30 UTC
ppc64 emulation tries to load the x86 roms, so we need to move them from qemu-system-x86 to qemu-common. Moving to POST since this is just a packaging change

Comment 3 Daniel Black 2017-03-19 02:27:43 UTC
yes, installing qemu-system-x86 got past the errors associated with missing bios.

Seems as though this just installs a symlink.

$ ls -la  /usr/share/seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
lrwxrwxrwx 1 root root    32 Jan 17 08:17 /usr/share/qemu/vgabios-stdvga.bin -> ../seavgabios/vgabios-stdvga.bin
-rw-r--r-- 1 root root 39424 Aug  4  2016 /usr/share/seavgabios/vgabios-stdvga.bin

Comment 4 Paul Whalen 2017-04-05 18:34:38 UTC
This also affects guests on aarch64.

virt-install          --name Fedora_25_AArch64 --ram 4096 --arch aarch64       --disk size=8 --os-variant fedora22         --location https://dl.fedoraproject.org/pub/fedora-secondary/releases/25/Everything/aarch64/os/

Starting install...
Retrieving file vmlinuz...                                                                                                                                                                                            |  14 MB  00:00:07 !!! 
Retrieving file initrd.img...                                                                                                                                                                                         |  39 MB  00:00:04     
Allocating 'Fedora_25_AArch64.qcow2'                                                                                                                                                                                  | 8.0 GB  00:00:00     
ERROR    internal error: process exited while connecting to monitor: 2017-04-05T18:12:38.106682Z qemu-system-aarch64: -serial pty: char device redirected to /dev/pts/1 (label serial0)
2017-04-05T18:12:38.235242Z qemu-system-aarch64: -device virtio-net-pci,host_mtu=1500,netdev=hostnet0,id=net0,mac=52:54:00:7e:98:8d,bus=pci.1,addr=0x0: failed to find romfile "efi-virtio.rom"
Domain installation does not appear to have been successful.

After installing qemu-system-x86, the guest booted as expected.

Version:
qemu-system-aarch64-2.9.0-0.1.rc2.fc26.aarch64

Comment 5 Fedora Update System 2017-04-15 18:24:18 UTC
qemu-2.7.1-6.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-01925dba3c

Comment 6 Fedora Update System 2017-04-16 21:23:42 UTC
qemu-2.7.1-6.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-01925dba3c

Comment 7 Fedora Update System 2017-04-19 09:25:00 UTC
qemu-2.7.1-6.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 8 Daniel Black 2017-04-30 01:52:29 UTC
Thank you Paul and Cole.