Symbol errors are resolved by injecting the VMCI symvers into the later dependent directories.
Change the root Makefile from: build: $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmblock $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmci $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmhgfs $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmsync $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmxnet $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vsock To: build: $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmblock $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmci cp -f modules/linux/vmci/Module.symvers modules/linux/vmhgfs $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmhgfs $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmsync $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vmxnet cp -f modules/linux/vmci/Module.symvers modules/linux/vsock $(MAKE) OVT_SOURCE_DIR=$(OVT_SOURCE_DIR) -C modules/linux/vsock (notice the cp lines) After this change is applied a build with module-assistant provides a vmhgfs that works: vmsync 3964 0 vmhgfs 48320 0 vmci 39948 1 vmhgfs vmxnet 15780 0 Joe