VMware 工具:vsock 和 vmhgfs 不起作用

VMware 工具:vsock 和 vmhgfs 不起作用

我正在尝试在 LFS 系统(内核 3.16.2)中安装最新的 VMware 工具。

首先,我编译内核时启用了所有 vmware 组件,这样就只剩下vmhgfs 由 VMware 工具管理。安装成功,但启动时vmhgfs和组件报告失败。vmci

由于vmci之前加载过vmhgfs,我决定先修复它。我从内核中删除了vmcivsock,然后让 VMware 工具来处理它。在对代码进行一小段修补vsocksk_data_ready问题)后,我设法在此配置中安装了工具。现在vmci加载成功,但vsock加载失败。

阅读系统日志我发现了这一点:

Jan 18 04:34:46 titov-lfs vmusr[3345]: [ warning] [vmusr] SOCKET failed to create socket, error 97: Adress family not supported by protocol
Jan 18 04:34:46 titov-lfs vmusr[3345]: [ warning] [vmusr] SimpleSock: Couldn't get VMCI socket family info. 

尝试挂载共享文件夹时我收到此信息:

root [ ~ ]# mount -t vmhgfs .host:/ /mnt/hgfs
Error: cannot mount filesystem: No such device

我已经启用了 VMware 工具日志记录,但这些日志没有显示任何有趣的内容。

我现在陷入困境。有什么关于如何调试和修复这个问题的想法吗?可能是我遗漏了内核中的一些重要内容?

更新:

我发现

modprobe vsock
modprobe vmhgfs
mount -t vmhgfs .host:/ /mnt/hgfs

运行正常,所以问题出在引导脚本的某个地方。

答案1

最后,我终于解决了这个问题。

我找到了在调试模式下运行 VMware tools init 脚本的方法。为此,需要添加

VMWARE_DEBUG="yes" 

在剧本的开头。

之后问题就变得明显了。脚本正在调用/sbin/lsmod,但 LFS 安装lsmod在 中/bin。符号链接解决了这个问题。

相关内容