当在insmod加载驱动到内核时遇到错误,错误提示如下所示:
insmod: ERROR: could not insert module misc.ko: Operation not permitted
通过dmesg命令查看日志显示:
version magic '4.14.78-05578-g66620c3d281c-dirty SMP preempt mod_unload aarch64' should be '4.14.78-05578-g66620c3-dirty SMP preempt mod_unload aarch64'
发现是编译驱动是的内核源码version magic与开发板的系统内核的version magic不一致造成的。
解决方法:
打开内核源码中include/generated/utsrelease.h文件,修改version magic为开发板的版本。
重新编译驱动即可加载成功!