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 |
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
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-checkNote: 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.
great post Andreas!! I will be doing this in my environment soon! Might do a video of it for you...stay tuned!
ReplyDeleteThanks, Alex. I haven't dared to ask ..., but this would be awesome!
Deleteconsider 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
ReplyDeletewhenever 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!!
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.
DeleteAnd no worries, I will take your suggestions into account for the next public release.
We had issues with sysprep in combination with VMware Tools 10.0.
ReplyDeleteKeep that in mind before upgrading your templates.
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.
ReplyDeleteerror 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?
Hi imperia,
DeleteI 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
@Imperia
DeleteI 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.
@all
DeleteGot 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\"
I got this:
ReplyDeleteVIB 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.
Hi Anonymous,
Deleteit 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
Sorry for posting as Anonymous, i have no googgle acount!!
ReplyDeleteThe Filesize is 174MB in my case, so i don't know ewhere the 184MB are coming from....
Strange ... maybe there is a bug that doubles the required space counter, because your first try failed.
DeleteCan you reboot and try again?
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