Intel NUC As A ESXi Host (part 3)


In this part, we’ll look at the settings need to get your NUCs to automatically install and configure.


Table Of Contents

This will be a multi-part post, as it covers a lot of topics…

  1. NUC Specs, and build information,
  2. Building a custom ESX image that includes drivers for the NUC’s network card and SSD,
  3. DHCP, PXE booting and automatic installation scripts,
  4. Synology configuration for VMware datastores,
  5. Networking, VLANs and getting it to work,
  6. Installing ESXi
  7. Any other configuration,
  8. Final (random) thoughts.



You will need a server that can handle TFTP and Web requests.  Since I am using a Synology Diskstation for my iSCSI storage needs, this can also handle both TFTP and Web.  If you don’t have a TFTP server, you can use the free TFTP tool from SolarWinds.


DHCP Settings

In order for PXE booting to work, you need to create an entry in your DHCP server for the NUCs, and make sure the PXE settings are correct.  I already have a Windows 2008 R2 server running DHCP for my home network, so these steps will reflect this.  Most home routers should allow you to add the two required setings.

In your DHCP Scope Options window, add the following two options…

  • Option 66 : Boot Server Host Name – Add the name of IP of your TFTP server
  • Option 67 : Bootfile Name – enter “pxelinux.0

While you are in your DHCP settings, add an IP reservation for your NUCs.  This will help with the auto configuration later.  To do this, you will need IP addresses that is not being used, and should ideally be outside your DHCP Scope.  You will also need the MAC addresses from the bottom of your NUCs.

You will also need to give your NUCs a name.  I have gone for the simple route of calling them ESX1, ESX2 and ESX3.


TFTP Server / PXE Booting

Now that your have your DHCP setup, we can extract the files from the ISO image we created in Part 2.   Extract them to a know location, and setup your TFTP server to point to these files.

Once extracted, you should have two folders called efi and upgrade.  There should also be about 90 files in the root.   Create a new folder called pxelinux.cfg and create a plain text file called default (no file extension)

Copy and paste the following into the default file…

DEFAULT menu.c32
MENU TITLE ESXi-5.5 Boot Menu
LABEL install
KERNEL mboot.c32
APPEND -c boot.cfg
APPEND ks=http://[enter-web-server-here]/esx-auto-build.cfg
MENU LABEL ESXi-5.5 ^Installer
LABEL hddboot
MENU LABEL ^Boot from local disk

Make sure you enter the name or IP address of your web server in the correct place.  Don’t change anything else, unless you really have to.

The last remaining file is called pxelinux.0.  To be honest, I can’t remember where I got this from, but it’s required and important.  To download file file, unzip it and copy it to the same TFTP folder as the ISO files.


Automatic Installation Script

The installation script is a large file that automates the configuration of ESXi once it has been installed.  I have separated this script out to another blog post as it would make this page very long indeed.

Leave a Reply

Your email address will not be published.