A madman's thoughts on installing ESXi on a Gen10 intel NUC
Updated: Feb 28, 2020
Update: I figured I'd save the next person the trouble of building the image, so you can download it here. Be advised, this image is custom, and no warranty or guarantee is provided by Matt Sherif, Ultraviolet NetBlog, or anyone else. Use at your own risk.
I recently got my hands on a shiny new Intel NUC10i7FNH, these were released earlier this year. The model I got sports a Core i7 with 6 cores (12 threads) and a max 64GB ram capacity, which I indeed maxed out.
My first thoughts were to install Nutanix CE on it, but I couldn't for the life of me get the USB drive to show up as bootable. Some reading later, I found that the boot mode needs to be Legacy Boot and not UEFI, and I really didn't want to go through the hassle.
On a side note: To enable legacy boot an a NUC 10 you need to disable both secure boot AND modern standby in the "BIOS".
I have a VMUG advantage subscription, which I feel is worth the $200 a year as you get the full VMware stack for lab use. So I figured "Ah, what the heck, let's add it to the environment".
The last time I installed ESXi 6.7.0 was on a NUC8i7BNH, and it was fairly straight forward:
use Rufus(Windows)/DD (Mac/Linux) to write the ISO to USB and make bootable
Not so on the NUC10i7FNH - or any of the NUC10's I have found. The ne1000 driver that ships with ESXi 6.7.0u3b and earlier does not support the NUC10's onboard NIC. Now if you're like me, you would have thought "So what? I'll load the OS and then the VIB once it's installed, bingo bongo done". WRONG.
I was met with a screen that basically told me I had no business installing a hypervisor without a supported NIC.
Some quick Google-fu revealed that the driver included didn't support the nic, and that a new driver had been released, however it needs to be included in the install image. Great! Attempt #1 Dead.
Overcoming Attempt #1
In my research, I came across to ways of building an install image with the correct driver:
Easy mode - Use vCenter Image builder: This method involves downloading the 6.7u3b offline bundle, as well as the ne1000 offline bundle and importing them into the image builder, and building a separate image to include the ne1000
Ok, new image built - in fact I used both methods, as I wanted to see how much more difficult the use of PowerCLI is - it isn't if you're comfortable with CLI or scripting languages. Now onto installing. I plugged in my installer USB drive, and found myself at the installation screen, great! The NIC was detected, I go through the following steps:
Select the keyboard layout
Set the root password
Acknowledge that the installer will send anything existing on it into oblivion, never to be seen again
Cool, now it's running. A few minutes go by, and the install hangs at 75%, and then errors out with a very generic <stdout> error - weird. Try again, same error.
At this point I'm thinking it's a brand new drive, but what the heck, I'll use another drive. So I fire up dd and make another drive, and start the install. This time it errors out at 26% - what the what?! This time it's a "pigz: write error code 5 " - so I research that, and it sounds like it could be an issue with the drive. I'm starting to doubt my image at this point that I created with powerCLI, so I go through "easy mode" to create the image, and try again. Same issues with both drives.
Overcoming Attempt #2
I have a NUC8 in my lab already and the only thing I can think of that's different (aside from the proc, and memory limit) is the USB 3.0 drive on the back where ESXi is installed. I looked at my two drives I used, both are USB 2.0 - I've installed ESXi on USB 2.0 in the past, but it was on older versions. Besides I wanted to rule out a bad drive, so I went and bought a USB 3.0 drive - same make as my other.
I get back from my favorite Blue and Yellow electronics store, rip open the package, plug in the new USB 3.0 drive and get to imaging. Unsurprisingly it's done quickly, and I get to installing. I follow the steps above again, and I use the PowerCLI image (Which is on a USB 2.0 disk) and get up to get a cup of water - as by now I am used to this taking about 15 minutes.
I get back and it's DONE! Up and ready to go! I add to vCenter and get started on adding it to the cluster.
Thanks for taking the time to read the ramblings of a madman, I hope this is helpful.