This config is on the VMware host. In my case, that’s a MacOS Mojave MacBook Pro running VMware Fusion. Any recent VMware hypervisors (Fusion, Workstation ESXi) are capable of providing this. VirtualBox and Parallels can to. This scope of this guide is staying with VMware Fusion on MacOS.
* for simplicity, this VMNET config uses an entire class c range (private/non-routable of course), and then allocates the bottom half for static IP and lets the DHCP process serve the top half.
- INTRODUCTION: Overview of the starting point for this install, and reasons why to do it.
- STEP 1 – clone an existing “minimal” VM (or build one).
- STEP 2 – prepare to install/config PXE/RepoSync/RepoTrack (load software packages).
- STEP 3 – add/config a 2nd virtual hard disk for the repo files.
- STEP 4 – CONFIG RepoSync/RepoTrack to support multiple OS Distros, Releases, and Architectures.
- STEP 5 – configure an EXCLUDE LINE for YUM CONFIG files
- STEP 6 – build REPOSYNC commands for SCRIPT “rs-c7x64-update.sh”
- STEP 7 – CREATE /etc/yum.repos.d/c7x64.repo for the CentOS 7 64-bit REPOSYNC CLIENTS
- STEP 8 – CREATE /etc/yum.repos.d/c7x32.repo for the CentOS 7 32-bit REPOSYNC CLIENTS
- STEP 9 – ENABLE and CONFIGURE PXE (uses vmware dhcp; does not require CentOS NTP/DHCP/DNS/vsftd/xinetd)
- STEP 10 – Create a PXE BOOT MENU
- STEP 11 – create the kickstart files referenced by the PXE Boot menu:
- STEP 12 – Put the required PXE client boot files in place.
- STEP 13 – Provide PXE boot server info to DHCP clients, via VMware Fusion vnet config (not a CentOS DHCP server).
- STEP 14 – Test PXE Boot and Kickstart installation.
- SIDEBAR 1 – Alternate ways to provide PXE BOOT IMAGES to clients (a brief summary)
- SIDEBAR 2 – Optional NFS SHARE: convenient for exploring repo contents from a gui desktop VM.
- SIDEBAR 3 – PXE client note re memory: the boot image uses a ramdisk.
When running multiple VMs, and keeping backup copies of various configs, a considerable amount of disk space can be used quickly. The following steps have been confirmed to reduce disk usage for several virtual machine guest operating systems.
- Oracle Linux R6 U3 64-bit
- centOS 6.3 64-bit
- Ubuntu 12.04 LPS 64-bit
- openSUSE 12.1 64-bit
- Mac OS X (multiple versions)
Oracle Linux R6 U3 and CentOS 6.3: *these steps utilize a desktop environment and VMtools.
- remove any unneeded apps/packages, files, etc and empty the trash.
- clean up the YUM package files with (terminal commands as root):
- yum clean packages
- yum clean metadata
- yum clean dbcache
- (or) yum clean all
- at the command line, type “vmware-toolbox” to launch the VMware Tools GUI within the guest VM. This is equivalent to the GUI available within Windows guests.
- Select the drive (partition) to Shrink. 1st the utility will prepare the drive for the shrink process and then a final dialog box will be presented to begin the shrink drive operation.
Ubuntu 12.04 LPS: same as described for centOS and Oracle Linux, except the YUM commands are replaced with:
- sudo apt-get autoclean
- (or) sudo apt-get clean
- (0r) sudo apt-get autoremove
*note: Ubuntu 12.04 utilizes the Ubuntu Software Center for GUI application management (and has the annoying characteristic of only working with one selection at a time); installing the “Synaptic” package manager provides a more traditional Linux package manager.
openSUSE 12.1: same as described for centOS and Oracle Linux, except YAST handles the package and cache cleanups (instead of yum or apt-get). Options are available within the YAST GUI.
OS X: 10.6 Snow Leopard, 10.7 Lion, and 10.8 Mountain Lion (including servers).
- remove any unneeded apps, files, etc and empty the trash.
- using Finder, navigate to the following folders and remove unneeded fonts and dictionary files for languages you’re certain you won’t need for this VM. Sort the folder contents by size and select the largest. You can verify font files by opening them in the “font book” app to preview.
- note: sometimes the system will state a font is in use and need a restart before allowing all of the deleted fonts to be emptied from the trash.
- use the utility Monolingualto remove unneeded Architectures, Input Types, and Languages from OS X and installed application packages.
- If you know you have an app which needs to be excluded, use the Monolingual “Preference” to add the app’s location to a list of excluded directories.
- in the main app, use the “Languages” tab to select which languages to remove (be sure to scroll the entire list and de-select any you wish to keep). On a fresh install of OS X 10.8 Mountain Lion, selecting all but English, French, and Spanish removed about 1.6GB
- use the “Input Menu” tab to select what to remove.
- use the “Architectures” tab to select what to remove.
- note: Monolingual only removes the items in the visible tab; if you desire to remove items from all three tabs, you’ll need to run it three times.
- use the disk utility app (within the VM) to erase free space on the disk.
- close the VM and exit VMware Fusion
- use the vmware-vdiskmanager utility to shrink the VMDK.
- open Finder, browse to the stored VM, right click and show package contents, locate the file “your-vm-name-here.vmdk”.
- open Terminal and CD to “/Applications/VMware\ Fusion/Contents/Library/”
- type “./vmware-vdiskmanager -k “
- drag the VMDK file from Finder to Terminal (this will append the file path and name to the command.
- In terminal, enter the command to shrink the vmdk.
In a previous post, I mentioned the DoD’s Lightweight Portable Security bootable Linux as applicable for some situations. The current LPS Public 1.3.5 ISOs come in two configurations, the basic and deluxe.
The deluxe version is a 401MB bootable ISO. It includes clients for Citrix, VMware View, and MS Remote Desktop. Also includes OpenOffice and Firefox.
As a bootable ISO, it also works within a virtual machine. This makes for a handy way to use the bootable ISO’s included clients for Telework without giving up full use of your physical computer during the remote session.
For government organizations which need additional customizations (pre-loading target URLs, additional client apps/versions, etc), customization is available at no cost to DoD organizations. Other non-DoD Federal organizations, the customization charge is $10K with an annual $2K maintenance fee. The Air Force organization providing this is looking into means to offer customized versions for State and Local govt organizations as well. The public versions are free to everyone.
Additional documentation is available on their website.
For someone just beginning the process of creating a bootable LiveCD for their own organizational needs, this provides a nice clean example to start from.
As part of my iOS app development and testing lab, I have a need to be able to test client applications against multi-platform database services. Last year I determined a collection of OS X, CentOS, and openSUSE virtual machines running MySQL and PostgreSQL provides an adequately diverse test environment for my needs.
A wide variety of application prototyping and testing needs can be served by these combinations without requiring a rack of high end hardware and a couple full time DBAs to maintain everything. Many of my clients have performance testing and production requirements far beyond my little “proof of concept” setup. However, my “proof of concept” environment often helps me better understand how to communicate with the DBAs in the large organizations. And sometimes it allows testing ideas that they don’t have the luxury of trying out on a $25 Million production database cluster.
My virtual lab environment had grown a bit stale over the past year. Over the past week or so, I’ve been updating to OS X 10.8 Mountain Lion and both the Xcode 4.4 general release and the Xcode 4.5 iOS 6 betas. Now I’m beginning to update the Linux and SQL components of the environment. I’ve had a long affinity for Suse Linux so I like to keep a familiar distro on hand. Many clients are using Redhat in their production environments, so CentOS has become a necessity. In the past, Solaris was always a key component of my setups but not so much any more; adding some new Solaris VMs will be deferred for another time.
For this portion of the lab update I’ll be building a couple new CentOS VMs and keeping some notes. I’ll begin with the CentOS 6.3 x86-64 bit “netinstall.iso“. Assuming you’re install to location with internet connectivity (and not organizationally firewalled into using sneakernet for your lab), the netinstall.iso option saves the time otherwise spent updating all of the packages in the LiveCD or full ISO images.
In VMware Fusion 4.1.3,
- select the menu options “File” and “New” to get the “Create New Virtual Machine” dialog window.
- select “Continue without Disk“
- select “Choose a disk or disk image…“
- use the presented Finder popup to navigate to your target ISO image (which you’ve previously downloaded) and select “Continue“.
- select Operating System: “Linux“
- select Version: “CentOS 64-bit“
- select “Continue” note: the OS and Version selections are important as they inform VMware Fusion which drivers, VMtools, and VM configuration settings to utilize. VMs can successfully be created using less specific settings, by you’d lose out on some features of Fusion and likely have to perform additional manually configuration work within your Linux VM.
- you should be presented with a summary configuration of your new VM with the options to “Customize Settings” or “Finish“. This default will likely be one processor core and 1GB memory; I recommended increasing this to two cores and 2GB memory. After completing the installation and configuration, you might try lowering the settings but these will be helpful for getting thru the various package installations and configurations.
- select “Finish” and use the Finder popup to name and save your new VM. I like to configure a “base image” to my preferences and then make copies of as needed for testing new configurations or loading additional packages. So it’s helpful to think of a naming convention if you are likely to have multiple copies over time.
- Fusion will start the new VM and the netinstall.iso will boot to a setup process. Netinstall will be a text based interface (use your keyboard arrows keys to move between options). The first dialog will be for testing the installation media. I’ll “Skip” the media test. If you uncertain about where you image came from or the quality of your internet connection, you may want to let the me test proceed.
- choose a language
- choose a keyboard type
- choose an installation method. select “URL“. (you’ll be prompted for details later).
- configure TCP/IP. unless you need to change, accept the defaults by selecting “OK“.
- a dialog will display “waiting for network manager to configure eth0“
- URL setup. enter “http://mirror.centos.org/centos/6.3/os/x86_64″. The text interface does not allow copy/paste from the host, so you will need to type this in exactly. cents.org redirectors the download to one of many mirror sites. If the URL doesn’t work for you, check your typing and try again. It’s possible the redirection could get sent to a server that is temporarily busy or offline. Trying again usually works. If not, you’ll need to do some searching to locate a direct URL to mirror server that is reachable from your network location.
- After the netinstall process begins, in a few moments you’ll see a graphical screen displaying a CentOS 6 logo. Select “Next“.
- Basic storage device should be ok. Select “Next“.
- Storage Device Warning. This is a fresh install, so select “Yes, discard any data“.
- local hostname: Enter a hostname for your VM.
- select a timezone.
- enter a root password (twice to confirm, must be at least six characters).
- which type of installation would you like? select “use all space“.
- “write changes to disk“
- select optional software to install. Note: Selecting software packages is a lot easier if you wait until the system is up and running with VMtools providing proper mouse and video drivers plus the ability to select the various package repositories you’ll want to use. So, for this step, select “Minimal Desktop” and “Next“. If you choose the “Minimal” option, you’ll be limited to the command line.
- The necessary packages will be downloaded and installed (about 30 minutes of this older Core 2 Duo MacMini). When it’s complete, you’ll be prompted to “Reboot“.
- After the reboot, a Welcome screen will continue the process of setting up the new system. Select “Forward“.
- Agree to the license and select “Forward“.
- Create User: input your desired user information. Select “Forward“.
- Set Date and Time. Select “Forward“.
- At this point I get a warning message “Insufficient memory to auto-enable dump. …” That’s ok, I don’t need it for this usage, so I’ll select “Ok” and “Finish“. The VM will reboot to complete the setup.
- After the reboot, a GUI login screen will prompt to login with the account just created in the previous steps and delivery you to the new desktop.
At this point the new VM is is ready to use with a base configuration of the “Minimal Desktop” distribution of CentOS v6.3. However, there are some additional steps to make it bit more user friendly prior to archiving a copy and proceeding with the desired dev / test work this VM is intended for.
- Use the VMware Fusion menu to select “Virtual Machine | Install VMware Tools“. If you’ve not used previously used this feature in your current version / installation of VMware Fusion, you’ll be prompted that “VMware Fusion needs to download the following component: VMware Tools for Linux“. Select “Download“.
- VMware Fusion will be adding an additional component to the Fusion application on your Mac OS X host, so you will be prompted to authenticate and permit this action.
- Next you’ll be prompted by Fusion to “Click Install to connect the VMware Tools installer CD to this virtual machine“.
- This should result in the CentOS VM’s desktop displaying a DVD (or CD) icon titled “VMware Tools”. Unfortunately, mine displayed a blank folder with an empty disk as a result.
- Checking /Applications/VMware Fusion.app/Contents/Library/isoimages” confirmed that a “linux.iso” file was present (dated 2012-05-27).
- Rebooting the VM and re-trying the VMtools installation still resulted in an empty disc image / folder. This is a common problem between Fusion and many Linux distributions. VMware’s support forums offer several work arounds, most of them at the command line.
- My solution is to use the OS X Finder to browse the “VMware Fusion.app” package contents, copy the “linux.iso” to another folder, and mount it to the VM’s CD drive.
- Return to the CentOS desktop, use “Computer” to browse the CD. You should now see a “VMware-Tools……tar.gz” file.
- Drag the “….tar.gz” file to your home folder. Don’t bother trying right click and select “Open with archive mounter”. Extracting the files through the GUI will probably result in a process that estimates a couple hours to complete.
- Use the CentOS “Applications” menu to launch “Terminal“.
- “CD” to your home folder.
- Use the “ls” command to verify the “…tar.gz” file is there.
- Expand the archive using “tar zxpf VMwareTools-….tar.gz” HINT: type “tar zxpf VMw” and hit “Tab” to autocomplete the command.
- This should result in a new folder named “vmware-tools-distrib” containing 3,275 items for 178.6MB.
- In terminal, type “CD vm” and hit “Tab” (to autocomplete).
- Another “ls” command should verify the presence of “vmware-install.pl”.
- You’ll need super user (root) privileges to run this script. Type “su” and then enter the root password established during installation.
- Enter “./vmware-install.pl” (or just type “./v” followed with a tab key to autocomplete).
- The script will prompt with about nine questions. Use “Enter” to accept the defaults for each.
- When the script completes you can delete the “…tar.gz” from the VM to save diskspace. In all likelihood, if you ever need them again for this specific VM, they’ll be out of date by then. Reboot the VM to activate the VMware Tools features.
Now that VMware Tools is active the mouse should work much better, and you’ll be able to resize the VM window to whatever fits on your available host machines OS X desktop the best for your preferences. Copy/paste from the host machine should be enable.
VMware Fusion shared folders should also be working now. However, you should verify as this is another feature where Fusion yields different results across various Linux distributions. On this particular CentOS VM, sharing some folders from the host machine resulted in them be available within CentOS at the path “/mnt/hgfs/”. Fortunately it wasn’t necessary to perform any additional commands to use them. A quick test confirmed the shared path was readable and writeable from the VM. note: this feature mounts the shared folders with the guest VM as virtual file system, there isn’t any shared/virtual networking going on with this feature.
The next step I recommend is selecting the Applications menu “System | Software Update“. Despite having just completed a network installation, this new instance of CentOS Minimal Desktop config had 43 available updates (124.6MB). The update process will prompt for the root password. You will also likely be prompted to authenticate to accept certificates, signatures, and various packages during the update process (so it’s not a walk away and leave it process).
Now that the base config is installed and updated, I’ll shut down the VM and make a Zip Archive (using OS X Finder) of it’s VM image.
It was about 2.5 hours to get this far. A quad core host machine with SSD, and a faster internet connection, would reduce that considerably. Some of the time was also spent writing these notes.
With this new configuration built and a backup tucked away, I probably won’t need to perform a base install of CentOS in this environment for another year. I didn’t keep as much detail last time, so I’ll have to wait another year to compare whether things get faster.
My next steps for CentOS will be to configure the various application packages and settings that I need (and make another Zip Archive backup). From there it is much faster to deploy additional instances for dev/test work whenever needed.
Previously I’ve been using older OS X virtual images and upgrading them as needed. Looking back through some notes about various utilities, features, and command line tools, I noticed something which I wanted to test on a clean installation.
Sometimes new versions of OS X remove some features, but upgrading over an old installation (instead of doing a clean install) may leave the old feature or utility in place and available. In order to verify whether Mountain Lion removed some utilities previously available in Snow Leapoard and Lion, it seemed like a good time to test the process of creating a clean VM installation from the App Store downloaded installation file for OS X 10.8 Mountain Lion.
Within VMware Fusion 4.1.3 (the latest release version at this time):
- make sure you have an available copy of the App Store download for Mountain Lion
- create a new VM
- select “Continue without disc“
- on the next screen “Choose a disc or disk image…” and navigate to “Install OS X Mountain Lion.app” file. (When initially downloading this file, the App Store places it in your Applications Folder. On most systems it gets automatically removed after the upgrade/installation is completed. So prior to running it, it is a good idea to back up a copy to another location. The copy can be used to upgrade other machines, or for creating VMs as we’re about to do now.)
- select “Continue” on the next few screens to accept the defaults and start the VM. The defaults should be adequate for most initial testing and I’d recommended them until you get more familiar or identify a specific need to customize settings further.
- note: if you have a folder of application install files, it is helpful to configure Fusion’s “file sharing” options to present that folder within the VM when it is running.
- At the end of the settings screens, select the “Finish” button. Fusion will complete the configuration and start the VM.
The VM may seem to start very slowly before presenting the initial grey OS X booting screen. And will likely take some time, perhaps several minutes unless you’re on an Ivy Bridge / SSD system (if you are on a 2012 Ivy Bridge CPU and encounter a CPU error from Fusion, this post explain how to modify your VM config to continue).
Eventually you should see the “OS X Utilities” window and have the option to select “Reinstall OS X“. Select “Continue” a couple times, then “Agree” to the license (twice), select the hard drive “Macintosh HD” and “Install“.
The installation proceeds without an further interaction until it automatically reboots. After the VM reboots, the “Install OS X” screen will appear and display a progress indicator. On an older CoreDuo MacMini, it took about ten minutes to reach the reboot and then displays an estimate of about 20 minutes to complete the installation. ActivityMonitor shows this old MacMini is CPU constrained, but I’m waiting for next refresh to include Ivy Bridge and USB 3 before getting a new one.
When the installation process completes, the VM will reboot and present the “Welcome” screen to begin the initial configuration of OS X. If audio is enabled, you should hear a voice welcoming you to setup.
- select a Country
- select a Keyboard Layout
- choose whether to Transfer Information using Migration Assistant. If you haven’t used it before, it can move information from other Macs, Windows PCs, or TimeMachine backups and works pretty well for a wide variety of application settings and user data. Since the goal is testing a clean installation of OS X 10.8 Mountain Lion, I won’t be using Migration Assistant this time. It can also be ran later, so it’s not critical to decided right now.
- choose whether to enable “Location Services” (I’m leaving it disabled on this VM).
- Enter you AppleID to setup App Store, iCloud, etc. I have separate IDs for iTunes and iCloud, and don’t need either configured on this VM right now. So I’m selecting “Skip” on this setup screen.
- accept the “Terms and Conditions” (twice again).
- fill in the fields for “Create Your Computer Account” to establish your username and password.
- “Select Your Time Zone” by clicking the map and selecting a nearby city.
- “Register“. I’ll “Skip” this screen for this VM.
- and finally you reach the “Thank You” screen and can “Start using your Mac“.
At this point you get the new OS X Mountain Lion (fortunately it does not inflict another reboot on you here) and you are ready to go.
Since my goal was to configure a cleanly installed VM for some testing, I’m going to stop here, shut down the VM, and make a Zip Archive of the VM’s file image for later re-use. Once that housekeeping task is complete, then I’ll review my notes on previous versions and retest various utilities to see what still works. Results will be documented in a follow up post.
Summary: Using the “Install OS X Mountain Lion.app” file to create a new virtual machine in VMware Fusion 4.1.3 is quick and easy.
Reducing the size of a guest OS X vm’s vmdk file(s) requires a few steps. For a Windows OS guest VM, there is a tools utility with a simple GUI. Unfortunately there is not an equivalent tool for the Mac guest VM (even when vmtools are installed).
This technique was tested and confirmed on OS X 10.7.4 using VMware Fusion 4.1.3 It assumes your guest vm’s disk is not pre-allocated, and the vm does not have any snapshots. The host machine is a MacBook Air 13″ 2012 with the virtual disk images stored on an external drive over USB 3.
Space constraints on the Macbook Air are the primary reason I’m shrinking these disk images. Saving disk space consumed by backups is the second reason.
1) Prepare the disk image for shrinking by using the guest vm’s Disk Utility.app to “Erase Free Space” (the simple, fast zero’ing will suffice). For a disk image using 15 to 20GB, this may take five to ten minutes. When complete, shut down the vm and close the VMware Fusion app.
2) Using Finder, confirm the location of your guest vm’s vmdk files.
3) Open Terminal and type /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k, followed with a space and the path to your VM’s disk image. The “\” is necessary to tell Terminal about the space between VMware and Fusion.
* As an alternative to typing the entire command with parameters, you may find it easier to “build” the command in Terminal using these steps:
- Open Terminal
- CD to “/Applications/VMware\ Fusion.app/Contents/Library/” (hint: use TAB completion with the CD command)
- and then type “./vmware-vdiskmanager -k”
- and then add the path to your virtual disk by locating the file in Finder and dragging it into Terminal. Terminal will then append the file’s path to the command, potentially saving you a lot typing. This is
If you’ve successfully entered the command, Terminal will display “ Shrink: xx% done.” until the operation is complete (about 10 minutes for a 15GB disk image stored on an external drive).
- VM #1 before: 13.5GB zipped to 10.9GB, after: 6.9GB zipped to a 4.9GB archive
- VM #2 before: 16.7GB zipped to 12GB, after: 11.4GB zipped to a 7.1GB archive
- Total physical disk savings of ~24GB for two working VMs and zipped archives.
For a couple weeks now, I’ve been using Xcode 4.3.3 and the iOS 5.1 SDK on a mid 2012 MacBook Air 13″ with 8GB Ram. It’s very nice.
With the July 16th update to the iOS 6 development betas, it was time test running the new Xcode environment under a VM on the MacBook Air. The first step in the process was to get a virtual instance of OS X Lion 10.7 running under VMware Fusion.
I’ve done this before, but the new 2012 MacBook CPU (Intel Ivy Bridge) caused a “CPU disabled by guest operating system… ” error under Fusion. The solution was to add this line to the *.vmx config file of the target VM.
cpuid.1.eax = “—-:—-:—-:0010:—-:—-:1010:0111”
VMware should have a 2012 update to Fusion for OS X Mountain Lion 10.8, they are currently testing it as a “technical preview”. This post provides more information on the error and it’s solution.
With that problem solved, it was time to get Xcode 4.5 beta 3 up and running. Right after installing VMware Tools and configuration some OS X settings to my preferences (I didn’t use Migration Assistant for this VM as I wanted a fresh environment).
The next issue was with the Xcode 4.5 app. It would not run. I used Lion 10.7.3 to create the VM the new beta requires a minimum of 10.7.4. Using software updates to get 10.7.4, iTunes, and Safari updates downloaded about 1GB. After the updates, the Xcode 4.5 beta is now able to run. This is a good place to make a backup of the VMDK and save for future use.
VMware snapshots or Fusion Time Machine integration are both good features, but I prefer to locate the *.vmwarevm file (package) in Finder and copy to a compressed zip file. I’ll use this zip as a clean start for additional beta releases as well as some OSX Server testing. Will also use it to testing the Mountain Lion upgrade.
After installing Xcode, you’ll most likely want the ability to do something with it. This entails installing some “core libraries”. From within Xcode Preferences, the Downloads tab provides access to additional Components and Documentation. Plan for another GB or more of downloads.
If you’re setting up your virtual dev/test environment for first time, plan on 4 or 5 hours and several GB of downloads/updates during the process. After that you’ll be able to test beta releases or do other experimental work in a VM (with USB access to physical devices if desired) without affecting any of the apps of your host Mac.
In order to install OS X Lion into a virtual machine running under VMware Fusion, you need the install file from the Mac App store. In this case, I started with:
- the Mac App store file “Install Max OS X Lion_10.7.3.app”
- VMware Fusion 4.1.1
- Macbook Air 13″ mid-2012
I’ve run OS X Lion under VMs previously, so expected this should work without any difficulties. I expected wrong.
Attempting to start a new VM resulted in a Fusion error message stating, “The CPU has been disabled by the guest operating system…”
To troubleshoot I:
- started by checking for Fusion updates; the in app update check didn’t show any available updates.
- Next I decided to try a reinstall of Fusion. Deleted the app, rebooted, and went to vmware.com to download a fresh copy. Found a newer version 4.1.3 Trying this version resulted in same CPU error.
- Did some additional searching and found a vmware forum thread which referred to a work around listed in another vmware forum thread.
Here’s a summary of the solution to save the time of going through all of the forum thread references.
The physical Intel CPU in the mid-2012 MacBooks is new. As a result, if you are using a Mac App store installation file for OS X obtained prior to the 2012 MacBooks, that version won’t understand the new processor.
The solution is to edit the configuration file of the OS X Lion virtual machine to add this entry
cpuid.1.eax = “—-:—-:—-:0010:—-:—-:1010:0111”
The configuration file will be located within the actual VM storage file. You can use Finder to location the *.vmwarevm file, then right click to “Show Package Contents”. The config file will be the *.vmx
Any easier way to open the VM’s configuration file is using the VMware Fusion Virtual Machine Library window. Use the OPTION key + Right Click on the target VM. An option to “Open Config File in Editor” will be available.
This solution should work on the following combinations of hardware software:
- All mid-2012 MacBooks
- VMware Fusion 4.1.3
- OS X host operating system version Lion 10.7.4
- OS X guest operating system versions Lion 10.7.3 or 10.7.4
VMware is working on a “Technology Preview 2012″ for OS X Mountain Lion 10.8 As of this writing the workaround for that version is different. Hopefully VMware will clean this up prior to release the 2012 version.
If Apple releases a Mac App store installation package of Lion 10.7.5, that may also solve the VM CPU configuration issue.
Running OS X Lion in virtual machines is my preferred method of testing new versions of the iOS SDK and Apple’s iOS Device Management tools. With a recent move to a 2012 MacBook Air 13” and the developer release of iOS v6, apparently it was time to encounter a new collection of configuration issues.