某项目,使用的是银河麒麟服务器操作系统V10 2020年版本
Kylin-Server-10-Release-Build06.12.04-lic-zj-20200620-x86_64 ,使用的是4.19.90-21.2.9.4k.x86_64内核。集成商反馈,使用操作系统原始内核可成功编译沐创rnp网卡驱动https://www.mucse.com/pro/details.aspx,而使用4.19.90-21.2.9.4k.x86_64内核则无法编译成功。报错信息如下图
我在原内核上试了,确实可以编译成功,说明该内核模块编译并不需要kernel-headers的包,且我司iso和yum上面均未提供kernel-headers这个包。查看网卡源码的src/common.mk文件,发现报错信息来自于
分析makefile文件,应该是在新内核下KSRC变量值出问题了。回到可编译的系统中发现KSRC变量为/usr/ib//lib/modules/4.19.90-11.ky10.x86_64/source/, 那么在新内核下,我将KSRC强制赋值为
再次运行make,又出现错误, 提示找不到System.map文件,使用cp命令,将System.map文件复制到指定目录
cp /usr/src/kernels/4.19.90-21.2.9.4k.x86_64/build/System.map /lib/modules/4.19.90-21.2.9.4k.x86_64/source/
再执行如下图的操作,将原内核的Makefile scripts/ arch/目录复制的新内核目录,
最后编译成功
通过insmod rnp
命令成功加载。
沐创网卡驱动以及iso地址:
链接: https://pan.baidu.com/s/1duFxaiRIQRNGVGZP4JVKkg?pwd=9uih 提取码: 9uih
--来自百度网盘超级会员v6的分享