Today I needed a Linux workstation to format a SD card. The only available tools was my Windows Laptop, so I decided to install a small Linux distro in VMware Workstation. The choice fell on Lubuntu, a light weight alternative to Ubuntu.
Downloading the ISO image and installing it in VMware Workstation was a breeze, nothing much to say about that. The problems started when I tried to connect the internal SD card reader of my laptop to the VM.
I realized that to reach the virtual USB devices you need to install VMware tools. After inserting the VMware tools ISO image (just select VM/Install VMware Tools) I realized that to install it you need to compile thing. And since Lubunto is light weight, it does not include a compiler.
Installing GCC is very easy, since this is Ubuntu. Just type sudo apt-get install gcc and wait for a while.
The next problem was a little more tricky. The installation script told me
Searching for a valid kernel header path…
The path “” is not a valid path to the 3.16.0.23-generic kernel headers.
Would you like to change it?
The problem was that the kernal headers WAS installed, the VMware install script just don’t recognize it.
After some extensive troubleshooting and randomly installing kernel headers, I realized that the install script checks for the version.h file in a location where it did not exist. The solution was then to create a symlink to the location expected by the script:
sudo ln –s
/usr/src/linux-headers-3.16.0.23-generic/include/generated/uapi/linux/version.h
/usr/src/linux-headers-3.16.0.23-generic/include/linux/version.h
The command above is to be entered as one command, the line break is just for readability. Also note that you need to enter the kernel header version as it is shown in your own system, this example was just from the time I installed it.