[Bug 1404396] [NEW] [regression] vgabios -> seabios breaks (my) 16-bit applications

Richard Laager rlaager at wiktel.com
Fri Dec 19 22:25:40 UTC 2014


Public bug reported:

Upgrading from Ubuntu Precise to Ubuntu Trusty broke one of my guests.

I've recently upgraded a host from Ubuntu Precise (qemu-kvm-1.0) to
Ubuntu Trusty (qemu 2.0.0). I have a Windows 2008 32-bit OS running on a
64-bit VM that runs a 16-bit line of business application. (While I
realize that "upgrade the application" is the right answer, I can't.)
The Windows VM boots, but the business application crashes on startup.
Changing the VM to be a 32-bit VM doesn't help.

After several hours of compiling and testing intermediate qemu versions,
I accidentally stumbled into the real issue. Trusty has switched from
vgabios to seabios:

PRECISE $ ls -la /usr/share/qemu/vgabios*
lrwxrwxrwx 1 root root 22 Dec 10 18:37 /usr/share/qemu/vgabios.bin -> ../vgabios/vgabios.bin
lrwxrwxrwx 1 root root 29 Dec 10 18:37 /usr/share/qemu/vgabios-cirrus.bin -> ../vgabios/vgabios.cirrus.bin
lrwxrwxrwx 1 root root 26 Dec 10 18:37 /usr/share/qemu/vgabios-qxl.bin -> ../vgabios/vgabios.qxl.bin
lrwxrwxrwx 1 root root 29 Dec 10 18:37 /usr/share/qemu/vgabios-stdvga.bin -> ../vgabios/vgabios.stdvga.bin
lrwxrwxrwx 1 root root 29 Dec 10 18:37 /usr/share/qemu/vgabios-vmware.bin -> ../vgabios/vgabios.vmware.bin

TRUSTY $ ls -la /usr/share/qemu/vgabios*
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/qemu/vgabios.bin -> ../seabios/vgabios-isavga.bin
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/qemu/vgabios-cirrus.bin -> ../seabios/vgabios-cirrus.bin
lrwxrwxrwx 1 root root 26 Dec 10 18:50 /usr/share/qemu/vgabios-qxl.bin -> ../seabios/vgabios-qxl.bin
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/qemu/vgabios-stdvga.bin -> ../seabios/vgabios-stdvga.bin
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/qemu/vgabios-vmware.bin -> ../seabios/vgabios-vmware.bin

I installed the vgabios package and made my own tree of symlinks:

$ ls -l /usr/share/wiktel-server-vmhost/vgabios/
total 0
lrwxrwxrwx 1 root root 27 Dec 17 00:40 bios.bin -> /usr/share/seabios/bios.bin
lrwxrwxrwx 1 root root 23 Dec 17 00:40 keymaps -> /usr/share/qemu/keymaps
lrwxrwxrwx 1 root root 30 Dec 17 00:40 vgabios.bin -> /usr/share/vgabios/vgabios.bin
lrwxrwxrwx 1 root root 37 Dec 17 00:40 vgabios-cirrus.bin -> /usr/share/vgabios/vgabios.cirrus.bin
lrwxrwxrwx 1 root root 34 Dec 17 00:40 vgabios-qxl.bin -> /usr/share/vgabios/vgabios.qxl.bin
lrwxrwxrwx 1 root root 37 Dec 17 00:40 vgabios-stdvga.bin -> /usr/share/vgabios/vgabios.stdvga.bin
lrwxrwxrwx 1 root root 37 Dec 17 00:40 vgabios-vmware.bin -> /usr/share/vgabios/vgabios.vmware.bin

Then I added this to the guest XML:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <qemu:commandline>
    <qemu:arg value='-L'/>
    <qemu:arg value='/usr/share/wiktel-server-vmhost/vgabios'/>
  </qemu:commandline>
</domain>

This makes it work. Is this the long-term answer? Or should this change
from vgabios to seabios be reverted? Or should libvirt be modified to
accept <rom file="..."> for <video>, as discussed here:
https://bugzilla.redhat.com/show_bug.cgi?id=811227#c9 Or should I try to
get the seabios developers to help debug and fix this?

** Affects: qemu (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to qemu in Ubuntu.
https://bugs.launchpad.net/bugs/1404396

Title:
  [regression] vgabios -> seabios breaks (my) 16-bit applications

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1404396/+subscriptions



More information about the Ubuntu-server-bugs mailing list