MTK内核源码包中都带与kernel同层的mediatek目录,这里就是MTK的主要目录了。但kernel也有对MTK目录的调用,并且多数调用没用加配置定义。
首先尝试的是mt6732,下的是https://github.com/profglavcho/device_elephone_p6000.git的源码。编译是通过了,但没有这个型号的手机,改到TCL-p500m上做尝试,直接重启了。
MKT在编译linux 内核,android源码时,全部的临时文件,在外部输出目录out中,其中out/target/product/{pojectname}/obj/KERNEL-OBJ/为内核的临时目录。内核的配置文件.config也在这里。
.config是生成代码生成的。perl代码与内核原有命令自动交互的结果。perl代码的依据就是mediatek/config/{platform SOC name}/autoconfig/kconfig/platform .改动这个文件就直接影响内核的配置。但只改这里,用makeMtk编译时会报错。
再需要改的地方:mediatek/config/{project name}/ProjectConfig.mk 这里配的是一些android 最后生成的feature.因为MTK用的是一种用户空间驱动的方法,所以这里也要改才能与内核代码,在配置上对应上。具体的对应关系是一个烦心的事。这两个地方删去了MKT_FM_XX这个对收意机功能定义的代码。对不报错的编译通过,算是精简了代码。
export PATH=/media/ququ/android/other-android/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/lin