Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义Android内核-无法加载内核模块_Android - Fatal编程技术网

自定义Android内核-无法加载内核模块

自定义Android内核-无法加载内核模块,android,Android,我在Android上加载内核模块时遇到问题,内核是从64位linux机器上交叉编译的。内核启动良好,它只是不会加载任何模块(甚至对于wifi来说bcm4329.ko) 内核和模块通过恢复中的CWM“从zip安装”功能闪存到设备(HTC Desire)上 root@android:/data # uname -a Linux localhost 2.6.38.8-dtbaker2-ics+ #3 P

我在Android上加载内核模块时遇到问题,内核是从64位linux机器上交叉编译的。内核启动良好,它只是不会加载任何模块(甚至对于wifi来说bcm4329.ko)

内核和模块通过恢复中的CWM“从zip安装”功能闪存到设备(HTC Desire)上

root@android:/data # uname -a Linux localhost 2.6.38.8-dtbaker2-ics+ #3 PREEMPT Sun May 5 18:50:10 EST 2013 armv7l GNU/Linux root@android:/data#uname-a Linux localhost 2.6.38.8-dtbaker2-ics+#3抢占Sun May 5 18:50:10 EST 2013 armv7l GNU/Linux 正在尝试手动加载模块:

root@android:/system/lib/modules/dtbaker2-ics # ls -l -rw-rw-rw- root root 287308 2013-05-05 08:50 bcm4329.ko root@android:/system/lib/modules/dtbaker2-ics # depmod -a root@android:/system/lib/modules/dtbaker2-ics # modprobe bcm4329 modprobe: 'dtbaker2-ics/bcm4329.ko': unknown symbol in module or invalid parameter root@android:/system/lib/modules/dtbaker2-ics # insmod bcm4329.ko insmod: init_module 'bcm4329.ko' failed (No such file or directory) root@android:/system/lib/modules/dtbaker2-ics # modinfo bcm4329.ko filename: bcm4329.ko license: GPL v2 alias: sdio:c*v02D0d4319* alias: sdio:c*v02D0d4329* alias: sdio:c*v02D0d0493* alias: sdio:c*v02D0d0492* alias: sdio:c*v02D0d0000* depends: vermagic: 2.6.38.8-dtbaker2-ics+ preempt mod_unload ARMv7 parm: dhd_oob_gpio_num:DHD oob gpio number parm: clockoverride:SDIO card clock override root@android:/system/lib/modules/dt2 ics#ls-l -rw rw rw rw根目录287308 2013-05-05 08:50 bcm4329.ko root@android:/system/lib/modules/dt2 ics#depmod-a root@android:/system/lib/modules/dt2 ics#modprobe bcm4329 modprobe:'DT2/bcm4329.ko':模块中的符号未知或参数无效 root@android:/system/lib/modules/dt2 ics#insmod bcm4329.ko insmod:init_模块“bcm4329.ko”失败(没有此类文件或目录) root@android:/system/lib/modules/dt2 ics#modinfo bcm4329.ko 文件名:bcm4329.ko 许可证:GPL v2 别名:sdio:c*v02D0d4319* 别名:sdio:c*v02D0d4329* 别名:sdio:c*V02D0493* 别名:sdio:c*V02D0492* 别名:sdio:c*V02D0000* 取决于: vermagic:2.6.38.8-DT2-ics+抢占模块卸载ARMv7 parm:dhd\U oob\U gpio\U num:dhd oob gpio编号 参数:时钟覆盖:SDIO卡时钟覆盖 modprobe或insmod后的dmesg输出:

[ 1525.047424] bcm4329: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err 0) [1525.047424]bcm4329:未知符号\u全局\u偏移量\u表\u(错误0) 自定义构建内核的/proc/config.gz输出与新安装的ICS ROM的输出相同(日期除外)

一些论坛帖子提到了SLAB/SLUB和模块加载问题,所以我甚至尝试用SLUB选项(dtbaker2ics)重建初始SLAB内核(dtbakerics),同样的问题也存在

这可能是64位交叉编译问题吗?内核工作正常但没有加载模块是不是很奇怪

啊!“未知符号\u全局\u偏移量\u表格\u”错误:

我记得早些时候,我改用预先构建的工具链arm-linux-AndroidABI-4.4.3而不是arm-eabi-4.4.0,因为arm-eabi-4.4.0在64位ubuntu上对我不起作用(耸耸肩)

根据上面的google groups帖子,修改了我的内核Makefile,如下所示:

MODFLAGS        = -DMODULE -march=armv7-a -mfpu=vfpv3 -ftree-vectorize MODFLAGS=-DMODULE-march=armv7-a-mfpu=vfpv3-ftree矢量化 为此:

MODFLAGS        = -DMODULE -march=armv7-a -mfpu=vfpv3 -ftree-vectorize -fno-pic MODFLAGS=-DMODULE-march=armv7-a-mfpu=vfpv3-ftree向量化-fno pic 然后重新构建内核模块:

make clean make modules 澄清 制作模块 把我的新模块复制到android上,她走了