MTK6577 Android编译详解:从源代码到系统镜像

需积分: 4 10 下载量 68 浏览量 更新于2024-07-21 收藏 706KB DOCX 举报
"MTK6577+Android编译之android" 本文主要介绍的是基于MTK6577芯片的Android系统编译过程,重点在于理解编译环境、编译流程以及编译后生成的关键文件。MT6577是一款由联发科(MediaTek)推出的智能手机处理器,支持Android 4.0系统。在本编译过程中,内存配置从4GB eNAND和512MB LPDDR2升级至4GB eNAND和1GB LPDDR2,以提升设备性能。 开发环境为虚拟机上的Ubuntu 14.04操作系统,这是常见的Linux发行版,常用于Android的交叉编译。MTK6577的源代码结构复杂,但编译的入口相对明确,通过一个名为`makeMtk`的Perl脚本进行封装,执行编译命令。 编译系统概述: 1. **编译命令**:编译过程启动于`./mkrdr`命令,这个命令会触发整个构建流程,大约需要54分钟完成。 2. **编译时间**:整个编译过程耗时约54分钟。 3. **生成文件**:编译完成后,会产生一系列更新的文件,包括`bootimg`、`kernel`、`ramdisk.img`、`ramdisk-recovery.img`、`recovery.img`、`secro.img`和`system.img`。这些文件分别是启动镜像、内核、RAM磁盘、恢复模式RAM磁盘、恢复映像、安全启动镜像和系统映像,它们构成了Android系统的各个关键部分。 4. **日志文件**:还会生成一些日志文件,如`hsimobile77_ics2_check-dep`、`hsimobile77_ics2_custgen`、`hsimobile77_ics2_check-modem`、`hsimobile77_ics2_sign-modem`、`hsimobile77_ics2_AppAssets_Overlay`和`hsimobile77_ics2_android`,这些日志记录了编译过程中的依赖检查、定制生成、Modem检查和签名等步骤。 对于编译过程中的详细步骤,可以参考链接提供的文章,它涉及到preloader部分的编译。`system.img`是Android镜像的一个重要组成部分,包含了系统应用、库和其他必要的系统文件。在`mediatek\build\makemtk.mk`文件中定义了`ANDROID_IMAGES`变量,列出了编译后生成的各个目标镜像文件的位置。 在Android系统编译过程中,`boot.img`包含启动加载器(Bootloader)、Kernel和初始RAM磁盘(initrd)。`recovery.img`用于恢复模式,`secro.img`与安全启动相关,而`system.img`则是Android系统的主要部分,包含系统应用和库。`userdata.img`则包含了用户数据和设置,通常在单独的分区上。 编译Android系统是一个复杂的过程,涉及到多个组件的编译、链接、打包以及各种定制化步骤,以适应特定硬件平台的需求。对于开发者来说,理解和掌握这个过程有助于优化系统性能,添加自定义功能,以及解决可能出现的兼容性问题。