Hello, I have CentOS 8.3.2011 (kernel -4.18.0-240.15.1.el8_3x86_64) and VMware 16.1.0 player. Installation of VMware was successfull but modules VMMON and VMNET are unable.
But this problem happened: on photo
I'm having the same issue on a fresh install of Debian Bullseye and linux kernel 5.10. I generated and enrolled the keys and confirmed they are present.
However I cannot get past the two missing modules, vmmon and vmnet.
I'm having a similar problem, only with vsock-only.
Linux 4.20.0 #2 SMP Fri Dec 6 00:27:49 CET 2019 x86_64 Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz GenuineIntel GNU/Linux
VMware-Player-15.5.1-15018445.x86_64 (in case of 15.5.6 the modules cannot be compiled, too)
scripts/Makefile.build:291: recipe for target '/tmp/modconfig-ZJbHyv/vsock-only/linux/notifyQState.o' failed
make: *** [/tmp/modconfig-ZJbHyv/vsock-only/linux/notifyQState.o] Error 1
make: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
scripts/Makefile.build:291: recipe for target '/tmp/modconfig-ZJbHyv/vsock-only/linux/af_vsock.o' failed
make: *** [/tmp/modconfig-ZJbHyv/vsock-only/linux/af_vsock.o] Error 1
/tmp/modconfig-ZJbHyv/vsock-only/linux/util.o: warning: objtool: .text.__x86_indirect_thunk_rdx+0x0: unsupported intra-function call
/tmp/modconfig-ZJbHyv/vsock-only/linux/util.o: warning: objtool: If this is a retpoline, please patch it in with alternatives and annotate it with ANNOTATE_NOSPEC_ALTERNATIVE.
Makefile:1563: recipe for target '_module_/tmp/modconfig-ZJbHyv/vsock-only' failed
make: *** [_module_/tmp/modconfig-ZJbHyv/vsock-only] Error 2
make: Leaving directory '/usr/src/linux-4.20'
Makefile:117: recipe for target 'vsock.ko' failed
make: *** [vsock.ko] Error 2
make: Leaving directory '/tmp/modconfig-ZJbHyv/vsock-only'
Unable to install all modules. See log for details.
I modified VMware's instructions slightly and this seems to work, at least for Debian Bullseye:
sudo vmware-modconfig --console --install-all
You'll see that there are issues with monitor and net, thas ok.
Generate a key
openssl req -new -x509 -newkey rsa:2048 -keyout VMWARE16.priv -outform DER -out VMWARE16.der -nodes -days 36500 -subj "/CN=VMWARE/"
You'll see info that it did it ok.
Use this key we just generated to sign the two kernel modules.
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE16.priv ./VMWARE16.der $(/sbin/modinfo -n vmmon)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./VMWARE16.priv ./VMWARE16.der $(/sbin/modinfo -n vmnet)
This does not give any feedback
Check that signatures are applied correctly.
tail $(/sbin/modinfo -n vmmon) | grep "Module signature appended"
You should get Binary file (standard input) matches
Now we make this key trusted by importing it to machine owner key (MOK) management system with the command below. Here you can read more about MOK’s job in Linux.
sudo mokutil --import VMWARE16.der
This will ask you for a password, enter some new password a bit long like 1616vmware. Reenter same password.
Reboot, When reboot you should be presented with a menu with blue screen background, you have to make your way to enroll the key and enter the password you just created, this happens only once, then continue to boot.
To test the driver / module installed correctly enter the command
mokutil --test-key VMWARE16.der
You should get VMWARE16.der is already enrolled and that means VMWare should be working.
All credits to OP.
Notice: I've found out that after some Linux updates which involves the kernel (or something like that) this fix stops working and you have to do all the steps again to get it working again. (No need to re-install vmware)