How to embed the VMware Tools version 10.0 into ESXi


Recently I ranted about the current situation with VMware Tools, and my blog post The great VMware Tools dilemma caught some attention and got a lot of agreement. The good news is that VMware is listening to its customers and trying to improve things.

In a new blog post VMware's Brian Graf elaborates on the recommended solution to use a shared productLocker location for VMware Tools with your ESXi hosts. I complained in my post that it is not easily possible to populate such a shared location with the new "standalone" Tools version 10.0. And this has been improved now:
  • The VMware Tools version 10.0 download now includes all the files that you need to upload to the shared productLocker location, and
  • Brian has shared some scripts on his own blog to automate the process of creating a shared productLocker, uploading the Tools to it and configuring the hosts to use it.
Great news!

But what if you only have one or few ESXi hosts and want to avoid the overhead of creating a shared productLocker? Wouldn't it be good if we could just update the Tools that are embedded into ESXi to the new version 10.0?

To say it short: Yes, we can! The embedded Tools is just a VIB package (called tools-light) that can be updated. Unfortunately, VMware refuses (so far) to make VMware Tools 10.0 available as a VIB file, but we can build this ourselves! Here is how ...

The tools-light VIB is a special one and different from all other VIB files that include e.g. ESXi drivers. What makes it special is the fact that it is not installed into the ESXi /bootbank partition but into its own system partition which is mounted as /store, but is better known as /locker (which is by default just a symbolic link to /store).

Yesterday I published an updated version of my ESXi Community Packaging Tools, and they allow to create a tools-light VIB of type locker. Here is a detailed walk-through, all you need to get started is a Windows machine.


Build the tools-light VIB file

1. Download the ESXi Community Packaging Tools. They come as a self-extracting archive - unpack it to wherever you like.

2. Download the VMware Tools version 10.0 (MyVMware login required). You need at least the first ZIP file titled "VMware Tools packages for Windows, Linux, FreeBSD and OS X". If you have Windows 2000 and/or Netware VMs in your environment and want to install VMware Tools on them then you also need the second ZIP file titled "Legacy VMware Tools packages for Windows and Netware OS".

3. Create a new empty directory on your machine and call it tools-light. In the following instructions I will use C:\temp\tools-light as an example. In this directory create another sub directory build and under build create yet another directory named 6.0.0.
Please note: If you want to create the package for another version of ESXi then name the last directory 5.5.0, 5.1.0 or 5.0.0 respectively. You will be able to use the package for this ESXi version only. In the following instructions I will stick with 6.0.0.

4. Unpack the one or two ZIP files that you downloaded in step 2. into the directory 6.0.0. In Windows Explorer the result should look like this:

VMware Tools 10.0 unpacked in C:\temp\tools-light\build\6.0.0
5. Now launch the tgz2vib5.cmd script from the ESXi Community Packaging Tools. In the GUI that pops up "Load presets for: VMware Tools", and fill in the remaining fields as follows:


Here are the values to fill in (for easy cut-and-paste):
  • Name: tools-light
  • Version: 6.0.0-10.0.0 (use 5.5.0-10.0.0 etc. if you are building for another version of ESXi)
  • Vendor: VMware
  • Summary: Updates the ESX 6.0.0 tools-light (replace 6.0.0 by the version you are building for)
  • Description: VMware Tools version 10.0.0
  • Details URL (optional): https://my.vmware.com/web/vmware/details?downloadGroup=VMTOOLS1000&productId=491
At the top of the GUI select (x) a build directory and browse for C:\temp\tools-light\build. For the working directory pick C:\temp\tools-light.

Then press the Run! button, and your VIB file will be automagically created:


You can find the VIB file tools-light-6.0.0-10.0.0.x86_x64.vib in the working directory.

In the following steps I will show you how to update your ESXi host with it.


Update your ESXi host with your custom tools-light VIB

6. Use the Datastore browser in the vSphere Client to upload the VIB file to a datastore that is accessible by your host. In this example I use a datastore called FreeNAS01.

7. Log in to your ESXi host via ssh (see KB1017910 for instructions) and run the following command in the ESXi console
esxcli software vib install -v /vmfs/volumes/FreeNAS01/tools-light-6.0.0-10.0.0.x86_64.vib --no-sig-check
Note: This is one line wrapped for readability. Replace FreeNAS01 with the name of the datastore that you are using. The switch --no-sig-check is necessary, because our custom VIB file does not have a valid electronic signature. Important: Use the full path name starting with / for the VIB file, relative path names will not work!

The result should look like this:


You have now updated the embedded VMware Tools to version 10.0 on your host! You can immediately use them for installing/updating the VMs running on this host. A reboot is not required.


Build a customized ESXi installation image with the updated Tools

Using my ESXi-Customizer-PS script you can also build a customized ESXi installation image that already includes the tools-light VIB version 10.0.

Just run it like this:
.\ESXi-Customizer-PS-v2.4.ps1 -v60 -pkgDir c:\temp\tools-light -outDir c:\temp -nsc
(Replace the -pkgDir value with the directory that contains the VIB file. The ISO file will be created in the directory specified by -outDir. The -nsc switch is needed because of the missing electronic signature. If you want to build another version of ESXi then use -v55, -v51 or -v50 instead of -v60)

You should see something like this:


Congratulations! You have just built an ESXi 6.0 installation image with the latest ESXi patch level(!) and the VMware Tools version 10.0 embedded.


Final words

Unfortunately you will not be able to install your custom VIB file through VMware Update Manager (VUM) because of the missing electronic signature.

And - if this has not become clear by now -: Of course this whole procedure is completely unsupported by VMware! You have been warned ..., but - on the other hand - all we do here is replace the VMware Tools files with updated copies that were provided and are supported by VMware. So I consider this pretty safe.

And, at last, you might wonder why I post these long and detailed instructions on how to build the custom tools-light VIB file yourself instead of just building it myself once and offering it for download here!? The answer is: Because I'm probably not allowed to do the latter. I could not find a clear statement by VMware about whether you are allowed to redistribute the VMware Tools version 10.0 or not, and - to be on the safe side - I will not do it (until someone from VMware tells me that it is okay ... ;-)

Well, this all could be much easier if the folks at VMware could bring themselves to officially distribute the Tools 10.0 as a VIB file ...



This post first appeared on the VMware Front Experience Blog and was written by Andreas Peetz. Follow him on Twitter to keep up to date with what he posts.



14 comments:

  1. great post Andreas!! I will be doing this in my environment soon! Might do a video of it for you...stay tuned!

    ReplyDelete
    Replies
    1. Thanks, Alex. I haven't dared to ask ..., but this would be awesome!

      Delete
  2. consider it done sir! Will let you know when it's available. And I couldn't help but notice above, is that an ESXi-Customizer-PS version 2.4.4 that I see??? lol

    whenever you do decide to update and release a new version, please don't forget to to consider the ideas I sent you via email which you agreed with for the next release. Can't wait until that is available!!

    ReplyDelete
    Replies
    1. Oops, I was using an "internal beta build" :-) for the screenshots ... Of course that will also work with the currently released version 2.4.3.

      And no worries, I will take your suggestions into account for the next public release.

      Delete
  3. We had issues with sysprep in combination with VMware Tools 10.0.

    Keep that in mind before upgrading your templates.

    ReplyDelete
  4. I followed this tutorial. Everything went fine. But now after the esxi is installed i tried to install vmware tools on VM and the iso files are nowhere to be found.
    error is :

    Call "VirtualMachine.MountToolsInstaller" for object "busybox" on ESXi "esxi.imperia.lan" failed.
    vix error code = 21001
    Unable to install VMware Tools. An error occurred while trying to access image file "/usr/lib/vmware/isoimages/linux.iso" needed to install VMware Tools: 2 (No such file or directory). If your product shipped with the VMware Tools package, reinstall VMware ESX, then try again to install the VMware Tools package in the virtual machine.

    What I am missing?

    ReplyDelete
    Replies
    1. Hi imperia,

      I have no idea right now. Have you updated an existing host with a new tools-light VIB, or have you installed a new host with a customized ISO that you added the tools-light VIB to? Is it really installed now?

      Check in a shell with
      esxcli software vib get -n tools-light
      Also try
      ls -R /productLocker/

      Please send me the results via e-mail to info(at)v-front.de. Thanks!

      Andreas

      Delete
    2. @Imperia
      I had the same problem when I installed ESXI 6.0.0U1 from scratch with the new installer "ESXi600-201511001.zip". The folder 6.0.0 where /productLocker links to didn't exist and the iso files couldn't be found on the volume. I followed this great guide (Thanks Andreas) and after installation of newly created vom file it didn't changed anything:

      Installation Result
      Message: Host is not changed.
      Reboot Required: false
      VIBs Installed: VMware_locker_tools-light_6.0.0-10.0.0
      VIBs Removed:

      I solved the problem by manually copying the files from the previously downloaded VMware Tools v10.0 to the linked destination and adapting the privileges of the files and folders.

      Delete
    3. @all

      Got same problem, issue was mistake in folder naming during VIB build process. I falsely named the folder "\tools-light\build\6.0\" instead of "\tools-light\build\6.0.0\"

      Delete
  5. I got this:
    VIB VMware_bootbank_tools-light_6.0.0-10.0.0's acceptance level is community, which is not compliant with the ImageProfi le acceptance level partner
    To change the host acceptance level, use the 'esxcli software acceptance set' command.

    I changed it with
    esxcli software acceptance set --level=CommunitySupported

    Then I got:
    The pending transaction requires 346 MB free space, however the
    maximum supported size is 239 MB.

    ReplyDelete
    Replies
    1. Hi Anonymous,

      it looks like you did something wrong when creating the VIB package. It should be only about half the size (184 MB for me).

      Be sure to closely follow my instructions.

      Andreas

      Delete
  6. Sorry for posting as Anonymous, i have no googgle acount!!

    The Filesize is 174MB in my case, so i don't know ewhere the 184MB are coming from....

    ReplyDelete
    Replies
    1. Strange ... maybe there is a bug that doubles the required space counter, because your first try failed.

      Can you reboot and try again?

      Delete
  7. Worked perfect! 5.5.0 U3b (VMware-Tools-10.1.15-core-6677369.zip). Auto-upgraded 3 hosts in no-time-flat. Performed a patch update thereafter and it did not overwrite the VIB.. skipped the VMtools VIB. Thank you!

    ReplyDelete

***** All comments will be moderated! *****
- Please post only comments or questions that are related to this post's contents!
- Advertising and link spamming will not be tolerated!