ldd3的scull例子突然不能用了
ldd3的scull例子,也没动,用scull_load加载提示:insmod: error inserting './scull.ko': -1 Unknown symbol in module
dmesg查看:
[ 86.044250] scull: disagrees about version of symbol nonseekable_open
[ 86.044250] scull: Unknown symbol nonseekable_open
[ 86.044250] scull: disagrees about version of symbol tty_devnum
[ 86.044250] scull: Unknown symbol tty_devnum
scull: disagrees about version of symbol nonseekable_open
scull: Unknown symbol nonseekable_open
scull: disagrees about version of symbol tty_devnum
scull: Unknown symbol tty_devnum
之前也没动啥,好好的,怎么回事呢? 你用的什么版本的内核? 2.6.26,编译啥的都正常,一加载就报那错 提示的也算比较清楚,是这几个接口的问题。你查一下 2.6.26 的内核代码。
作者的内核是 2.6.10 的,我曾在 2.6.18 上编译通过 scull 这个 ko。 感觉你的提示应该是有些 接口老版本中 EXPORT 出来了,但是 2.6.26 上可能没有。
出现这样的情况,自己就多做一些对比,这也正是做内核开发要一直面对的问题:
接口一直在变化,如何准确的调整你的模块实现,以便在不同的内核版本上正确加载和运行。 感觉你的提示应该是有些 接口老版本中 EXPORT 出来了,但是 2.6.26 上可能没有。
出现这样的情况,自己就 ...
Godbach 发表于 2011-03-01 21:19 http://linux.chinaunix.net/bbs/images/common/back.gif
内核是自己编的,查了下system.map有那两个函数,是不是算export出来了?scull前天还正常,我明天内核重编下试试吧 要看另外一个文件, Module 打头的那个 2.6.26,编译啥的都正常,一加载就报那错
ww2000e 发表于 2011-03-01 19:42 http://linux.chinaunix.net/bbs/images/common/back.gif
LDD3主要是针对2.6.11的内核,后面的变化很大,尤其是很多函数接口等都变了。你最好能通过错误信息去更改一下,这样收获会更大一些。 内核,模块重新装下就好了,我模仿scull写的模块加载就出错,不知道是不是自己的模块造成的. 内核,模块重新装下就好了,我模仿scull写的模块加载就出错,不知道是不是自己的模块造成的.
ww2000e 发表于 2011-03-02 14:41 http://linux.chinaunix.net/bbs/images/common/back.gif
那这样的话可能是你的模块写得有问题,dmesg看一下错误,方便的话可以把你的代码贴出来看看
页:
[1]
2