[regression] vgabios -> seabios breaks (my) 16-bit applications
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
seabios (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Unassigned |
Bug Description
=======
Impact: Unable to run 16-bit applications in windows
Fix: turn off VGA_ALLOCATE_
Test case: (see comment #21)
Regression potential: This stops the allocation of extra vga stack so could
conceivably break other applications. However all tests cases in
the qemu regression tests pass, and this has been enabled for some
time in wily.
=======
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/
lrwxrwxrwx 1 root root 22 Dec 10 18:37 /usr/share/
lrwxrwxrwx 1 root root 29 Dec 10 18:37 /usr/share/
lrwxrwxrwx 1 root root 26 Dec 10 18:37 /usr/share/
lrwxrwxrwx 1 root root 29 Dec 10 18:37 /usr/share/
lrwxrwxrwx 1 root root 29 Dec 10 18:37 /usr/share/
TRUSTY $ ls -la /usr/share/
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/
lrwxrwxrwx 1 root root 26 Dec 10 18:50 /usr/share/
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/
lrwxrwxrwx 1 root root 29 Dec 10 18:50 /usr/share/
I installed the vgabios package and made my own tree of symlinks:
$ ls -l /usr/share/
total 0
lrwxrwxrwx 1 root root 27 Dec 17 00:40 bios.bin -> /usr/share/
lrwxrwxrwx 1 root root 23 Dec 17 00:40 keymaps -> /usr/share/
lrwxrwxrwx 1 root root 30 Dec 17 00:40 vgabios.bin -> /usr/share/
lrwxrwxrwx 1 root root 37 Dec 17 00:40 vgabios-cirrus.bin -> /usr/share/
lrwxrwxrwx 1 root root 34 Dec 17 00:40 vgabios-qxl.bin -> /usr/share/
lrwxrwxrwx 1 root root 37 Dec 17 00:40 vgabios-stdvga.bin -> /usr/share/
lrwxrwxrwx 1 root root 37 Dec 17 00:40 vgabios-vmware.bin -> /usr/share/
Then I added this to the guest XML:
<domain type='kvm' xmlns:qemu='http://
<qemu:
<qemu:arg value='-L'/>
<qemu:arg value='
</qemu:
</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:/
Changed in seabios (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
no longer affects: | qemu (Ubuntu Trusty) |
no longer affects: | qemu (Ubuntu) |
description: | updated |
If this could be fixed in seabios that would be ideal. Discussion of a
second-best solution should probably wait unti lwe're certain that is
not possible.
Since with respect to this issue we should be in sync with Debian, I'm curious
whether Debian also has this issue.