본문 바로가기
리눅스

vmware workstation 커널 모듈 컴파일

by 다움위키 2025. 4. 4.

원문 보기: https://dawoum.duckdns.org/wiki/VMware

 

이전 글 : https://dawoum.tistory.com/entry/vmware-workstation-17-데비안-패키징

 

이전 글에서 데비안 패키지를 만들어서 설치할 경우에 약간의 수고로움이 있습니다. 그냥 원래 스크립트로 실행해도 같은 일을 해야 하지만, 어쨌든 기대와 다르게 커널 모듈이 컴파일되지 않습니다.

 

이전에 Debian on Ryzen CPU/Troubleshootings에서 it87 모듈은 새로운 커널 설치와 함께 새롭게 모듈을 컴파일하고 정해진 위치로 설치합니다.

반면에 데비안 패키징을 만든 후에 스크립트가 동작하지 않아서, 커널 컴파일 후에 수동으로 컴파일하는 과정을 스크립트로 만들었습니다.

새로운 커널로 부팅 후에, 소스 디렉토리로 이동해서 스크립트를 실행하시고, vmware를 실행해 보십시오:

#!/bin/bash 

cd vmnet-only
make -j20 CC=clang LD=ld.lld LLVM=1 LLVM_IAS=1
cd ../vmmon-only
make -j20 CC=clang LD=ld.lld LLVM=1 LLVM_IAS=1
cd ..

mkdir -p /lib/modules/$(uname -r)/kernel/drivers/misc/vmmon
cp vmmon.o /lib/modules/$(uname -r)/kernel/drivers/misc/vmmon/vmmon.ko

mkdir -p /lib/modules/$(uname -r)/kernel/drivers/net/vmnet
cp vmnet.o /lib/modules/$(uname -r)/kernel/drivers/net/vmnet/vmnet.ko

depmod -a
modprobe vmmon vmnet vmw_vmci
systemctl restart vmware-networks

또한, 데비안 패키징에서 vmw_vmci 모듈은 부팅 시에 vmmon 모듈과 같이 자동 로딩되도록 설정되어 있지만, vmmon이 컴파일되지 않았을 때, vmw_vmci 모듈도 같이 로딩되지 않기 때문에, 마지막에 같이 modprobe를 수행해야 합니다.

 

대부분의 배포판에서 gcc로 커널 컴파일을 하기 때문에, 위의 스크립트에서 make 뒤의 옵션은 전부 제거하고 실행해 보십시오.