[Bug 1404396] Re: [regression] vgabios -> seabios breaks (my) 16-bit applications
Serge Hallyn
1404396 at bugs.launchpad.net
Wed Aug 26 21:37:28 UTC 2015
** Description changed:
+ =======================================================
+ Impact: Unable to run 16-bit applications in windows
+ Fix: turn off VGA_ALLOCATE_EXTRA_STACK
+ 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/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>
+ <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?
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to seabios 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/seabios/+bug/1404396/+subscriptions
More information about the Ubuntu-server-bugs
mailing list