Manually Building VMware Tools Kernel Modules in SLES and SLED Guests
search cancel

Manually Building VMware Tools Kernel Modules in SLES and SLED Guests

book

Article ID: 342969

calendar_today

Updated On:

Products

VMware VMware Desktop Hypervisor VMware vSphere ESXi

Issue/Introduction

While running the config.pl script during the VMware Tools installation, you might need to manually build the VMware Tools kernel modules on SUSE Linux Enterprise Server (SLES) or SUSE Linux Enterprise Desktop (SLED) guests. For example, if the guest does not have support for prebuilt kernel modules (PBMs), you need to build them manually. PBMs are a collection of Linux drivers that facilitate optimal operation of the virtual machine.

Resolution

Missing Prebuilt Kernel Modules

If the config.pl script cannot locate prebuilt kernel modules for your guest, the following message appears:

None of the prebuilt vmmemctl modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmmemctl module for your system (you need to have a C compiler installed on your system)? [yes]

Solution: Press Y to continue the install process.

Missing Compiler Program

If the config.pl script cannot find a C compiler program on your system, one of the following messages appears:

  • Unable to find the 'gcc' program.
Solution: Run the yast2 -i gcc command to install the packages needed to build the kernel modules.
  • Setup is unable to find the 'gcc' program on your machine. Please make sure it is installed. Do you want to specify the location of this program by hand? [yes]

Solution: Provide the complete name of a binary 'gcc' file.

  1. Press Y to continue. The following message appears: What is the location of the 'gcc' program on your machine?
  2. Enter the complete name of the binary 'gcc' file. If you do not provide the complete name, the following message appears: The answer "<binary file name> is invalid. It must be the complete name of a binary file.

Locating and Installing the C Header Files

If the script cannot locate the C header files in the default directory, /lib/modules/<linux_kernel_version>/build/include, the following message appears:

What is the location of the directory of C header files that match your running kernel?

Solution: In a terminal window, run the yast2 -i kernel-source command to install the C header files on your system.

After the script detects the header files, it will use them to build the kernel modules.