Linux 5.16.0-arch1-1 编译vmmon模块失败处理方案
原因
简单说就是5.16这个内核太新了,本身还有一些编译的bug。而且5.11及以上版本的内核编译vmmon这个模块还有老bug没解。
解决方案
使用github上的补丁,单独编译vmmon,然后安装。
想简单处理,可以参考以下步骤;想按照自己想法处理,可以直接看“参考”章节里的“安装说明”
步骤
- 打开补丁页面
- 切换branch,一定要切换branch!具体切换到哪个branch,取决于你的主机安装的是vmware哪个版本shell
vmware --version
- 下载对应branch的代码到本地并解压,进入到Makefile所在路径;
- 查看当前系统内核版本;shell我的uname -r返回内容是"5.16.0-arch1-1"
uname -r
- 编译vmmonshellVM_UNAME参数值写uname -r返回的值
make VM_UNAME='5.16.0-arch1-1'
- 安装vmmonshell
make install
- 重启vmware服务shell
/etc/init.d/vmware restart
参考
Compiling vmmon module fails on linux kernel 5.16.0-arch1-1
安装说明