• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

virtuallyGhetto

  • About
  • Privacy
  • VMware Cloud
  • Home Lab
  • Nested Virtualization
  • Automation
    • VMware Kickstart
    • VMware API/SDK/CLI
    • VMware vMA/VIMA
    • VMware OVF / OVFTOOL
  • Apple Mac
  • VCSA
  • VSAN

mini

ESXi Support for 2014 Apple Mac Mini 7,1

10/25/2014 by William Lam 88 Comments

Screen Shot 2014-10-25 at 7.27.35 AM
I have received a number of inquires asking whether ESXi can be installed on the latest 2014 Apple Mac Mini 7,1. Unfortunately, some early reports have indicated issues trying to get the latest version of ESXi installed on the Mac Mini and the results are also the same using old releases of ESXi as well. As of right now, VMware Engineering is unable to comment on the issue until they can get their hands on a the latest Mac Mini in house for investigation. If you happen to own the latest Mac Mini and live in the Bay Area and wish to help expedite the process by donating your system for testing, feel free to drop me a note. I will update this blog with new findings as they are made available regarding ESXi and the new Mac Mini's. The answer is yes, you can install the latest release of ESXi 5.5 Update 2 Patch03 and to be able to get the SATA HDD to show up, you will need to install a custom VIB shown below.

UPDATE 3 (11/7) - For those just wanting the latest ESXi 5.5 Update 2 Patch03 + SATA VIB ISO, I have createdΒ ESXi-5.5u2p03-MacMini-7-1-HDD.iso that you can just download and install.

UPDATE 2 (11/6) - Thanks to one of our CPD Engineers Charles Monnett, we now have a way for ESXi to detect the HDD located in the new Apple Mac Mini 7,1. It turns out there was a new SATA controller that is being used for the HDD and because it's PCI ID (8086:9c03) was unknown, it was not being claimed by the AHCI driver. Once this was added to the driver map files, ESXi could now see the second drive. Of course, I wanted to simplify this for end users, so I have built a new VIB called vghetto-apple-macmini71-hdd.vib that needs to be installed which can be done by using the following command:

esxcli software vib install -v /vghetto-apple-macmini71-hdd.vib -f

esxi-mac-mini-7-1-0
Once the VIB has been installed, go ahead reboot for the changes to take affect. We can now run the following command on the ESXi Shell to confirm that we now see both the SSD and HDD disk OR we can do so using the vSphere C# Client:

esxcli storage core device list

esxi-mac-mini-7-1-1

esxi-mac-mini-7-1-2

UPDATE 1 (11/5) - It looks like an internal team was able to get their hands on the latest Mac Mini 7,1 and using the latest ESXi 5.5 Update 2 Patch03 image, they were successfully able to install ESXi, however it only recognized the internal SSD (Samsung based) and not the Fusion drive. This will need to be further investigated on why the other device is not being claimed but it looks like as of now, you can at least get stock ESXi installed and use the SSD.

Screen Shot 2014-11-05 at 7.23.16 PM

In the mean time, if you are looking to purchase a Mac Mini to run ESXi, I would highly recommend you take a look at some of the platform changes here and here before deciding to purchase. The most significant change in my opinion is the removal of user replaceable memory with soldered in memory! This means that you will NOT be able to upgrade the units after purchasing and you will need to max out the configuration during the initial purchase with Apple. This is one of the unfortunate changes to the Mac Mini platform and I personally would recommend looking at the last release of the Mac Mini's (Late 2012) which will provide the most bang for the buck. For the old Mac Mini's you will most likely have to look on eBay or even Amazon as they are no longer sold by Apple or their retailers.

Disclaimer: Running ESXi on an Apple Mac Mini is not officially supported by VMware, please use at your own risk

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Apple, ESXi, vSphere Tagged With: esxi, mac mini, mini, vSphere

Running ESXi 5.0 & 5.1 on 2012 Mac Mini 6,2

12/04/2012 by William Lam 59 Comments

If you recently purchased the new 2012 Apple Mac Mini 6,2 which was just released not too long ago and tried to install either ESXi 5.0 or 5.1, you probably noticed a PSOD (Pink/Purple Screen of Death) during the installation. This is currently a known issue and there is an extensive VMTN thread (9,300+ views) about this problem which also includes a fix through a collaboration between VMTN community user zer010gic and VMware Engineer dariusd. Even though the Apple Mac Mini is not an officially supported hardware platform for running ESXi, it is great to see VMware engineers going out their way and trying to help the VMware community find a solution as well as providing an "unofficial" fix in this case.

I would also like to point out that this issue only applies to the new 2012 Apple Mac Mini, for previous models such as the Apple Mac Mini 5,1 or 5,3 you can install ESXi 5.0 or 5.1 without any issues. For more details, please refer to the instructions in this blog post.

Disclaimer: The Apple Mac Mini is not officially supported by VMware. The only supported platform for ESXi 5.0 for Apple hardware is the Apple XServe 3,1 and for ESXi 5.1 is the Apple Mac Pro, which you can get more details here.

Before jumping into the solution, if you think VMware should support the Apple Mac Mini for running ESXi, please provide feedback to VMware by submitting a Feature Request. The more feedback that VMware receives from customers along with business justifications, the better our product management team can prioritize features that are most important to our customers.

Here are the current problem/solutions when trying to install on the new Mac Mini:

Problem: PSOD during ESXi 5.0 or 5.1 installation.
Solution: Add iovDisableIR=true to the kernel option before attempting installation. When you are asked to reboot, be prepared to enter iovDisableIR=true again (SHIFT+O) which is required to get ESXi to boot after installation. Once the system has booted up, go ahead and run "esxcli system settings kernel set -s iovDisableIR -v true" in the ESXi Shell to persist the kernel setting. This is a "temp" workaround while PSOD is being investigated.

Problem: Unable to install new OSX Server on a VM or power on existing OSX Server VMs.
Solution: There appears to be a significant change in Apple's SMC (System Management Controller) device in the newer models that prevents the Apple SMC VMkernel driver from properly loading. A tempoary fix was provided to zer010gic to create a custom ISO until the fix is integrated into a future release.

Note: There may be other minor/unconfirmed issues listed on the VMTN thread, but for basic ESXi installation/usage + OSX Server VM creation/installation, the above solutions should be sufficent.

Instead of having everyone walk through the process of creating a custom ESXi ISO which includes the two fixes mentioned above as well as the bundling the updated tg3 Broadcom network drivers for network connectivity, zer010gic has generously created and is hosting ESXi 5.1 ISOs for users to download and use. It contains some work that I have been doing with zer010gic to create an ESXi 5.1 ISO that does not require any manual intervention outside of the normal ESXi installation. I recently completed the rest of this work which is based off of the oriignal ISO that zer010gic has shared on the VMTN community (unfortunately I have not been able to get a hold of him to provide him with the necessary bits and I have decided to post a modified ISO).

Here is a step by step instruction for zer010gic ESXi 5.1 ISO

Step 1 - Download zer010gic ESXi-5.1-MacMini-SMC-6-2.iso.

Step 2 - Transfer ISO to either USB key or CD-ROM

Step 3 - Perform ESXi installation as you would, but when you get to the very last step prior to rebooting, be ready for some typing when the host boots back up (this is important else you will get a PSOD)

Step 4 - When ESXi starts to boot up, hit SHIFT+O which will allow you to add additional kernel boot option. Add the following text the bootUUID (remember to add a space first)

iovDisableIR=true

This step is required to ensure your ESXi boots up properly for the first time so you can permanently enable this kernel option using ESXCLI which will then persist this upon sub-sequent reboots.

Step 5 - Login to ESXi Shell (you may need to enable it first) and run the following ESXCLI command:

esxcli system settings kernel set -s iovDisableIR -v true

Once this is set, you no longer have to do this again. If you prefer not to go through these manual steps, please refer to the section below for a modified ESXi 5.1 ISO which automates all this for you.

Here is my modified ESXi 5.1 ISO which does not require any additional user intervention

Step 1 - Download my ESXi-5.1-MacMini-SMC-BOOT-FIX-6-2.iso

Step 2 - Transfer ISO to either USB key or CD-ROM

Step 3 - Go through normal ESXi install and enjoy

Note: For details on how I automated the kernel setting setting, take a look at the very end.

So if you are looking to refresh your home lab, you just may want to consider using the new Apple Mac Minis, especially with small form factor footprint πŸ™‚

Note: A couple of users mentioned it took a bit of time to boot up, specifically when usbarbitrator module is being loaded. I noticed this too and it took quite a bit of time, probably 5-6 minutes. If you do not plan on any USB pass-through from the Mac Mini to your guestOSes, you can actually disable this service which should help speed the bootup. If you wish to disable usbarbitrator, run the following command:

chkconfig usbarbitrator stop

ESXi ISO Customization Details

If you take a look at the steps required to install the ISO provided by zer010gic, most of the heavy work has already been done for you. The only "manual" part that is required from the user is to enter a kernel option during the first boot and then run an ESXCLI command to persist this kernel setting which will prevent Mac Mini from PSODing. Removing these these manual steps is actually harder than it looks because of when you need to actually perform the changes. After much trial and error, I came up with the following script below (it's not the cleanest, but it works).

Basically the script is loaded from custom.tgz and executed before the installation begins and it generates a script stored in /tmp/customboot.sh which will look for the boot.cfg configuration file stored in the primary bootbank. This is where we insert the iovDisableIR=true parameter so the user is not required to do this after the first boot up. The challenge with this is the boot.cfg does not exists until after the installation has completed, so what I ended up doing was insert a command into /usr/lib/vmware/weasel/process_end.py which is part of the weasel installer for ESXi and is the very last script that is called when a user hits reboot. The command points back to the /tmp/customboot.sh which will perform the insert into boot.cfg right before rebooting. To automatically take care of the ESXCLI configuration, I added the ESXCLI command to /etc/rc.local.d/local.sh which will automatically run after all init scripts have executed. Then finally, I need to clean up local.sh since I only need that that run once which is handled by another script that is also created and stored in /etc/init.d/customcleanup which will just clean up local.sh file as well as delete itself. Simple right? πŸ˜‰

Note: There is probably a more optimal way of doing this, probably using one of the weasel installer scripts and just set the boot.cfg option and then clean up with an init script, but I decided to leverage some of my earlier work for Disabling LUN Duringn ESXi Installation

Here is the script within the custom.tgz file:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/ash
 
sed -i "s/time.sleep(4)/time.sleep(4)\n    util.execCommand('\/tmp\/customboot.sh')/g" /usr/lib/vmware/weasel/process_end
 
cat > /tmp/customboot.sh << __CUSTOM_BOOT__
#!/bin/ash
 
for BOOTCFG in \$(find / -iname boot.cfg);
do
        grep "no-auto-partition" \${BOOTCFG} > /dev/null 2>&1
        if [ \$? -eq 0 ];then
                sed -i 's/kernelopt.*/kernelopt=no-auto-partition iovDisableIR=true/g' \${BOOTCFG}
        fi
done
__CUSTOM_BOOT__
chmod +x /tmp/customboot.sh
 
sed -i 's/exit 0/localcli system settings kernel set -s iovDisableIR -v true\nexit 0/g' /etc/rc.local.d/local.sh
 
cat > /etc/init.d/customcleanup << __CUSTOM_CLEANUP__
sed -i 's/localcli.*//g' /etc/rc.local.d/local.sh
rm -f /etc/init.d/customcleanup
__CUSTOM_CLEANUP__
 
chmod +x /etc/init.d/customcleanup

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Apple, ESXi, Home Lab Tagged With: apple, esxi5, esxi5.1, mac, mac mini, mini, osx, smc, tg3, vSphere 5, vSphere 5.1

Thunderbolt Ethernet Adapter in Apple Mac Mini on ESXi 5

06/21/2012 by William Lam 27 Comments

If you followed Apple's recent announcement at their WWDC conference then you would know that they just released a Thunderbolt to Gigabit Ethernet adapter. So, why am I talking about this? Well if you are running ESXi 5 on an Apple Mac Mini like me, then you are probably wondering if you can get another network interface on the Mini as it only has a single network adapter. The answer is YES!

To get ESXi 5 to recognize the Thunderbolt adapter, you will need to download and install an additional Broadcom driver (tg3 3.123b.v50.1) or you can create a customized ISO with the driver built in using the steps outlined here for a new installation.

UPDATE (12/21): A custom ESXi ISO is no longer needed, you can use ESXi 5.0 Update 2 which includes the necessary driver to support Thunderbolt Ethernet adapter. Please take a look at this article here for the details.

If you are just installing the driver on an existing ESXi 5 installation, extract the offline bundle and upload to your ESXi host and run the following command:

esxcli software vib install -d /vmfs/volumes/mini-local-datastore-1/tg3-3.123b.v50.1-offline_bundle-682322.zip

Here is the output from ESXCLI on how ESXi sees the Thunderbolt adapter:

As you can see, it shows up with no description for the device and this is the same when running lspci, it just shows up as a network controller from Broadcom. This is not a big deal, but I assume this has something to do with the high numbering of the vmnic instead of being vmnic1 it's vmnic32.

I also performed some basic network testing by yanking the ethernet cable on the onboard network adapter and ensured traffic continued to flow and vice versa with the other Thunderbolt adapter. Everything works beautifully and now you can have some network redundancy built into your Mac Mini or if you need the throughput for all those VMs you plan on running πŸ˜‰

Big thanks to Randy K. for hooking me up with a Thunderbolt adapter!

 

Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Uncategorized Tagged With: apple, mac, mini, osx, thunderbolt, vSphere 5

That’s so cool! Running ESXi 5.0 & 5.1 on Apple Mac Mini

05/31/2012 by William Lam 38 Comments

Those of you who follow me on twitter should know that I recently got my hands on an Apple Mac Mini Server (Thanks Randy K.) and are probably thinking I would install Apple OSX on the Mini. Nope! I am actually running vSphere ESXi 5.0 or 5.1 on the Mac Mini!

UPDATE (12/21): Yo no longer need to create a customized ESXi ISO for Apple Mac Mini, the necessary drivers are now included in the new ESXi 5.0 Update 2 and will work out of the box. Please take a look at this article for more details.

UPDATE (01/18): To run ESXi 5.1 on Mac Mini 5,1 or 5,3 please follow the same steps outlined below but for an ESXi 5.1 ISO image. If you are trying to run ESXi 5.0 or 5.1 on the new 2012 Apple Mac Mini 6,2 please refer to this blog post for the instructions.

Disclaimer: This is not officially supported by VMware. Use at your own risk.

Note: I did not have a spare monitor at home and luckily the Mac Mini has a DVI output which I was able to connect to my 46" TV. Nothing like ESXi on the big screen πŸ™‚

Even though this is not officially supported by VMware, it is still a very cool solution and the Mac Mini is great form factor for a vSphere home lab. I also want to mention that this was only possible with the research from the folks over at Paraguin Consulting who initially blogged about the process needed to get ESXi 5 running on a Mac Mini. I would highly recommend you check out their blog post which provides additional details as well as a step by step installation guide including screenshots for each step.

I did not have access to an Apple Super Drive which is what the Paraguin folks used in their installation guide, as they thought formatting a USB key would have taken too long ... and who has a CD burner these days? πŸ˜‰ There is also an additional step that is needed to get network connectivity which requires the user to manually install a network driver on the ESXi host.

I decided to go down the route of using a USB key to perform the installation and using a spare 1GB USB key, I created a custom ESXi installation that included the network driver which allows for network connectivity during and after the installation.

What you will need:

  • vSphere ESXi 5.0 Update 1 Offline BundleΒ  (You can also use ESXi 5.0)
  • Broadcom NetXtreme I Gigabit Ethernet Driver (tg3-3.120h.v50.2)
  • PowerCLI Image Builder (there are some other free tools that allows you to add drivers, but did not work well with UNetbootin)
  • UNetbootin

Step 1 - Extract the offline bundle "tg3-3.120h.v50.2-offline_bundle-547149.zip" from Broadcom zip file

Step 2 - Use Image Builder to add the Broadcom driver and create a custom ESXi 5 ISO (steps taken from this VMware KB article)

# Add the ESXi 5.0 Update 1 Offline Bundle

Add-EsxSoftwareDepot "C:\VMware-ESXi-5.0.0-623860-depot.zip"

# Add the Broadcom Offline VIB

Add-EsxSoftwareDepot "C:\tg3-3.120h.v50.2-offline_bundle-547149.zip"

# Create a new Image Profile (in example, I'm using the full version w/tools)

New-EsxImageProfile -CloneProfile "ESXi-5.0.0-623860-standard" -name "ESXi50u1-Custom"

# Add the broadcom driver to our Image Profile

Add-EsxSoftwarePackage -ImageProfile "ESXi50u1-Custom" -SoftwarePackage "net-tg3"

# Create an ISO from our custom Image Profile

Export-EsxImageProfile -ImageProfile "ESXi50u1-Custom" -ExportToISO -filepath C:\VMware-ESXi-5.0u1-Custom.iso

Step 3 - Plug in a USB key into your system and run UNetbootin which will take the custom ISO we just created and make it bootable on the USB key

Step 4 - Finally, power on your Mac Mini and plug in the USB key. You can either hold the "Alt/Option" key while the system is booting and select the EFI volume OR just plug the USB key and the ESXi installer should automatically start up.

After a few minutes, you should now have ESXi 5 running on your Mac Mini, here is my setup:

Note: If you wish to add a custom kickstart file so it automatically installs and configures the host, take a look at this blog post for the details. If you want the Mac Mini to automatically boot from USB without having to press the "Alt/Option" key after installation, you can set the default boot device by following this article here.

Since you are running ESXi on Apple hardware, you can also create Mac OSX Virtual Machines (10.5 Server and 10.6 Server) and with the latest release of vSphere 5.0 Update 1, OSX 10.7 (Lion) is now officially supported. To install OSX 10.7 as a VM, make sure you follow the instructions here.

Here is a screenshot of running OSX Lion 64bit as a VM running on ESXi 5 running on a Mac Mini πŸ˜€

If you are looking to refresh your vSphere home lab, definitely consider looking at the Mac Mini, which can get up to a max of 16GB of memory. Also if you are wondering if other people are doing this, I would recommend you check out Christopher Well's vSamarai blog here which details his experience using the Mac Mini as well as voting for his VMworld CFP which will also include topic about running ESXi on Mac Mini.

I want to thank Randy K. again for lending me the Mac Mini, you rock dude! Hopefully this will not be the last article about the Mac Mini πŸ˜‰

Additional Resources:

  • Thunderbolt Ethernet Adapter in Apple Mac Mini on ESXi 5
  • When Can I Run Apple OSX on vSphere 5?
Share this...
  • Twitter
  • Facebook
  • Linkedin
  • Reddit
  • Pinterest

Filed Under: Apple, ESXi, Not Supported Tagged With: apple, esxi5, mac, mini, osx, vSphere 5

Primary Sidebar

Author

William Lam is a Senior Staff Solution Architect working in the VMware Cloud team within the Cloud Services Business Unit (CSBU) at VMware. He focuses on Automation, Integration and Operation for the VMware Cloud Software Defined Datacenters (SDDC)

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • Vimeo

Sponsors

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy