IMX8MP Android 10系统编译SDK

概述:

本文描述了在Ubuntu 20.04操作系统上搭建IMX8MP Android10系统编译环境。

ubuntu主机端设置

  1. ubuntu 20.04

  2. 450G Free Disk space

  3. 16GB RAM以上

  4. 安装

sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop git curl u-boot-tools mtd-utils android-sdk-libsparse-utils device-tree-compiler gdisk m4 bison flex make libssl-dev gcc-multilib libgnutls28-dev swig liblz4-tool libdw-dev dwarves bc cpio tar lz4 rsync ninja-build clang libelf-dev build-essential libncurses5 clang-11 lld-11

Android 10代码的同步

1、 mkdir IMX8M_Android10

2、cd IMX8M_Android10

3、进入Q10.0.0_2.6.0_ANDROID_SOURCE

网站下载源码 imx-android-10.0.0_2.6.0.tar.gz,

4、解压下载的源码到IMX8M_Android10文件夹

tar -xvf imx-android-10.0.0_2.6.0.tar.gz -C IMX8M_Android10

5.执行 source ~imx-android-10.0.0_2.6.0/imx_android_setup.sh 进行源码同步

注: 因为imx8mp Android10源码大部分托管到了github网站,因此同步imx8mp相关部分,需要有能访问github的能力

Android 10 安装编译工具

Downloads | GNU-A Downloads -- Arm Developer网站下载

1、aarch32 GCC工具

下载:gcc-arm-8.3-2019.02-x86_64-arm-eabi.tar.xz

解压

sudo tar -xvf gcc-arm-8.3-2019.02-x86_64-arm-eabi.tar.xz -C /opt

2、aarch64 GCC工具

下载 gcc-arm-8.3-2019.02-x86_64-aarch64-linux-gnu.tar.xz

解压

sudo tar -xvf gcc-arm-8.3-2019.02-x86_64-arm-eabi.tar.xz -C /opt

3、在Android 10源码,修改imx-make.sh文件。增加如下修改:

export AARCH32_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-eabi/bin/arm-eabi-

export AARCH64_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-linuxgnu/bin/aarch64-linux-gnu-

编译步骤

除了编译uboot和kernel外,Android镜像的编译,可以使用通用版本的编译命令;

其中MY_ANDROID为Android10源码路径

编译Android 全部镜像

cd {MY_ANDROID}

$ source build/envsetup.sh

$ lunch evk_8mp-userdebug

$ ./imx-make.sh -j4

等价于如下的操作:

cd {MY_ANDROID}

$ source build/envsetup.sh

$ lunch evk_8mp-userdebug

$ ./imx-make.sh bootloader kernel -j4

$ make -j4

编译U-boot

cd {MY_ANDROID}

$ source build/envsetup.sh

$ lunch evk_8mp-userdebug

$ ./imx-make.sh bootloader -j4

编译内核

cd {MY_ANDROID}

$ source build/envsetup.sh

$ lunch evk_8mp-userdebug

$ ./imx-make.sh kernel -c -j4

编译bootimage

$ source build/envsetup.sh

$ lunch evk_8mp-userdebug

$ ./imx-make.sh bootimage -j4

编译dtbo.img

$ source build/envsetup.sh

$ lunch evk_8mp-userdebug

$ ./imx-make.sh dtboimage -j4

烧写步骤

  1. 从github下载uuu工具

https://github.com/nxp-imx/mfgtools/releases

chmod a+x uuu

cp uuu /usr/bin

生效如下:

emmc的烧写

  1. 板子进入Serial Download Mode

  2. 板上上电

  3. 在镜像生成目录out/product/target执行

sudo ./uuu_imx_android_flash.sh -f imx8mp -e -u dual -d lvds-panel

烧写参数说明,请查看uuu_imx_android_flash.sh脚本文件,有详细的描述。

相关推荐
2501_9159090615 分钟前
Charles中文版使用教程 高效抓包与API调试常见问题处理
android·ios·小程序·https·uni-app·iphone·webview
智江鹏21 分钟前
Android 之 RxJava2
android
御水流红叶1 小时前
安卓加固脱壳
android·开发语言·python
智江鹏3 小时前
Android 之 网络通信(HTTP/TCP/UDP/JSON)
android
xq95273 小时前
android webview和 js 各种用法交互
android
北有花开4 小时前
Android方法耗时监控插件:基于ASM字节码插桩的性能分析工具
android
whysqwhw4 小时前
React Native应用中实现原生组件与JavaScript组件的复杂交互
android
whysqwhw4 小时前
React Native 中调用 Android 自定义控件
android
往事如烟隔多年5 小时前
一加Ace5无法连接ColorOS助手解决(安卓设备ADB模式无法连接)
android·adb·手机·coloros
00后程序员张5 小时前
iOS软件性能监控实战指南 开发到上线的完整流程解析
android·ios·小程序·https·uni-app·iphone·webview