13.06.2013 11:51, Michael Tokarev wrote:
Hello.
In order to verify some build issues on solaris, I tried to install sol10 x86 in a kvm vm. But unfortunately it does not work: after the grub prompt and choosing "Solaris 10 x86" boot entry, the kernel gets loaded (there's a row of dots displayed during that), next, the following message gets displayed:
SunOS Release 5.10 Version Generic_147148-26 64-bit Copyright (c) 1983, 2013 Oracle and/or its affiliates. All rights reserved.
and the guest stays there for a long time, spinning up 100% of its CPU, and nothing more happens.
The same happens when run with or without kvm (ie, tcg and kvm behaves the same way).
When run in kvm, kvm_stats shows just a few exits (about 600/sec) and nothing more than that.
I think that supporting solaris as _guest_ OS is an important goal for qemu/kvm (as opposed to _host_).
I tried to bisect this. It turns out that solaris x86 does not boot in qemu/kvm for quite long time already, namely, starting from this commit:
commit 6b034aa138716a515c88f7894940d5d0aff2f3ed Author: Gerd Hoffmann kraxel@redhat.com Date: Tue Apr 17 10:51:41 2012 +0200
seabios: update to 1.7.0
Update roms/seabios and pc-bios/bios.bin to the 1.7.0 release. Most noticable new feature is virtio-scsi support.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com
So I went on and tried to bisect seabios (previous version in qemu was 1.6.3.2, and it worked).
So seabios bisection with qemu-1.1 points to this commit:
commit 9d3d7cb4b163d3fbcba64a01c4fa42eb6bc53128 Author: Kevin O'Connor kevin@koconnor.net Date: Wed Sep 21 21:19:51 2011 -0400
Move code from PCI hotplug DSDT macros to methods.
Simplify the hotplug code by moving the bulk of the logic out of the macros and into static method definitions. This also reduces the ACPI DSDT code size.
Signed-off-by: Kevin O'Connor kevin@koconnor.net
Now, I don't really understand what's going on there... ;)
And since this is DSDT, using seabios 1.6 with recent qemu does not solve the problem, since DSDT is now external/separate.
Thanks,
/mjt