我正在尝试为摩托罗拉Moto E构建Android内核。
Android内核信息:
名称:Android内核摩托罗拉MSM8610
设备(预期):Moto E
硬件:MSM8610
Github:Kernel Source Link
工具链:
我在以下工具链上尝试了同样的错误。
我的程序:
首先清理android内核源目录。
make clean && make mrproper
制作配置文件。
make ARCH=arm CROSS_COMPILE=/path/to/toolchain/bin/ msm8610_defconfig
构建内核。
make ARCH=arm CROSS_COMPILE=/path/to/toolchain/bin/
错误:
在最后一步,即构建内核部分,我收到以下错误:
LD init/built-in.o
LD .tmp_vmlinux1
drivers/built-in.o: In function `iris_fops_open':
/home/mohit/code/android_kernel_motorola_msm8610/drivers/media/radio/radio-iris.c:5100: undefined reference to `radio_hci_smd_init'
Makefile:885: recipe for target '.tmp_vmlinux1' failed
make: *** [.tmp_vmlinux1] Error 1
这可以修复吗?
谢谢。
答案 0 :(得分:2)
一旦您了解了内核源代码的方法,只需按照以下步骤进行调查就非常简单:
radio_hci_smd_init
CONFIG_RADIO_IRIS_TRANSPORT=m
最简单的方法可能是编辑.config以将CONFIG_RADIO_IRIS_TRANSPORT=y
更改为{{1}},以使该驱动程序也内置并希望能够与另一个驱动程序链接。
也就是说,该行给出了您的错误That defconfig is bogus。从Git日志中,似乎有人试图通过引入破坏的构建时依赖性来修复损坏的运行时依赖性问题,并且在该分支上至少再次还原它。