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



我在Android上加载内核模块有问题,内核已经从64位linux盒子交叉编译。内核引导很好,它只是不会加载任何模块(甚至bcm4329。Ko for wifi)

在恢复中使用CWM"从zip安装"功能将内核和模块闪现到设备(HTC Desire)上。

root@android:/data # uname -aLinux localhost 2.6.38.8-dtbaker2-ics+ #3 PREEMPT 5月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.koroot@android:/system/lib/modules/dtbaker2-ics # depmod -aroot@android:/system/lib/modules/dtbaker2-ics # modprobe bcm4329modprobe:"dtbaker2-ics/bcm4329。模块中的未知符号或无效参数root@android:/system/lib/modules/dtbaker2-ics # insmod bcm4329.koInsmod: init_module 'bcm4329。ko失败(没有这样的文件或目录)root@android:/system/lib/modules/dtbaker2-ics # modinfo bcm4329.ko文件名:bcm4329.ko许可证:GPL v2别名 :          sdio: c * v02D0d4319 *别名 :          sdio: c * v02D0d4329 *别名 :          sdio: c * v02D0d0493 *别名 :          sdio: c * v02D0d0492 *别名 :          sdio: c * v02D0d0000 *取决于:vermagic: 2.6.38.8-dtbaker2-ics+ preempt mod_unload ARMv7parm: dhd_oob_gpio_num: dhd_oob gpio号parm: clockoverride:SDIO卡时钟覆盖之前

dmesg modprobe或insmod后输出:

[1525.047424] bcm4329:未知符号_GLOBAL_OFFSET_TABLE_ (err 0)

我自定义构建的内核的/proc/config.gz输出与这个ICS ROM的新安装的输出相同(除了日期)。

几个论坛帖子提到了SLAB/SLUB和模块加载问题,所以我甚至试图用SLUB选项(dtbaker2-ics)重建初始的SLAB内核(dtbaker-ics),同样的问题存在。

这可能是64位交叉编译问题吗?奇怪的是,内核工作良好,但模块没有加载?

啊!"Unknown symbol _GLOBAL_OFFSET_TABLE_"错误:https://groups.google.com/forum/?fromgroups=#!主题/android-kernel dzEIOVuxtEo

我记得早些时候我换用预构建的工具链arm-linux-androideabi-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-vectorize -fno-pic

然后重新构建内核模块:

<>以前做清洁以前做模块把我的新模块复制回android,她走了!

最新更新