![严重错误:modpost:与 GPL 不兼容的模块。使用仅限 GPL 的符号“sme_active”](https://linux22.com/image/732491/%E4%B8%A5%E9%87%8D%E9%94%99%E8%AF%AF%EF%BC%9Amodpost%EF%BC%9A%E4%B8%8E%20GPL%20%E4%B8%8D%E5%85%BC%E5%AE%B9%E7%9A%84%E6%A8%A1%E5%9D%97%E3%80%82%E4%BD%BF%E7%94%A8%E4%BB%85%E9%99%90%20GPL%20%E7%9A%84%E7%AC%A6%E5%8F%B7%E2%80%9Csme_active%E2%80%9D.png)
完整错误消息
FATAL: modpost: GPL-incompatible module celerity16fcmp.ko uses GPL-only symbol 'sme_active'
由于内核中的 GPL 错误,CentOS 7.6 机器无法安装 ATTO 光纤通道驱动程序。
我知道 ATTO 技术支持需要做什么:
- 修改内核以删除 GPL 检查
- 重新编译内核
- 再次运行驱动程序
我的问题是,我该怎么做?我有可以进行实验的测试虚拟机,但可能需要很长时间才能猜对。我以前从未修改和重新编译过内核,所以我想学习做这样的事情的正确方法。
答案1
centos kernel-plus 内核中有一个针对此错误的补丁。
您可以通过运行来安装它。
# yum install yum-utils
# yum-config-manager --enable centosplus
# yum install kernel-plus kernel-plus-devel
重新启动进入已安装的内核,您应该能够构建 ATTO 驱动程序并继续使用光纤通道 HBA。