VMWare Fusion 2.0 beta2 supports virtualizing Mac OS X Server as a guest OS. If you try to install a Leopard or Snow Leopard Client guest, you get an error. The guest operating system is not Mac OS X Server. I have taken a few bits and pieces from different websites I have searched and put together the following. I take no credit for this as it’s a joint venture produced from a lot of other hard work done by numerous people.
If you create an ISO/CDR image from your Leopard install DVD, mount it then do
touch “/Volumes/Mac OS X Install DVD/System/Library/CoreServices/ServerVersion.plist”
then unmount it, you can now use that image to install Leopard Client into VMWare with no complaints. After you install, reboot VMWare from the install DVD ISO again, run Terminal and
touch “/Volumes/Macintosh HD/System/Library/CoreServices/ServerVersion.plist”
then reboot from the HD.
**This violates Apple’s license agreement so don’t do it, I certainly wouldn’t.**
You can automate the deletion and creation of the ServerVersion.plist file using a LaunchDaemon. Put the following xml in a new file:
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN”
<string>/bin/rm -f /System/Library/CoreServices/ServerVersion.plist; trap “/usr/bin/touch /System/Library/CoreServices/ServerVersion.plist; exit” SIGINT SIGTERM SIGHUP; sleep 999999 & wait $!</string>
sudo launchctl load /Library/LaunchDaemons/com.rectalogic.vmware.plist
Now when you login ServerVersion.plist will be deleted, when you shutdown it will be recreated ready for the next reboot.
One alternative approach that seems to make the most sense and works very well and is discussed in the comments is to hack VMWare to disable the check for server. Open Terminal and paste the following in to it:
cd “/Library/Application Support/VMware Fusion/isoimages”
mv darwin.iso tools-key.pub *.sig original
perl -n -p -e ‘s/ServerVersion.plist/SystemVersion.plist/g’ < original/darwin.iso > darwin.iso
openssl genrsa -out tools-priv.pem 2048
openssl rsa -in tools-priv.pem -pubout -out tools-key.pub
openssl dgst -sha1 -sign tools-priv.pem < darwin.iso > darwin.iso.sig
for A in *.iso ; do openssl dgst -sha1 -sign tools-priv.pem < $A > $A.sig ; done