MTK6577 Android Kernel编译详解

需积分: 49 17 下载量 144 浏览量 更新于2024-09-09 1 收藏 485KB DOCX 举报
"MTK6577+Android编译之kernel" MTK6577是MediaTek公司推出的一款双核ARM Cortex-A9处理器,常用于智能手机和平板电脑。本资源主要关注的是如何在Ubuntu 14.04环境下编译针对MTK6577平台的Android内核。这个过程对于开发者来说至关重要,因为内核编译能够帮助他们定制设备功能、优化性能或引入新的特性。 在编译之前,硬件配置可能会有所升级,例如将内存芯片从H9TP32A4GDMCPR(4GB eNAND + 512MB LPDDR2)升级到H9TP32A8JDMCPR(4GB eNAND + 1GB LPDDR2),这将提高设备的存储容量和运行效率。 编译流程的入口是`makeMtk`文件,这是一个用Perl语言编写的脚本,它封装了编译所需的指令。整个编译系统可以分为几个主要步骤,如图2所示。编译过程主要通过执行`./mkrk`命令启动,这个过程大约需要10分钟的时间。 编译完成后,会生成一系列更新的文件,包括EBR1、MBR、kernel_hsimobile77_ics2.bin等镜像文件,以及hsimobile77_ics2_check-dep、hsimobile77_ics2_custgen、hsimobile77_ics2_ptgen等日志文件。其中,`MT6577_Android_scatter_emmc.txt`文件也有所更新,这些文件反映了编译过程中不同阶段的产物。 内核镜像文件名为`boot.img`,这个文件由ramdisk(包含系统启动所需的基本服务和应用程序)和kernel(即`kernel_$(PROJECT).bin`)组成。通过对比工具可以验证这两个部分实际上是一致的。在编译系统中,`KERNEL_IMAGES`变量在`mediatek\build\makemtk.mk`文件中被定义,根据`KBUILD_OUTPUT_SUPPORT`的设置,指向不同的输出路径。 编译预加载器(preloader)的部分内容与`hsimobile77_ics2_check-dep`、`hsimobile77_ics2_custgen`、`hsimobile77_ics2_ptgen`等文件相关,这些细节可以参考链接中的博客文章(http://blog.csdn.net/loongembedded/article/details/38706537)以获取更深入的了解。 总结来说,MTK6577+Android编译内核的过程涉及到环境设置、硬件配置、Perl脚本的执行、编译命令的调用、文件的生成以及最终的内核镜像制作。这一系列步骤对开发者调试设备、优化性能或实现特定功能至关重要。对于希望深入了解Android内核编译以及MediaTek平台特性的读者,这个主题提供了丰富的学习材料。