Building and running QEMU 1.0 on Mac OS X

Screenshot showing Windows 2000, Windows 3.11 and FreeBSD 8.2 running in QEMU 1.0!

After eight years of continuous development, QEMU 1.0 came out on the first of December. After assembling our Christmas tree this afternoon, I set to work building it on my Mac :).

Screenshot of my venerable MacBook Pro running Windows 2000, Windows 3.11 for Workgroups under PC DOS 2000 and FreeBSD 8.2 in the all new QEMU 1.0 :). All fully licenced I might add, I don’t run pirated software thank you very much!

My build environment

  • I like to build my own sources in the default /usr/local like a good FreeBSD-heritage guy, its one of the reasons I went back to MacPorts from Homebrew. Use –build-target during the ./configure stage to change the default.

  • To save myself time and only install what I need, I generally only build i386 and alpha. Don’t specify any and you’ll build them all by default.

  • I can’t get enough of that authentic retro adlib sound, so I build the optional support for this too, along with the widely supported (and also optional) AC97. You can safely ignore these and it will build with default Sound Blaster 16.

  • If you’re attempting to build QEMU on a case-insenstive file system, you may run into an error with softfloat.h. I’ve since written a post about how to fix this.

Installing from source

  1. Log in as root (or the closest we can get to it on OS X):

    % sudo -s
  2. Grab and extract the latest sources, in this case the glorious 1.0! I put mine in /usr/local/src to keep things tidy.

  3. Configure with the options you want, for all the available options, use the --help flag. In my case:

    # ./configure \
    --enable-cocoa \
    --target-list=i386-softmmu,alpha-softmmu \
  4. Now build:

    # make
    # make install
    # make clean distclean

All done

Huge amount of thanks to Fabrice Bellard and all the QEMU committers for their incredible amount of wok over these 8 years. I use your software on a daily basis for work and play.

Now all we need is isapc support back ;).