OpenSolaris

  subsites:   Code Reviews   Gates   Issues   Defects   Polls   Test   PKG   Planet   Mail
You are not signed in. Sign in or register.

Building and Installing QEMU on a Solaris 10 or SXCE Host (Updated July 03, 2008)

Update July 03, 2008

Updated kqemu-1.4.0pre1 (fix file name 1.0.4pre1 -> 1.4.0pre1) and increase default monitor size from 32MB to 128MB.

Updated kqemu-1.3.0pre11 (fix file name 1.0.3pre11 -> 1.3.0pre11) and increase default monitor size from 32MB to 128MB.

Intro:

QEMU with the TCG generator and KQEMU-1.4.0pre1 are used together, or QEMU with the Dyngen generator and KQEMU-1.3.0pre11 are used together. Do not mix the two code bases.

Prerequisites:

and

# OR

and

  • gcc3.4.x with the existing Dyngen code on the QEMU OpenSolarisProject page, gcc-3.4.x is required. with the current SVN TCG code, we may be able to use gcc4 or Studio 12.
  • libSDL. Native on Solaris Express Build 62 or later; otherwise, you will need to roll your own from source, or install the Blastwave package. Note the Blastwave package is 32-bit only
  • /usr/ccs/bin/ar – the library archiver
  • /usr/sfw/bin/texi2html – convert texinfo files to html
  • pod2man – from /usr/perl5/bin, or /opt/csw/bin if using Blastwave
  • gmake – from /usr/sfw/bin, or /opt/csw/bin if using Blastwave
  • ginstall – from /opt/csw/bin (CSWfileutils) or use —install=/usr/ucb/install
  • Optional
  • Open Sound System. By default, QEMU can use SunAudio through libSDL, but the Open Sound System produces better results

Consult the dependencies page for more detailed information. Pre-packaged and patched sources are available from the downloads page.

Your path should look something like this if you're using Sun's provided GCC and libSDL (as is available on Solaris Express Build 62 or later):

PATH=/usr/sfw/bin:/usr/bin:/usr/ccs/bin:/usr/perl5/bin

If you are compiling QEMU for a 64-bit host on Nevada Build 62 or later, your path should look like:

PATH=/usr/bin/amd64:/usr/sfw/bin:/usr/ccs/bin:/usr/perl5/bin

If you are using Sun's provided GCC and libSDL from Blastwave on a 32-bit host:

PATH=/usr/sfw/bin:/usr/bin:/usr/ccs/bin:/usr/perl5/bin:/opt/csw/bin

If you are using Blastwave's gcc and libSDL:

PATH=/opt/csw/gcc3/bin:/opt/csw/bin:/usr/sfw/bin:/usr/bin:/usr/ccs/bin:/usr/perl5/bin

If you are compiling QEMU for a 64-bit host and you want to roll everything from source, then you will need the 64-bit version of sdl-config and Sun's GCC at the beginning of the path as follows:

PATH=/opt/local/bin/amd64:/usr/sfw/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/perl5/bin:/opt/csw/bin

Building and Installing QEMU

If you're reading this page, you get the hint that you need to disable the gcc check, which assumes that you haven't read any of the documentation yet. Seeing as you're here, you are expected to be using a recommended gcc compiler…

32-bit:

./configure —prefix=/opt/qemu —target-list=i386-softmmu —disable-gcc-check

gmake install

64-bit:

./configure —prefix=/opt/qemu —target-list=x86_64-softmmu,i386-softmmu —disable-gcc-check

gmake install

Note: do not use any of the —sparc_cpu configure directives. They may not function as you expect on Solaris. The defaults are working correctly on a Sparc processor running Solaris.

Building and Installing the KQEMU Module

(duplicating the contents of README.solaris in the kqemu tarball)

32-bit:

./configure

gmake kqemu32

gmake install32

chmod 666 /dev/kqemu

64-bit:

./configure

gmake kqemu64

gmake install64

chmod 666 /dev/kqemu