0

我正在使用内核运行version-2.6.35

当我击中uname -r它时2.6.35-22-generic

Kernel-2.6.35从源代码树编译模块,

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

我没有任何线索。任何人都可以帮我解决这个问题!

谢谢你。

4

3 回答 3

0

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

于 2013-05-31T18:23:36.070 回答
0

在您的情况下,您要确保在正在运行的内核中启用了 CONFIG_MODVERSIONS 2.6.35-22-generic。当您从源代码构建内核模块时,2.6.35正在运行的内核将允许加载具有匹配符号的模块,或者如果缺少符号,它将无法加载。

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

于 2013-05-31T19:27:03.037 回答
0

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

于 2013-06-01T12:21:54.293 回答