Welcome to Snow Leopard: Mac OS X 10.6 and VMware Workstation 7

You know how things get easier with practice? Well, there wasn’t much required for this feat: Installing Mac OS X 10.6 (a.k.a. Snow Leopard) into a VMware Workstation 7 virtual machine. Workstation 7 appears to have greatly improved support for the Mac operating systems to the point that installing Snow Leopard into a virtual machine is much easier than it was with Mac OS X 10.5.6 under VMware 6.5.2. In fact, in this version (I’m using 7.0.0 build-203739), you can install VMware Tools yourself, and enable sound!

Credit Where It’s Due

I actually did very little experimentation/exploration this time. I did some cherry picking of steps from a number of places (most notably, the Insanely Mac forums). I give particular credit to Talyn’s post in that forum for giving me the clue to use the ISO image instead of the DMG, and for the Ensoniq audio driver link.

Part 1: Baking the Cake

Here We Go…

Before you begin making any modifications, please read through these instructions at least once, just to make all the steps are clear and that you haven’t missed anything.

Let’s get started:

  1. First, get yourself the retail version of Mac OS X 10.6 (Snow Leopard). This will only work with the retail version of the operating system DMG. Use your favorite search site to find the DMG. Since you’ll need to use the ISO version for this tutorial, you might want to find that instead, allowing you to skip the next step.
  2. Next, convert the DMG file into an ISO. I used dmg2iso to convert my retail DMG to ISO. If you plan to use a converter other than the one I’m recommending, beware of converters that create ISOs that are considerably smaller than the original DMG. They probably won’t work.
  3. Download darwin-wks7.zip and extract its single file, “darwin.iso”. You’ll be using this in a couple of places, so remember where you saved it.
  4. Grab vmware-darwin-200.zip, and extract its contents. This will create a folder called “vmware-darwin-200/” that contains all the archive’s files. This distribution will need to be installed into your VMware Workstation 7 directory. Although instructions for installing this are included with the archive, it simply takes a “setup.cmd install” from within the extracted folder to complete. However, before you actually perform the install, you need to copy the “darwin.iso” file you extracted from darwin-wks7.zip into the “vmware-darwin-200/” folder, replacing the file with the same name that is already there. Once the new “darwin.iso” is in place, you may proceed with the install.
  5. In VMware Workstation 7, create a new virtual machine. You should use the same settings as those documented in Mac OS X 10.5.6 under VMware 6.5.2. The interface has changed a bit in VMware Workstation 7, so some screen shots will not be exact. However, it doesn’t have to be an exact match, since in this tutorial, instead of altering one or two lines of the resulting VMX file as we did in the Leopard tutorial, we’ll be replacing the contents of the entire file as well.
  6. At this point, close Workstation 7. Locate the VMX file that was newly created for your VM; for example, if you named your VM “Mac OS X 10.6″, then the file you’ll want to locate is called “Mac OS X 10.6.vmx”. Open this file in your favorite text editor (not a word processor!), and replace the entire contents of the file with the following text:
    .encoding = "windows-1252"
    config.version = "8"
    virtualHW.version = "7"
    maxvcpus = "4"
    scsi0.present = "TRUE"
    scsi0.virtualDev = "lsilogic"
    memsize = "1024"
    scsi0:0.present = "TRUE"
    scsi0:0.fileName = "Mac OS X 10.6.vmdk"
    ide1:0.present = "TRUE"
    ide1:0.fileName = "M:\SL.iso"
    ide1:0.deviceType = "cdrom-image"
    floppy0.startConnected = "FALSE"
    floppy0.fileName = ""
    floppy0.autodetect = "TRUE"
    ethernet0.present = "TRUE"
    ethernet0.connectionType = "bridged"
    ethernet0.virtualDev = "e1000"
    ethernet0.wakeOnPcktRcv = "FALSE"
    ethernet0.addressType = "generated"
    usb.present = "TRUE"
    ehci.present = "TRUE"
    sound.present = "TRUE"
    sound.fileName = "-1"
    sound.autodetect = "TRUE"
    pciBridge0.present = "TRUE"
    pciBridge4.present = "TRUE"
    pciBridge4.virtualDev = "pcieRootPort"
    pciBridge4.functions = "8"
    pciBridge5.present = "TRUE"
    pciBridge5.virtualDev = "pcieRootPort"
    pciBridge5.functions = "8"
    pciBridge6.present = "TRUE"
    pciBridge6.virtualDev = "pcieRootPort"
    pciBridge6.functions = "8"
    pciBridge7.present = "TRUE"
    pciBridge7.virtualDev = "pcieRootPort"
    pciBridge7.functions = "8"
    vmci0.present = "TRUE"
    roamingVM.exitBehavior = "go"
    displayName = "Mac OS X 10.6"
    guestOS = "darwin10-64"
    nvram = "FreeBSD 64-bit.nvram"
    virtualHW.productCompatibility = "hosted"
    extendedConfigFile = "FreeBSD 64-bit.vmxf"
    ethernet0.generatedAddress = "00:0c:29:bd:20:0f"
    tools.syncTime = "FALSE"
    uuid.location = "56 4d 88 b8 b2 24 d5 cc-10 76 a6 69 9f cb f9 46"
    uuid.bios = "56 4d 7d f0 84 2d 67 43-25 a6 19 4f 14 bd 20 0f"
    cleanShutdown = "FALSE"
    replay.supported = "TRUE"
    replay.filename = ""
    scsi0:0.redo = ""
    pciBridge0.pciSlotNumber = "17"
    pciBridge4.pciSlotNumber = "21"
    pciBridge5.pciSlotNumber = "22"
    pciBridge6.pciSlotNumber = "23"
    pciBridge7.pciSlotNumber = "24"
    scsi0.pciSlotNumber = "16"
    usb.pciSlotNumber = "32"
    ethernet0.pciSlotNumber = "33"
    sound.pciSlotNumber = "34"
    ehci.pciSlotNumber = "35"
    vmci0.pciSlotNumber = "36"
    vmotion.checkpointFBSize = "16777216"
    ethernet0.generatedAddressOffset = "0"
    vmci0.id = "347938831"
    tools.remindInstall = "FALSE"

    ich7m.present = "TRUE"
    keyboard.vusb.enable = "TRUE"
    mouse.vusb.enable = "TRUE"
    usb:0.present = "TRUE"
    usb:1.present = "TRUE"
    usb:1.deviceType = "hub"
    usb:0.deviceType = "mouse"
    monitor.virtual_exec = "hardware"
    monitor.virtual_mmu = "software"
    ide1:0.startConnected = "TRUE"
    disable_acceleration = "FALSE"
    checkpoint.vmState = ""
    ide1:0.autodetect = "TRUE"
    vmi.present = "FALSE"
    smc.present = "FALSE"

    Alter the lines italicized above to match the name you gave to your VM. As you can see in this example, I used the name “Mac OS X 10.6″.

  7. Restart Workstation 7, and select the VMX file you just modified. Mount your converted ISO file (the one you converted from the DMG) into the VM using “Use ISO image file” (you’ll see that it is currently pointing to something called “M:\SL.iso“).  Note that this differs from the Leopard tutorial, where we used a logical drive where the iDeneb ISO had been mounted.
  8. Check the settings of the VM, and adjust those things that you want. For example, increase or decrease the amount a RAM allocated, the processors accessed, etc. In most cases, you should leave the settings as they are.
  9. Power on the VM. If everything went well, you should find yourself prompted to hit “F8″ to enter boot options. Do NOT enter the “Graphics Mode” trick suggested in the Leopard tutorial. Leave the VM to use the resolution it wants for now. The reason for this is that we will be installing the VMware tools into this VM, and setting a Graphics Mode explicitly (either from the boot prompt, or using the /Library/Preferences/SystemConfiguration/com.apple.Boot.plist modification) will hose your VM to the point of making it unusable once the VMware tools are activated. You can enter the “-v” flag it you like (I always do).
  10. Once you reach the install screen, follow the same partitioning steps as found in the Leopard tutorial, with this exception: The “Master Boot Record” format must be “GUID Partition Table” for Snow Leopard to function.
  11. Apply your partition formatting, and proceed with the installation.

Part 2: Adding the Icing

Now that you’ve gotten Snow Leopard installed (you do have it installed, right?), you’ll want to get some final touches applied. Leave the retail ISO mounted in the VM, and you should be able to reboot at will with no issues.

Here are a few final things to do:

  1. Perform an Apple software update; e.g., my retail ISO installed 10.6, but there was an update to 10.6.2 available. Reboot after updates are applied.
  2. Download and install the Ensoniq Audio Driver for Snow Leopard. This package will enable audio in the Snow Leopard VM (yay!).
  3. Finally, install the VMware Tools distribution. Installing this will give you, among other things, the ability to change the VM’s screen resolution via the OS X System Preferences.
    1. “Eject” the Mac OS X Install CD ROM from within Snow Leopard. This will disconnect the device from the operating system.
    2. While the VM is running, right-click on the CD ROM widget at the bottom-right of the VMware window, opening its pop-up menu:

      VMware CD ROM menu

    3. In the “Settings…” panel, mount the “darwin.iso” file (remember where you saved it?) in place of the retail ISO image you used to install Snow Leopard, and press “Ok”.
    4. From the CD ROM pop-up menu once again, select the “Connect” option to connect the device back to the VM. This will mount the “darwin.iso” image into the running Snow Leopard VM:

    5. Open the mounted image, and drag the “Install VWware Tools” package to your Snow Leopard desktop to make a copy of it:

    6. Unmount the “darwin.iso” image within Snow Leopard, and reverse the process you performed to make it available. Re-select the retail ISO image, and re-connect it.
    7. Install the VMware Tools package, and reboot your Snow Leopard VM.

Part 3: Having a Piece

I must say, compared to the hassle of getting Leopard running in VMware, this was streamlined and painless. The “Holy Grail” now appears to be comfortably situated in the cabinet, along side the other drinking glasses. Running OS X in a virtual machine is no longer a “new frontier.” Now, instead of focusing on the process, you are free to focus on using the product.

Have fun!

About these ads

About this entry