Yesterday, I was installing a new CentOS 6 server within VMWare Workstation 7 to be a file server for internal usage. As usual, it is highly recommended to install VMWare Tools to every guest operating system we installed to make sure the hardware integration will be smooth and avoid degraded performance on the virtual server.
During the installation process, I found following error:
Searching for a valid kernel header path... The path "" is not valid. Would you like to change it? [yes] What is the location of the directory of C header files that match your running kernel?
What VMWare needs is the kernel-header and kernel-devel package from the same version with your current loaded kernel. You can check your loaded kernel by using following command:
$uname -r 2.6.32-71.el6.x86_64
Solution #1 is highly recommended because it is better to update your kernel to the latest stable version provided by the repository. But you need to have downtime on this. Steps as below:
1. Update the kernel:
$ yum update kernel -y
2. Install the kernel-headers, kernel-devel and other required packages:
$ yum install kernel-headers kernel-devel gcc make -y
3. Reboot the server to make sure it load to the new kernel:
$ init 6
4. The kernel version has been updated including the kernel-headers and kernel-devel:
$uname -r 2.6.32-71.29.1.el6.x86_64 $rpm -qa | grep -e kernel-headers -e kernel-devel kernel-headers-2.6.32-71.29.1.el6.x86_64 kernel-devel-2.6.32-71.29.1.el6.x86_64
Solution #2 require you to install kernel-headers and kernel-devel with your current kernel version. Steps as below:
1. Install the same version of kernel-headers and kernel-devel via yum:
$ yum install kernel-headers-$(uname -r) kernel-devel-$(uname -r) -y
NOTE: If you have install gcc previously, you will facing error because the kernel-headers already installed but the version is the latest kernel version. You need to remove it first using following command:
$ yum remove kernel-headers -y
2. Install required files:
$ yum install gcc make -y
3. No need to reboot the server. Just make sure the kernel, kernel-headers and kernel-devel version are same:
$ uname -r 2.6.32-71.el6.x86_64 $ rpm -qa | grep -e kernel-headers -e kernel-devel kernel-headers-2.6.32-71.el6.x86_64 kernel-devel-2.6.32-71.el6.x86_64
Once you have completed using one of the solution above, proceed to the VMware tools installation by following the wizard. The installation should be able to detect the kernel header path at this moment.