First of all, this hint (which is based on some very good previous hints appearing here) is only of academic interest, almost as a proof of concept, for now (at least until Apple will change their licensing terms). So, let's take it only as an -- I hope interesting -- exercise to understand things a little better.
So, why would one hypothetically want to do all this? Well, it could be very good for running legacy, up-to-Tiger-only programs (see, for example, Photoshop 7, which won't run on Leopard; etc.) and/or for testing software in a Tiger/Intel environment, without being forced to have a partition dedicated to Tiger. So, Apple, it would really be a great thing to permit virtualization of *all* your Intel-compatible OSes, both server and client, starting from Tiger and upwards.
Now, assuming you have a machine-specific Mac OS X 10.4.x Tiger DVD for Intel, and want to try to run this operating system as a virtual machine through VMware Fusion 2.x, on the same computer upgraded to Leopard? Well, let's try to do this in an as simple way as possibile, from within Mac OS X 10.5.x Leopard...
Read on for my how-to...
- Create a new Mac OS X 10.5 Server 64-bit (the default setting) virtual Machine (VM) in VMware Fusion; don't start it, then quit Fusion.
- Navigate to the VM package's position (by default located in ~/Documents » Virtual Machines, unless you have changed it). Control-click on the package, then choose More » Mount Virtual Disk from the pop-up menu, thus mounting the pre-formatted (with HFS+ Journaled) VM disk on the Desktop.
- Insert your Tiger/Intel DVD and navigate to /System » Installation » Packages » OSInstall.mpkg, then double-click it to open the Mac OS X installer.
- In the Mac OS X installer, select the mounted VM disk as the target, and then install Tiger as usual: now, as you install from within your specific machine, the installer won't complain, even if you select a virtual disk image as the target disk (and not, for example, your internal HD).
- Once the install is complete (no reboot needed), exit the installer.
- Open the Terminal and issue the command:
sudo touch "/Volumes/Macintosh HD/System/Library/CoreServices/ServerVersion.plist"This makes it possibile to run the client version in a server-based VM; if you renamed the VM disk, of course, use the actual name instead of the default Macintosh HD.
- Also in Terminal, do this:
sudo nano "/Volumes/Macintosh HD/Library/LaunchDaemons/com.automate.vmware.plist"You can use whatever name you want to insted of automate, but leave the rest alone. Then paste this text into the new file:This will automate the creation and deletion of the ServerVersion.plist file, so Fusion thinks that the OS is server before booting it, while OS X thinks that it correctly is the client once booted. Then use the usual Control-O, Enter, and Control-X to save the file. Finally, unmount the VM disk from the Finder.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.automate.vmware</string> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>-c</string> <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> </array> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/> </dict> </plist> - Open VMware Fusion and then start the Mac OS X VM in the Virtual Machine Library: everything should be OK, as in an ordinary VM, and you will boot into a virtualized Mac OS X Tiger, where you can do the usual things.
- This is probably optional, but while booted into Tiger for the first time, open the Terminal and issue this command:
It should say that it's already loaded, if things are working right.sudo launchctl load /Library/LaunchDaemons/com.automate.vmware.plist
If you want a better screen resolution than the default 1024x768 one, edit the /Library » Preferences » SystemConfiguration » com.apple.Boot.plist file with nano (see above) or TextEdit from within the Tiger VM, adding this:
<key>Graphics Mode</key>
<string>1680x1050x32</string>
Replace with whatever resolution and color depth you want. Add this immediately after the <string>Yes</string> line. Save the file, and you will reboot with that resolution as the default one the next time you boot.
Full screen view works at the specified resolution, while windowed mode view is scaled down, due to the lack of Tiger-compatible VMware Tools.
BTW, personally I found that NAT networking worked better than the default bridged mode (but that might also depend on your router, etc.); Sadly, there is still no sound support in Fusion for Mac OS X-based VMs.
[robg adds: I haven't tested this one. It's similar to this previous hint, but specific to virtualizing 10.4 machine-specific DVD discs. Given how I make my living, I share the author's opinion that Apple should allow virtualization of all the Intel-capable OSes. I know it'd make my life much simpler!]

