cd android-6.0
source ../android_M6.0.1_2.1.0_source/code/M6.0.1_2.1.0/and_patch.sh
c_patch ../android_M6.0.1_2.1.0_source/code/M6.0.1_2.1.0/ imx_M6.0.1_2.1.0
如果以下提示,说明你已经成功打补丁
*****************************************************************
Success: Now you can build the Android code for FSL i.MX platform
*****************************************************************
注: 如果出现git获取不到对应目录的版本号, 可以删除android_M6.0.1_2.1.0_source/code/M6.0.1_2.1.0/baseversion中对应目录的一行,例如: vi ../android_M6.0.1_2.1.0_source/code/M6.0.1_2.1.0/baseversion
然后将204行删除:
- 编译Androidcd android-6.0
echo export USE_CCACHE=1>> ~/.bashrc //设置编译器使用高速缓存
prebuilts/misc/linux-x86/ccache/ccache -M50G
lunch sabresd_6dq-user
make -j4
编译后在< AndroidSDK >out/target/product/sabresd_6dq/可看到u-boot.imx boot.img recovery.img system.img 等文件, 且存在如下几个目录:
root目录:安卓root文件系统,里面存放init init.rc等文件,会被挂载到 /
system目录:安卓system目录,存放二进制文件和库,会被挂载到 /system
data目录:安卓data目录,存放用户的一些私有文件, 会被挂载到 /data
小技巧: 可以使用 make -j4 > /mnt/share/kernel/AndroidSrc/mk.log 来保存编译日志与错误日志
单独编译u-boot镜像
cd android-6.0/bootable/bootloader/uboot-imx
export ARCH=arm
export CROSS_COMPILE=/mnt/share/kernel/AndroidSrc/android-6.0/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
make distclean
make mx6qsabresdandroid_config
make
单独编译uImage镜像
export PATH=android-6.0/bootable/bootloader/uboot-imx/tools:$PATH
cd android-6.0/kernel_imx
export ARCH=arm
export CROSS_COMPILE=/mnt/share/kernel/AndroidSrc/android-6.0/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
make imx_v7_android_defconfig
make KCFLAGS=-mno-android
make uImage LOADADDR=0x10008000 KCFLAGS=-mno-android