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…
- NUC Specs, and build information,
- Building a custom ESX image that includes drivers for the NUC’s network card and SSD,
- DHCP, PXE booting and automatic installation scripts,
- Synology configuration for VMware datastores,
- Networking, VLANs and getting it to work,
- Installing ESXi
- Any other configuration,
- 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.
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 “
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 NOHALT 1 PROMPT 0 TIMEOUT 20 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 LOCALBOOT 0x80 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.