Installing ESXi on a Bean Canyon NUC
There seems to be a lot of questions circling around on how to install ESXi on a Bean Canyon NUC. Especially the i5 (NUC8i5BEH) and the i7 (NUC8i7BEH) models are ideal as they both feature a quad-core CPU with hyper threading. I’ve installed ESXi 6.7 Update 1 successfully on both NUC8i5BEK and NUC8i7BEH with the method described below.
The issue with the Bean Canyon NUC is that there’s only a single network interface on the NUC. You are able to run ESXi with a single NIC, but you’ll probably really want at least two of them. Basically due to the limited expandability using a USB 3.0 network adapter is your best bet here. I got myself a TP-Link UE300 ($7.99 on Amazon) as that’s cheap and seems to be well supported. Ahem, “well supported” is relative in this case. ESXi does not support any USB Ethernet adapters by default so you’re going to go through a little bit of hassle to get it working. Don’t sweat, I’ll show you how to do it.
You’ll need to download a few pieces of software in order to make this happen. The tools I’m using work on Windows 10. I’ve got no idea how to build the installation media on Linux or MacOS X.
- ESXi-Customizer-PS is a Windows PowerShell script that will make it easy to handle ESXi images.
- Rufus is a useful tool for writing a bootable USB media. You could use something else, but Rufus just works.
- Jose Gomes provides ESXi drivers for several USB Ethernet adapters. The TP-Link UE300 adapter is supported by the Realtek 8152 drivers that are included in his ESXi drivers. He also provides drivers for ASIX based adapters. Installation procedure is the same as described here, but instead of Realtek use ASIX.
Note that you don’t need to worry about downloading ESXi, the ESXi-Customizer-PS will take care of that automatically.
Creating a Bootable USB Installation Media
Ok, so you have downloaded all the files in the previous section and it’s time to create the installation media. Start by starting Powershell as administrator (click Windows key, write powershell, right click and choose to run as administrator).
We’ll need to start by installing VMware PowerCLI. First change the execution policy to allow external scripts to be run. Run the following three commands and just say yes when prompted for something.
set-executionpolicy remotesigned set-executionpolicy -scope Process -executionpolicy Bypass install-module -name VMware.PowerCLI
It takes a while, but when that’s done, change to the directory where you downloaded the ESXi-Customizer-PS and run it to download an ESXi offline package.
In my case the offline package was named ESXi-6.7.0-20181104001-standard.zip.
Now copy the r8152-2.06.0-4_esxi65.vib file into a separate directory. I chose to copy it into C:\Users\olli\Downloads\driver. Then run ESXi-Customizer-PS again to create an iso file with the driver.
.\ESXi-Customizer-PS-v2.6.0.ps1 -nsc -remove vmkusb -pkgdir C:\Users\olli\Downloads\driver -izip .\ESXi-6.7.0-20181104001-standard.zip
This will create an ISO image based on the offline package you downloaded earlier and injects all drivers into the ISO image that are in the driver directory. After this you should have an ISO file in the directory:
Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 20/11/2018 22:54 329424896 ESXi-6.7.0-20181104001-standard-customized.iso
Fire up Rufus and write this ISO image on to your USB stick. When Rufus is done, there’s one more step. Copy the weaselin.t00 file you downloaded earlier and place it on the root directory of the USB stick.
Finally eject the USB media and reboot the NUC.
There are issues that prevent the ESXi installer from starting if you have UEFI boot enabled. So we need to disable that in the BIOS of the NUC and boot in legacy mode instead. When the NUC is booting up press F2 to Enter BIOS. Then inside the Visual BIOS press F9 for default settings. After that on the main page disable UEFI boot. We also need to disable secure boot. Go to Advanced -> Boot -> Secure boot and disable secure boot. Finally press F10 to save the settings and reboot.
Now boot from the USB stick (if this doesn’t happen automatically press F10 when you see the “Intel NUC” splash screen and choose your USB stick as boot media) and install ESXi normally.
I was installing ESXi on an NVMe drive and it’s not possible to legacy boot from that. So after the ESXi installation, I had to go back to BIOS and enable UEFI boot again.
That’s it, you’re done, ESXi is installed and your NUC should boot into ESXi now. By default the internal Ethernet adapter was used for management and the NUC fetched an IP address from a DHCP server. The USB NIC will be available for payload. You can change the NIC roles, of course.
ESXi 6.7 on a Bean Canyon NUC
It seems to me that the ESXi 6.7U1 runs pretty well on the NUC. After booting up ESXi 6.7 you should have two working network intefaces. I did boot up a Ubuntu Linux VM and tried iperf from a local computer on the LAN towards the VM I was running in ESXi. Iperf can be used to test the available bandwidth between two hosts. I was positively surprised when I saw that the Ubuntu VM that was using the USB 3.0 network adapter was able to handle almost a gigabit of traffic per second.
root@vm1:~# iperf3 -s ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 10.0.0.1, port 52628 [ 5] local 10.0.0.2 port 5201 connected to 10.0.0.1 port 52629 [ ID] Interval Transfer Bandwidth [ 5] 0.00-1.00 sec 107 MBytes 894 Mbits/sec [ 5] 1.00-2.00 sec 112 MBytes 941 Mbits/sec [ 5] 2.00-3.00 sec 112 MBytes 941 Mbits/sec [ 5] 3.00-4.00 sec 112 MBytes 941 Mbits/sec [ 5] 4.00-5.00 sec 112 MBytes 941 Mbits/sec [ 5] 5.00-6.00 sec 112 MBytes 941 Mbits/sec [ 5] 6.00-7.00 sec 112 MBytes 941 Mbits/sec [ 5] 7.00-8.00 sec 112 MBytes 941 Mbits/sec [ 5] 8.00-9.00 sec 112 MBytes 941 Mbits/sec [ 5] 9.00-10.00 sec 112 MBytes 941 Mbits/sec [ 5] 10.00-10.05 sec 6.00 MBytes 940 Mbits/sec
Now that’s it, have fun with ESXi 6.7U1 running on your NUC!