Reply To: HowTo: vmware-tools in ZeroShell

Forums Network Management ZeroShell HowTo: vmware-tools in ZeroShell Reply To: HowTo: vmware-tools in ZeroShell


The modules cannot be compiled on zeroshell. They can be compiled on another system and copied onto the zeroshell system. On the current release of zeroshell, this requires a system with GCC 4.3.X and kernel configured and installed. The configuration is store in /proc/config.gz on zeroshell and it needs to be gunzipped and placed in /usr/src/linux/.config on the machine with GCC.

I think vmware-tools might be specific to the version of VMware that you’re running. With the proper version of the kernel installed, including sources, and a back up copy of /lib/modules/* (.bin files not required) you can now install vmware-tools on the machine with GCC to build the kernel modules. The modules will end up in “/lib/modules/”. To find the updates to the backed up files, you’ll have to compare sorted versions of the files, so you can add the new entries to the same files on zeroshell. When I installed the same kernel on Ubuntu 9.04 server, my files in /lib/modules/* weren’t the same as the files on zeroshell. It might have helped if I had downloaded the kernel from zeroshell instead of a mirror. However, the command insmod appeared to work without changing the modules.* files on zeroshell, but I did not check to see if the modules actually worked.

I’m currently running Zeroshell on ESXi with a working vmxnet3 NIC. I don’t know how to check if anything else works, except all the modules load and vmmemctl and vmtoolsd show up in my process list. I did run into a problem with vmware creating .old.? files for me that BROKE THEIR PROGRAMS. Delete these if you ever find them. My vmware init doesn’t appear to load the modules automatically, but I have all the additional entries in my modules.* files for your modding pleasure.

file: modules.alias

alias pci:v00001022d00002000sv*sd*bc*sc*i* vmxnet
alias pci:v000015ADd00000720sv*sd*bc*sc*i* vmxnet
alias pci:v000015ADd00000740sv*sd*bc*sc*i* vmci
alias pci:v000015ADd000007B0sv*sd*bc*sc*i* vmxnet3
alias pci:v000015ADd000007C0sv*sd*bc*sc*i* pvscsi

file: modules.dep

/lib/modules/ /lib/modules/

file: modules.pcimap

pvscsi               0x000015ad 0x000007c0 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0
vmci 0x000015ad 0x00000740 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0
vmxnet 0x00001022 0x00002000 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0
vmxnet 0x000015ad 0x00000720 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0
vmxnet3 0x000015ad 0x000007b0 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0

file: modules.symbols

alias symbol:VMCIContext_GetPrivFlags vmci
alias symbol:VMCIDatagram_CreateHnd vmci
alias symbol:VMCIDatagram_CreateHndPriv vmci
alias symbol:VMCIDatagram_DestroyHnd vmci
alias symbol:VMCIDatagram_Send vmci
alias symbol:VMCIDs_Lookup vmci
alias symbol:VMCIEvent_Subscribe vmci
alias symbol:VMCIEvent_Unsubscribe vmci
alias symbol:VMCIMemcpyFromQueue vmci
alias symbol:VMCIMemcpyFromQueueV vmci
alias symbol:VMCIMemcpyToQueue vmci
alias symbol:VMCIMemcpyToQueueV vmci
alias symbol:VMCIQueuePair_Alloc vmci
alias symbol:VMCIQueuePair_AllocPriv vmci
alias symbol:VMCIQueuePair_Detach vmci
alias symbol:VMCISock_GetAFValue vsock
alias symbol:VMCISock_GetLocalCID vsock
alias symbol:VMCISock_KernelDeregister vsock
alias symbol:VMCISock_KernelRegister vsock
alias symbol:VMCI_DeviceGet vmci
alias symbol:VMCI_DeviceRelease vmci
alias symbol:VMCI_GetContextID vmci
alias symbol:VMCI_Version vmci

I also moved my installation to of everything for vmware-tools /DB instead of /Database so it is installed on zeroshell instead of just the current Database. However, the boot script needs to be modified for each database. Also my vmware tools install creates the file /etc/udev/rules.d/99-vmware-scsi-udev.rules and the symbolic a link /etc/pam.d/vmtoolsd, which I backed up and have my script restore.