内核版本错误,insmod失败

时间:2013-05-31 04:06:21

标签: linux-kernel linux-device-driver kernel-module kernel

我正在运行内核version-2.6.35

当我点击uname -r时,它会显示为2.6.35-22-generic

Kernel-2.6.35源代码树

编译了一个模块

但是无法在我正在运行的内核中插入模块

我没有任何线索。 任何人都可以帮助我摆脱这个!!

谢谢。

3 个答案:

答案 0 :(得分:0)

必须针对正确的内核版本编译LKM,即输出 uname -r 。在您的情况下,您已经下载了内核版本2.6.35源代码树并针对它编译了LKM。在插入LKM时,检查 KERNEL_VERSION ,如果它们匹配,则在插入模块时不会出现任何错误,但如果它们不匹配则无法插入模块。

答案 1 :(得分:0)

您希望确保在正在运行的内核2.6.35-22-generic中启用CONFIG_MODVERSIONS。当您从2.6.35源构建内核模块时,正在运行的内核将允许加载具有匹配符号的模块,或者如果符号丢失,则无法加载。

没有启用CONFIG_MODVERSIONS意味着你必须匹配内核版本和模块之间的版本。

答案 2 :(得分:0)

我假设您正在使用官方内核树,但您正在尝试在您的发行版中加载您的模块。您必须从Linux发行版获得内核源代码/标头。我想这是因为这个版本2.6.35-22-generic-22-generic它不是官方版本名称的一部分。

相关问题