日期:2014-05-16  浏览次数:20630 次

遇到一个很棘手的问题:内核模块不能加载
在编写kobject驱动时


可以确定源代码是正确的,,内核源代码也是经过编译的,
前面也测试过驱动,加载过驱动,

我用自带的例子测试一下,也提示这个警告

警告:隐式声明函数 kobject_init_and_add

WARNING: kobject_init_and_add undefined!



------解决方案--------------------
kobject_init_and_add从2.6.35有这个api,就一直是一个导出符号,理论上不会出现这个问题
不知道你运行状态的内核镜像是什么版本,
在编译好的内核的System.map 里查找下是否有kobject_init_and_add这个符号
可以尝试把驱动编译进内核试试,那样的话如果kobject_init_and_add真的没有实现,编译不会通过的