How to Install ESXi on 5th Gen Intel NUC (NIC and AHCI Fix)

Intel has begun to deliver their 5th Gen Broadwell NUCs. At the moment, only NUCs with i3 CPUs are available. NUCs with faster CPUs are available in the next few weeks. I could get my hands on the NUC5i3MYHE. That's the version with a 2.5" HDD slot and without integrated WLAN. This post quickly explains how to get ESXi running on the 5th Gen NUC. As known from 3th and 4th gen NUCs, it is not possible to use the ESXi Installer provided by VMware.esxi-on-5th-gen-NUC5i3MYHE

I'm confident that this guide will also work for i5 and i7 NUCs, as from what I've seen in the documentation they have identical controllers:

  • Intel NUC5i7RYH
  • Intel NUC5i5RYH
  • Intel NUC5i5MYHE
  • Intel NUC5i5RYK
  • Intel NUC5i3RYH
  • Intel NUC5i3MYHE
  • Intel NUC5i3RYK

I've used the following configuration:

To not have compatibility issues, check the following:

  • NUC has a Mini HDMI and Mini DisplayPort. Make sure to have an adapter.
  • Supported M.2 SSD sizes are 22x24, 22x60 and 22x80
  • NUC requires 1.35V SODIMM Memory

When you try to install ESXi 5.5 to the NUC, the installation fails with the following error message:

No Network Adapters
No network adapters were detected. Either no network adapters are physically connected to the system, or a suitable driver could not be located. A third party driver may be required.
Ensure that there is at least one network adapter physically connected to the system before attempting installation. If the problem persists, consult the VMware Knowledge Base.

You have to create a customized ESXi Image. The custom driver has been created about a year ago by GLRoman and is available at VMware Community or at the vibsdepot from VMware Front Experience.

You can either download ESXi and the e1000 driver manually, or simply use the following PowerCLI commands to create a customized ISO. This will download all required files automatically.

Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Add-EsxSoftwareDepot http://vibsdepot.v-front.de
New-EsxImageProfile -CloneProfile "ESXi-5.5.0-20150204001-standard" -name "ESXi-5.5.0-20150204001-NUC" -Vendor "virten.net" -AcceptanceLevel "CommunitySupported"
Add-EsxSoftwarePackage -ImageProfile "ESXi-5.5.0-20150204001-NUC" -SoftwarePackage "net-e1000e"
Add-EsxSoftwarePackage -ImageProfile "ESXi-5.5.0-20150204001-NUC" -SoftwarePackage "sata-xahci"
Export-ESXImageProfile -ImageProfile "ESXi-5.5.0-20150204001-NUC" -ExportToISO -filepath ESXi-5.5.0-20150204001-NUC.iso

If you are unfamiliar with PowerCLI, read this post for a more detailed guide.

With this image you should be able to install ESXi 5.5 on a USB flash drive connected to the NUC.
esxi-5-5-on-NUC5i3MYHE

At this point, ESXi does not detect the storage controller, so you are not able to use local storage. ESXi 5.5 does not detect local storage controllers because the PCI ID is not mapped to the AHCI driver. This workaround is no longer required as Andreas Peetz has added the PCI ID to his sata-xahci package.
esxi-5-5-on-nuc-no-storage
No problem, we can fix that. First step is to determine the PCI ID:

~ # lspci -v | grep storage -A 1
0000:00:1f.2 SATA controller Mass storage controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode]
     Class 0106: 8086:9c83

The numbers we are looking for are 8086:9c83. We have to add that to the AHCI driver map (/etc/vmware/driver.map.d/ahci.map). Unfortunately we can't edit this file while ESXi is running. The changes have to be made to the file that is loaded during ESXi startup (/bootbank/sata_ahc.v00). Convert the file with vmtar, extract it, change the driver map and rebuild it to /bootbank/. To do that, SSH to the ESXi and run the following commands:

cd /tmp 
mkdir ahci
cd ahci
vmtar -x /bootbank/sata_ahc.v00 -o sata_ahc.tar 
tar xvf sata_ahc.tar
rm sata_ahc.tar
echo "regtype=linux,bus=pci,id=8086:9c83 0000:0000,driver=ahci,class=storage" >> etc/vmware/driver.map.d/ahci.map
tar cvf sata_ahc.tar etc usr
vmtar -c sata_ahc.tar -o sata_ahc.vgz 
mv sata_ahc.vgz /bootbank/sata_ahc.v00

Reboot ESXi and have fun with your 5th Gen NUC running ESXi 5.5esxi-5-5-on-NUC5i3MYHE-with-local-storage

Additional Note: I've also tried to install ESXi 6.0 RC to the NUC. It was not required to create a custom ISO. The network card was detected during installation with the ISO provided by VMware. The AHCI workaround was still required. Please note that this was tested with beta software and might change when 6.0 is GA.

 

Leave a comment ?

51 Comments.

  1. Hi. Super thanks for this information!!!! Thanks to this great info I have my NUC5i3RYH running with an SSH disk and booting from USB stick.

    The only problem I have is to force the NUC to boot from USB. While it is set as my priority boot, I get "a bootable device has not been detected". if I hit f10 and select the USB all is fine.

    Do you have this same issue?

  2. Thanks for testing out the 5th Gen Intel NUC and for trying it out on the 6.0 Beta. Hopefully it will continue to work on the GA version. I am due for a Home Lab refresh and was planning on a similar setup to yours with 3 NUCs and VSAN. On the New 5th Gen NUC, if there still a slot where you can use a mini PCIe NIC under the msata SSD like vmnick did here: http://vmnick0.me/?p=7 or this: https://twitter.com/florian_casse/status/560888735525765122/photo/1 I would like to put in a 2nd NIC if possible, so I was just wondering. Thanks for sharing you setup!

  3. So, one top to anyone else trying to do this. Do not Disable EFI boot. While I am booting from "legacy USB", if I disable the EFI boot, I get the error no boot device found. Leaving this option turned on everything works great.

    Another nice setting in the Bios is to manage what to do in case of power failure. I have it set to auto power on when power is restored, as my nuc will go into a datacenter, so if someone accidently unplugs it and plugs it back in, it will just power on automatic again.

  4. Hi Florian,

    thanks for sharing this!
    In the meantime I have updated my sata-xahci package to include the PCI ID (8086:9c83) of the NUC controller, so the workaround with manually editing /bootbank/sata_ahc.v00 is no longer necessary.

    Instead of this add the line
    Add-EsxSoftwarePackage -ImageProfile "ESXi-5.5.0-20150204001-NUC" -SoftwarePackage "sata-xahci"
    to your PowerCLI commands (right before the Export-command) to build the customized ISO with the sata-xahci package.

    - Andreas

    • Thank you for this.. worked great following the above instructions and then adding this line before compiling the iso!

  5. i have to tried to add this model of intel nuc to vcenter, but i get this error:
    Adding an ESX host to VirtualCenter fails with the error: A general system error occurred: at line number 7, not well-formed (invalid token)
    I have updated firmware to last version witouth solution.

    • Hi Alejandro,

      I'm having a similar issue, as I'm unable to install the vCenter Server Virtual Appliance as a VM on my NUC. It complains saying "Error occurred while retrieving hardware info of the esx host". The vcsa log file shows the same error you're seeing:

      2015-03-13 23:04:09.454174 CIP Service: [VCSA INFO] Fetch Hardware Info - result:{"type":"result","statusCode":"PROCESS_STATUS","sessionId":"jQqg-JmEL-CdXm-czCj","requestId":"77","requestComponentId":"fileTransfer","requestObjectId":"8088-jT99-8gEX-Xsia","result":"","isFinal":"true","item":["{\"error\":\"\\nError returned by expat parser: not well-formed (invalid token)\\n\\nwhile parsing serialized value of type string\\nat line 7, column 84\\n\\nwhile parsing property \\\"vendor\\\" of static type string\\n\\nwhile parsing serialized DataObject of type vim.host.SystemInfo\\nat line 7, column 72\\n\\nwhile parsing property \\\"systemInfo\\\" of static type HostSystemInfo\\n\\nwhile parsing serialized DataObject of type vim.host.HardwareInfo\\nerror parsing Any with xsiType HostHardwareInfo\\nat line 7, column 33\\n\\nwhile parsing return value of type vim.host.HardwareInfo, version vim.version.version10\\nat line 7, column 0\\n\\nwhile parsing SOAP body\\nat line 6, column 0\\n\\nwhile parsing SOAP envelope\\nat line 2, column 0\\n\\nwhile parsing HTTP response for method GetHardware\\non object of type vim.HostSystem\\nat line 1, column 0\"}"]}
      2015-03-13 23:04:09.454174 Target Page: Error in fetching the hardwareInfo

      I believe it's because the manufacturer and model (shown in a screenshot above) are those ? characters, so this is causing the HTML response to be malformed.

      Anyone know how to modify the manufacturer and model which is being reported back to ESXi?

  6. Hi,

    How many VM's can run on the same time on this i3 (broadwell) with 16GB mem. Will it perform enhough for a homelab ore is the i5 ore i7 the beter option. Can it handle the iops under normal conditions.

    Like to run a small Citrix enviroment with Xenserver for study objectives.

    regards Borg

  7. VMware Portable Training Lab Physical Build - @vmChad - pingback on April 13, 2015 at 7:40 pm
  8. Awesome article, thanks for the information.
    Just wondering if any has used USB3 to Ethernet adapter's to add more nic's to the host

    • Unfortunately it's not possible to use an USB NIC as vmnic. (Haven't heard from anyone that it is possible)
      You can only pass it to a VM und use it as NIC there.

  9. That's a great article - worked like a charm thanks.

    A related issue I've found is that ESXi doesn't detect the serial ports - presumably it's a similar issue to the SATA - do you know how to fix?

  10. Quick question: are you able to share the wireless adapter with a guest operating system via pci passthrough? I'm on the fence about getting a newer NUC...if the wireless works to a guest, I think I'll give it a go.

    Thanks,
    Reid

  11. Well written post, really appreciate it. Just got myself a 5th Gen NUC vPro and hope to use it as the mgmt layer for NSX lab.

  12. James Kennedy

    Anyone have references for installing ESX 5.5 Update 2?

  13. Nathan Dean Wilder

    Can you provide steps on how you did the AHCI workaround to detect the m.2 SSD during setup. I get to the installer screen, but under Local: it only shows the USB flashdrive I created with Rufus. I'm using the stock current version of ESXi v6 from VM's website.

    • You no longer need the AHCI Workaround. Simply create a customized ISO with the sata-xahci package and use the created ISO to install ESXi.
      The process for ESXi 6.0 is explained here.

  14. I just installed ESX on a NUC5I3RYH and created a custom image and got the NIC working just fine.

    I'm not able to see or add the integrated wifi to ESX. Has anyone been able to get that working?

    • Help me Jake, I have done about 10 custom images based on these instructions and several others on the internet. I have the same nuc as you but it continually fails on network adapter. I have used both power cli and esxi customizer with no luck. I am wondering if the new 2015 model has a different nic. Any help you can provide. I have injected drivers before on esxi installations and am pretty familiar witht he process. Just can't get this one to work.

  15. So when it gets to the point where it says no network adapters, i press alt and f1 and it takes me to a screen that says

    ESXi 5.5.0 http://www.vmware.com
    Copyrright (c) 2007-2014 VMware, Inc.

    There is a blinking cursor underneath but i am unable to type anything or get out of the screen.

    Thanks for your time with this.

  16. VERY EMBARRASSED

    So apparently the first time i actually installed it ok and then every time after that i wasn't actually installing it. It was booting off the USB thumb drive i had installed the first image on. So every time i thought i was attempting to install a new image on it, it was actually booting off the boot usb drive that had the install without the drivers on it. You guys are awesome as always and this was user error as it usually is in these cases. Very sorry to waste your time, works great, very pleased but a little embarrassed...

  17. I have a new 5th gen NUC5i7RYH and have a custom image that used to work with the 4th gen NUC, but now doesn't find the network adapter. Recompiled and still no dice. The lspci output shows:

    0000:00:19.0 Ethernet controller Network controller: Intel Corporation
    Class 0200: 8086:15a3

    Don't have an old NUC to compare to.
    Any help appreciated. I will continue to look and post if I find.

    thnx

  18. Entry 13 looks on point here.
    https://communities.vmware.com/message/2410736#2410736

    Recompiling adding the additional drive library:

    e1000e-3.1.0.2-glr.vib.zip

  19. GLRoman has a new depot posted with the newer Intel i218-v NICs that are in Gen 5 NUCs:

    https://vibsdepot.v-front.de/wiki/index.php/Net-e1000e

    Follow his procedure using the ESXi-Customizer-PS script and add in the Sata driver with the -pkgDir option. Worked with v6 and v5.5 ESXi.

  20. Hello... I'm getting this error when doing the powercli from administrator mode.. Apparently when googled it suggests that it can't create the folder or the file. But the first 5/6 commands worked fine.... just the important one didn't... I've been working on trying to get esxi installed on my nuc for about 6 hours today... and this is just one of the MANY issues i've ran into trying to get different versions working. Please help me... below is the error.

    Export-ESXImageProfile : [Errno 13] Permission denied: 'C:\\Program Files
    (x86)\\VMware\\Infrastructure\\vSphere
    PowerCLI\\ESXi-5.5.0-20150204001-NUC.iso'
    At line:1 char:1
    + Export-ESXImageProfile -ImageProfile "ESXi-5.5.0-20150204001-NUC"
    -ExportToISO - ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ~~~
    + CategoryInfo : NotSpecified: (:) [Export-EsxImageProfile], Soap
    Exception
    + FullyQualifiedErrorId : System.Web.Services.Protocols.SoapException,VMwa
    re.ImageBuilder.Commands.ExportProfile

    I did also try to create a folder with that name - I'm then given an error saying that it already exists and I can overwrite it with a -force ... when I do that it goes back to the standard error you see above.

  21. I figured out my issue i somehow was running it from that locked directory.. I went back and ran the powercli from the system32 directory where it installed from.. then changed the create iso directory to a c:users\mydocuments type of directory with "" around the entire directory path for spaces and whatnot and it created the iso... hopefully this works... i'm personally using gen5 i-7 16gig ram... and my day started out without it recognizing my m.2 500gig ssd, it also wouldn't recognize my samsung... then i went to doing the create iso by using vmware injector vib files and added several files (it would then recognize my hard drives, but got to the point were it wouldn't recognize my nic... which lead me eventually to this site. ) So after 7 hours of troubleshooting i'm ready for a mt. dew and some anime.

  22. All,

    I need a little extra special hand holding. I am not a vmware or server guy. The last Server OS I used was Novell 5.1.

    I am attempting to install VMware 6.0.0 on my NUC so I can load up OVF file for Cisco FireSIGHT Management Center. I managed to get ESXi installed on a USB drive and it automagically detected my NIC. However, I cannot get it to detect my local disk. I have followed the steps listed above SSH-ing into the host and running the commands listed. I then rebooted and still no local disk. That seemed easier than building a customized ISO. Can anyone show me the error of my ways in getting my local disk to work?

    Thanks in advance.

    TJ

  23. Newbe on lots of this. Trying to set up NUC5i5RYK, working to get around the 'no network adapter' issue. Just installed powerCLI a few moments ago and started this process. Copy/paste of the first command yielded 'The term 'Add-EsxSoftwareDepot' is not recognized as the name of a cmdlet, function, script file, or operable program. Checking the spelling of the name, or if a path was include, verify that the path is correct and try again'. If I paste the 'https' string into a broswer it appears to find the xml file and displays it as I would expect. Any guidance? Thanks. Gary

    • That happens when the cmdlets are not loaded. Did you open "PowerShell" or "PowerCLI"? PowerCLI is VMwares PowerShell extension and loads VMware cmdlets automatically. They are not available in "powershell" by default.
      You can see all components with "Get-PSSnapin". The snapin you are looking for is "VMware.ImageBuilder".
      If the cmdlets are installed, but not loaded, try "Add-PsSnapin vmware*" to load them. I've also written a PowerCLI Guide some time ago: https://www.virten.net/2012/09/getting-started-with-powercli-5-1-and-powershell-3-0/

  24. [Kaufberatung] Server ohne NAS - pingback on October 17, 2015 at 11:48 am
  25. Intel NUC Super Server | OSINFO - pingback on November 19, 2015 at 7:08 am
  26. Hi, just letting you know the script works well on ESXi 6.0U1a with the Intel NUC NUC5CPYH. Many thanks...
    I was able to successfully add this SATA PCI ID and start using it;

    [root@localhost:~] lspci -v | grep storage -A 1
    0000:00:13.0 SATA controller Mass storage controller: [vmhba0]
    Class 0106: 8086:22a3

    • Hi Matt, with NUC5PPYH unable to get through the "Relocating modules..." issue. Have built the custom ISO with drivers for 5.5 and 6.0 (5.5.0-20150204001, 6.0.0-20150404001, 6.0.0-20160104001), but unsuccessful. With 6.0.0-2016 version and custom drivers, the system is at "Relocating modules..." screen, after some time gets an DHCP IP, but unable to connect to it using vsphere Client. Checked and confirmed that multiple vmware ports are open on the system at that time. All suggestions appreciated! :-)

      • Hi nuc5ppyhESXI, What error are you getting when you try connect with VI client? I dont have a nuc5ppyh to test with.
        Usually if you can ping it and the ports are open then you should be able to connect with username root and the password you created during install.

        You wont get passed “Relocating modules…” screen on the Host, but that doesn't matter because everything can be configured via VI client over the network.

        In regards to the SATA drive script, Andreas has recently added the NUC5CPYH SATA controller (Class 0106: 8086:22a3) to his sata-xahci package, so the above script should no longer be required for that.

        • Thanks for the info. I did not create a root password, not sure where that is being done(ks.cfg?). Getting same error regardless of username/password combination. Also tried to use ks= boot option with default example ks.cfg, but stuck at "Relocating modules..."

          Error from vSphere Client:
          Could not Connect
          vSphere Client could not connect to "192.168.1.111".
          An unknown connection error occurred. (The request failed because of a connection failure. (Unable to connect to the remote server))

          • Hi nuc5ppyhESXI. I used a workstation PC with VMware workstation installed and installed ESXi onto a USB flash drive by booting the customized ISO on a VMware Workstation VM. That process allows you to set the root password during the install wizard, which you'll need when you connect with VI client.

            There are a few VMware KB's that talk about troubleshooting that error. Check you're not using a proxy server etc...

          • Hi Matt, thanks for all the info, got it all working (NUC5PPYH ESXi 6.0.0). Awesome articles.

            You wrote:
            "install to USB key by booting VMware Workstation with custom ISO"
            I read:
            "install with USB key created from custom ISO"

            Interesting thing is, that after booting from the USB, ESXi installs itself to the SSD.

  27. Just installed ESXi 6.0U1a on two of my new Intel NUC BLKNUC5I5MYHE and these instructions for adding the internal SATA SSD storage was very helpful. Thank you!!

  28. Will this also work on the new Intel NUC "NUC6i5SYH"?

  29. Thank you. It works with a Intel NUC5i3RYH and VMware ESX 6.0

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Trackbacks and Pingbacks: