Skip to content

Linux 5.16.0-arch1-1 编译vmmon模块失败处理方案

原因

简单说就是5.16这个内核太新了,本身还有一些编译的bug。而且5.11及以上版本的内核编译vmmon这个模块还有老bug没解。

解决方案

使用github上的补丁,单独编译vmmon,然后安装。
想简单处理,可以参考以下步骤;想按照自己想法处理,可以直接看“参考”章节里的“安装说明”

步骤

  1. 打开补丁页面
  2. 切换branch,一定要切换branch!具体切换到哪个branch,取决于你的主机安装的是vmware哪个版本
    shell
    vmware --version
  3. 下载对应branch的代码到本地并解压,进入到Makefile所在路径;
  4. 查看当前系统内核版本;
    shell
    uname -r
    我的uname -r返回内容是"5.16.0-arch1-1"
  5. 编译vmmon
    shell
    make VM_UNAME='5.16.0-arch1-1'
    VM_UNAME参数值写uname -r返回的值
  6. 安装vmmon
    shell
    make install
  7. 重启vmware服务
    shell
    /etc/init.d/vmware restart

参考

Compiling vmmon module fails on linux kernel 5.16.0-arch1-1
安装说明