Part 2: ESXi Owning The NUC

The Hardware

With the SDD and memory installed and the NUC re-assembled I was almost ready to power on.  But the last thing I needed to do was replace the North American cable with an Australian plug.  As I have never thrown a cable out since I was 8 this wasn’t an issue.  The system now looked as follows.

Intel NUC Kit D34010WYK
Crucial 16 GB Kit (8GBx2) SODIMM
Crucial M500 120GB mSATA internal SSD

2 x 4 GB USB Thumb Drives
Bluetooth Wireless KB/Mouse

The BIOS

The first thing I wanted to do was see the BIOS and if it required an update to the latest version.  The Bluetooth KB/Mouse plugged into the USB port worked without issue.  F2 on the NUC splash screen gets you into Intel’s VisualBIOS.  It’s all laid out nicely and simply to understand.  Finding the BIOS version is straight forward.  On the Home screen with Basic View you can see the bios version on the top left.  The first part of the version is the Initial Production Version WYLPT10H.86A.  The second part is the actual BIOS version 0027.  Followed by the date and what looks to be a build number 2014.0710.1904.

nuc_bios02￿

Pic1. Booting into the NUC Bios

Getting the latest BIOS version is as simple as heading over the the Intel Download Center and searching for NUC and selecting the model number.  I was on version 0026 (released back in 2013) with the latest being 0027 released only a few months back.  I downloaded the OS Independent .BIO file and copied it onto a USB thumb drive.  I plugged it into the NUC while it was currently sitting on the BIOS screen.  I went to the Wrench icon and selected Updated BIOS.  The NUC then rebooted and flashed the new BIOS.  The most obvious change I saw was the ability to now check and update the BIOS over the Internet.  However, when tried, I receive an ‘Unable to locate Product ID version’ error message.  Something to look into at a later stage.

Installing ESXi

So now the more interesting and fun frustrating part, installing ESXi.    The first thing I did was install a Beta version of ESXi.  Now unfortunately NDA says I can’t talk about this 🙁  How’s that for a tease… All I’ll say on that was that the process was fairly painless to get up and running.

But next I tried ESXi 5.5, and this I can talk about 😉

Booting off ESXi 5.x media should be as simple as mounting the ISO image and copying the files onto a USB thumb drive.  Attempting to boot in this way caused an error during boot with the following.

<3>Command line is empty.
<3>Fatal error: 32 (Syntax)

A VMware KB article solution was to turn off UEFI in the BIOS.  This was only part of the solution as now the error disappear but no boot media could be found.  Some searching lead me to UNetbootin.  A small simple app that would turn an ISO image into bootable media on a USB thumb drive.

Finally I had ESXi 5.5 booting off the USB and starting the install process. The network drivers in ESXi 5.x will not recognize the Intel I218V Ethernet Controller.  This will cause the installation of ESXi to fail.  The I218V  will work off e1000 drivers so the next step was to location an updated version.  I ended up finding net-e1000e-2.3.2.x86_64.vib

There are two way to inject the drivers into the ISO image.  The correct VMware way and the quick way!  The correct VMware way is with PowerCLI and using the add-esxsoftwaredepot commandlet and packaging a new ISO.  Turns out there is a much simpler way using an app called ESXi-Customizer.  Another simple app that will take an original ESXi ISO, extract it, inject a vib file of your choosing, and repackage it, all within 60 seconds.   This tool should be required learning for a VCAP, it’s that simple and it works!

So… I now have a new image.  With updated e1000 network drivers.  I re-run Unetbottin against the new image and create boot media.  And Happy Days!  ESXi 5.5 boots off the USB thumb drive with the new boot image and installs fine with the updated network drivers to the second USB thumb drive I have plugged in.

But why a second USB drive you ask?  Well, read on…

nuc_nic01

Pic2. Intel I218V Network Controller detected in ESXi

So I installed ESXi to a second USB thumb drive, as mentioned above, because during the installation the SSD did not detected when selecting a device to install to.  For the time being this isn’t an issue for me.  In my first post (Part 1: The NUC Arrival), my end game was to always boot and run ESXi from USB and use the internal SSD as storage and at some point vSAN.  All I’m doing now is just skipping to that step.

Getting ESXi 5.5 to detect the NUC’s mSATA controller requires creating new SATA driver mappings.  With a little digging around I found what i needed at vibsdepot.v-front.de.  Here you can download a VIB or an offline bundle (if you want to also inject it into the ISO the correct VMware way).  There’s also a link to the authors blog post that explains this process in much more details.

But, summerised below is what I did to get the NUCs mSATA controller to be detected.  I opened up an SSH session to the ESXi host and typed the following.

esxcli software acceptance set --level=CommunitySupported
esxcli network firewall ruleset set -e true -r httpClient
esxcli software vib install -d http://vibsdepot.v-front.de -n sata-xahci

After a reboot the controller detected and the SSD storage was available to create Datastores.

nuc_storage01

Pic3. Storage Controller now detected in ESXi

Conclusion

If you don’t want to read this whole post (it’s okay, I don’t blame you) and just want the steps to install ESX 5.5 onto a 4th Gen NUC.

1. Download ESXi 5.5 ISO from VMware.
2. Turn off UEFI in the BIOS of the NUC.
3. Download net-e1000e-2.3.2.x86_64.vib.
4. Download ESXi-Customizer, run it and select the ESXi 5.5 ISO and net-e1000e-2.3.2.x86_64.vib.
5. Download UNetbootin and create a bootable USB drive from the new ISO created above.
6. Boot off the USB thumb drive and install ESXi to a second USB thumb drive.
7. Enable SSH and run the above ESXCLI commands to create new mappings to the mSATA controller.
8. Turn UEFI back on in the BIOS

Conclusion Conclusion

At this point I have a fully working and running ESXi 5.5 host on the NUC.  I am running off a 4GB USB thumb drive.  I have network and detectable SSD storage.  The skies the limit now.

I’ll now be looking at purchasing a second Intel NUC, and while it’s being shipping, I’ll have a couple weeks to play with vSphere on this current NUC.

UPDATE;

At the time I wrote this article ESXi 6.0 was still in Beta so I couldn’t talk about it.  Now that it’s GA I can say that the process to install ESXi 6.0 still requires the msata process to get internal storage to work.  The great news is that networking now works out of the box.

Articles in this series

Part 1: The NUC Arrival
Part 2: ESXi Owning The NUC
Part 3: Powering a NUC Off A Hampster Wheel
Part 4: The NUC for Weight Weenies
Part 5: Yes, you can have 32GB in your NUC

5 thoughts on “Part 2: ESXi Owning The NUC”

  1. nice stuff – I just set up my D54250WYKH today – I went with the i5 processor and a 1TB laptop drive ala http://pricklytech.wordpress.com/2014/04/17/installing-vmware-vsphere-esxi-5-5-on-an-intel-haswell-nuc-d34010wyh1/ which has a similar set of instructions. I also purchased the 7260.HMWG wireless/bluetooth card from amazon and have it installed, but haven’t set it up yet.

    Set up three centos-5.10 VMs to play with spacewalk and the NUC isn’t even breathing hard. So far so good.

Leave a Reply

Your email address will not be published. Required fields are marked *