在5.3.0-45-generic内核上,使用5.3.0的源码编译kvm,在modprobe kvm时,出现了错误:
modprobe: ERROR: could not insert ‘kvm’: Exec format error
使用dmesg发现以下log:
kvm: version magic '5.3.0 SMP mod_unload ’ should be '5.3.0-45-generic SMP mod_unload
查阅资料后发现,只需要将源码中的Makefile文件修改为当前运行内核的版本号即可:
VERSION = 5
PATCHLEVEL = 3
SUBLEVEL = 0
EXTRAVERSION = -45-generic
然后重新生成.config文件,编译module并modprobe即可
不太确定这种方法在版本号相差很大的内核和源码之间是否可行!