QEMU for Solaris x86

QEMU is a CPU emulator. While it can do a lot of different things, for now, think of it as a virtual x86 box which runs as a user process. The kernel group in Menlo Park hosted an intern this summer who worked on (among other things) getting QEMU up and running well on Solaris, and getting Solaris to install and boot inside of QEMU.

We need to do some more work on this before it is ready for “prime time” but it looks promising. Eric pointed out to me that QEMU and technologies like it will
more easily enable folks to contribute to the Open Source Solaris effort, and that’s important. On the
other hand, it won’t help people trying to write drivers (where I hope we’ll see a lot of community activity),
as the emulated x86 system is pretty minimal.

The great news is that we’re not alone in believing in QEMU: ThinkSolaris.com [2/2006: Now defunct] has posted a QEMU binary for x86, and some screenshots.
Andrei showed up in my office today with a demo of
running WindowsXP inside of QEMU using the packages he downloaded from ThinkSolaris. However– there is more to do.
We need to get networking up and running before QEMU will be really useful, and our intern identified the interface between
Solaris (running inside QEMU) and the QEMU IDE emulation as a major performance problem. As a kernel developer I’m looking
forward to being able to boot Solaris atop Solaris using an open emulation technology…

UPDATE: To be clear, I’m not announcing any policy that we’re planning to ship QEMU, nor is it part of our virtualization strategy at this time. For more about our approach to OS virtualization, please take a look at Solaris Zones. I am interested in QEMU because it offers an interesting possibility for doing routine kernel development work on a subset of kernel subsystems.

UPDATE 2: Thanks to the indefatiguable Jurgen Keil we now have
working networking! Hooray! A suggestion to Martin et al: Packaging this for blastwave.org (/opt/csw) would
be fantastic.