- 在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。
- 而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。
【iMX6q-Android6.0】--- 编译 iMX6q-Android6.0源码超详细
一、开发环境
- 开发环境:Ubuntu16
- 开发平台:iMX6q-Android6.0
二、编译 Android
编译的时候如果报错 参考 ubuntu16编译 Android6.0 源码报错
1、配置环境
source build/envsetup.sh
2、选择版本
lunch sabresd_6dq-user
或
icedustpan@System-Builder:~/nxp/imx6q-android6.0$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
5. aosp_x86-eng
6. aosp_x86_64-eng
7. aosp_deb-userdebug
8. aosp_flo-userdebug
9. full_fugu-userdebug
10. aosp_fugu-userdebug
11. sabresd_6dq-eng
12. sabresd_6dq-user
13. sabreauto_6q-eng
14. sabreauto_6q-user
15. evk_6sl-eng
16. evk_6sl-user
17. sabresd_6sx-eng
18. sabresd_6sx-user
19. sabreauto_6sx-eng
20. sabreauto_6sx-user
21. evk_6ul-eng
22. evk_6ul-user
23. sabresd_7d-eng
24. sabresd_7d-user
25. mini_emulator_arm64-userdebug
26. m_e_arm-userdebug
27. mini_emulator_mips-userdebug
28. mini_emulator_x86_64-userdebug
29. mini_emulator_x86-userdebug
30. aosp_flounder-userdebug
31. aosp_angler-userdebug
32. aosp_bullhead-userdebug
33. aosp_hammerhead-userdebug
34. aosp_hammerhead_fp-userdebug
35. aosp_shamu-userdebug
Which would you like? [aosp_arm-eng] 12
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=6.0.1
TARGET_PRODUCT=sabresd_6dq
TARGET_BUILD_VARIANT=user
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.15.0-136-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_BUILD_TYPE=release
BUILD_ID=2.1.0-ga-rc2
OUT_DIR=out
============================================
3、编译
make -j64
三、编译 U-boot
1、进入 u-boot 目录
cd imx6q-android6.0/bootable/bootloader/uboot-imx
2、编译 defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- mx6qsabresdandroid_config
3、编译 U-boot
make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- -j64
四、编译 kernel
1、特别说明
交叉编译工具:arm-linux-androideabi-
2、进入 kernel 目录
cd imx6q-android6.0/kernel_imx
3、编译 defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- imx_v7_android_defconfig
4、编译 kernel
make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- KCFLAGS=-mno-android -j64
五、单独编译 boot.img
1、进入 Android 根目录
cd imx6q-android6.0/
2、单独编译 boot.img
make bootimage -j64