Shuttle PC – vSphere 5.5 White Box Gotchas

I love barebone Shuttle PCs for home lab purposes. They have very compact design, can fit 3 hard disks (great for VSAN), low power consumption, are quiet and can fit up to 32 GB of RAM.

SH87R6

I have two of them (SZ68R5 and SH87R6). I was recently reinstalling them to brand new vSphere 5.5 U1 to prep them up for VSAN and here are some problems I encountered.

On-board Realtek NIC

Although I always add dual NIC Intel Pro/1000 PT card, there is one on-board Realtek 8111G NIC as well. This card used to work with vSphere 5.1, however as of vSphere 5.5 the driver for it is no longer included. If you upgraded from vSphere 5.1 to 5.5 the card will still work, but brand new installation will not recognize it.

To solve it I have created custom image with the vSphere 5.1 Realtek 8168 driver. Here is ImageBuilder PowerCLI script I used (includes also Cisco and NetApp VIBs).

Add-EsxSoftwareDepot .\update-from-esxi5.5-5.5_update01.zip
Add-EsxSoftwareDepot .\VEM550-201401164104-BG-release.zip
Add-EsxSoftwareDepot .\NetAppNasPlugin.v20.zip
New-EsxImageProfile -CloneProfile ESXi-5.5.0-20140302001-standard -name ESXi-5.5.0-20140302001-Cisco-Realtek-NetApp -vendor Fojta
Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Add-EsxSoftwarePackage -ImageProfile ESXi-5.5.0-20140302001-Cisco-Realtek-NetApp -SoftwarePackage net-r8168
Add-EsxSoftwarePackage -ImageProfile ESXi-5.5.0-20140302001-Cisco-Realtek-NetApp -SoftwarePackage net-r8169
Add-EsxSoftwarePackage -ImageProfile ESXi-5.5.0-20140302001-Cisco-Realtek-NetApp -SoftwarePackage cisco-vem-v164-esx
Add-EsxSoftwarePackage -ImageProfile ESXi-5.5.0-20140302001-Cisco-Realtek-NetApp -SoftwarePackage NetAppNasPlugin
Export-EsxImageProfile -ImageProfile ESXi-5.5.0-20140302001-Cisco-Realtek-NetApp -ExportToIso -filepath ESXi-5.5.0-20140302001-Cisco-Realtek-NetApp.iso

Thanks go to: Paul Braren and Erik Bussink for the hints.

USB Flash Disk

I am booting off of USB flash disk in order to preserve internal SDD and HDD for VSAN. I use 8 GB SanDisk Cruzer Fit which is so tiny you don’t even notice it in the USB slot.

I prepared the USB flash disk in Workstation then plug it and do the initial network configuration. The strange thing I was encountering was that I was able to boot from the disk, but the ESXi installation was stateless. Any configuration changes I did would be lost after reboot.

The reason was that although I could boot of the USB, ESXi did not recognize it and would not save the configuration. After some troubleshooting I found out that I need to use USB 2.0 ports (B6) and not USB 3.0 (B7).

Shuttle USB 2.0 and 3.0 Ports

Identical BIOS UUID

Both Shuttle boxes have identical BIOS UUID:

esxcfg-info | grep “BIOS UUID”

results in 03000200-0400-0500-0006-000700080009.

The is big problem for Nexus 1000V who identifies VEMs via the supposedly unique BIOS UUID. For now I removed one of the boxes from the Nexus switch. I would be grateful for any info how to flash BIOS with different UUID.

EDIT 3/22/2014:

Thanks to the comments below from RonTom42 here are the steps needed to change BIOS UUID:

1. Download AMIDMI.EXE tool from here.
2. Download FreeDOS and put it onto USB stick from here. I used FreeDOS-1.1-memstick-2-2048M.img with the Win32 Disk Imager option.
3. Copy AMIDMI.EXE to USB disk
4. Boot Shuttle from the USB disk. Enter the fdos option 4.
5. Run amidmi /u command
6. Reboot ESXi host and check BIOS UUID with: esxcfg-info | grep “BIOS UUID”

8 thoughts on “Shuttle PC – vSphere 5.5 White Box Gotchas

  1. Hi!
    The UUID can be set using AMIDMI.exe (just do a search). I suggest you actually set it. Don´t let the utility auto generate (default behavior). That way you can ensure to set the same UUID after each BIOS upgrade (which will reset UUID).

    I am very curious to hear about your experience with VSAN and the SZ68R5. It seems that the onboard SATA controller does strange things when trying to add a SATA disk to VSAN.

      1. Any luck changing the UUID? I’m in the exact same boat at the moment with another vSphere kernel mode driver that depends on UUID

        1. With the amidmi.exe utility it´s pretty simple. The hard part is creating a DOS boot media with the utility on it 🙂 You might run in to several things in a vSphere environment that requires unique UUIDs. I went through the process when testing PernixData FVP. It absolutely depends on unique UUIDs. And you might even experience strange behavior in vCenter if some ESXi servers have the same UUID.

  2. I also rock two SZ68R5’s in my home lab, but I got sick of using USB drives for the boot drives for ESXi. Depending on when you look for them, the little mSATA drives you can pop into the Shuttle work fantastically for an ESXi boot drive. Been running ESXi 5.1 and 5.5 installs on them now for about 8 months, with no issues.

    Something like this: http://www.newegg.com/Product/Product.aspx?Item=N82E16820167143

    I think they stripped the mSATA ports out of the later revisions of those Shuttle boxes though 😦

  3. I ran into the same problem on a Shuttle XS36V4, which only supports UEFI and has no BIOS backward compatibility–so FreeDOS and the like won’t work. Fortunately, there exists a AMIDEWINx64.exe utility that can do the same thing in 64-bit Windows, which is about all I can run on this machine. It wasn’t clear from the documentation, but I used the same switch and it worked: AMIDEWINx64.exe /u if you want to automatically generate a UUID; I know someone above said not to, but I don’t care if it changes between BIOS updates–I just need it to be unique for SCCM OSD). I got this as part of an AMI BIOS utilities set whose download link I can no longer find–it was difficult to find, but I’m sure it can be found with some searching again if anyone else runs into the same problem.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.