use*_*784 6 android android-source
我按照论坛中的步骤(http://www.schaeuffelhut.de/wordpress/?p=237&cpage=1#comment-384)获取Linux内核源代码并交叉编译我的模块.google nexus one的内核版本与论坛中的版本完全相同.我最初测试了我的测试模块hello-1.ko,它已成功安装在Android设备上.但是当我使用insmod在Android设备上安装我的模块ec.ko时,我收到以下错误.
apurva @ apurva-Inspiron-1464:〜/ $ adb shell
$ cd sdcard/data/ec
$ ls
ec.ko
$ su
#insmod ec.ko
insmod:init_module'ec.ko'失败(没有这样的文件或目录)
#
很明显,文件ec.ko存在.但我不确定为什么不挑选文件.我为hello-1.ko做了同样的事情,它得到insmod非常好.没有权限问题,ec.ko获得了与hello-1.ko相同的权限.
现在这让我想到一个问题,Android设备中是否存在内核模块的某些限制,因为该模块在Ubuntu中获得了insmod.对我来说,下一步是采用命中和试用方法,并检查ec.c中的哪些行导致了问题.同时如果你有什么建议,请告诉我.
您可以检查 dmesg 日志,看看有什么可以帮助您的。我也遇到了同样的问题。以下是我解决此问题的方法。\n我使用 insmod 命令在 Android 设备上安装了我的模块,但我收到了相同的错误消息像你一样。我当时检查了 dmesg\xef\xbc\x8can,得到了这个:未知符号“XXX”(我忘记了函数名称。)。我使用了命令 \xe2\x80\x94\xe2\x80\ x94 cat /proc/kallsyms |grep "XXX" 来查找这个符号,但我什么也没找到。出现这个问题的原因是该函数在AndroidM中已被弃用。最后,我通过注释该函数解决了这个问题。
\n| 归档时间: |
|
| 查看次数: |
2924 次 |
| 最近记录: |