当前位置: 首页 > news >正文

IMX8MP Android 10系统编译SDK

概述:

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

ubuntu主机端设置

1. ubuntu 20.04

1. 450G Free Disk space

2. 16GB RAM以上

3. 安装

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脚本文件,有详细的描述。

相关文章:

  • LeetCode 30 —— 30.串联所有单词的子串
  • MobaXterm(远程终极工具箱) v25.1 Build 5288 汉化绿色版
  • Rust语言介绍和猜数字游戏的实现
  • Flink集群部署
  • 集装箱箱号OCR识别技术,在铁路物流场站集装箱装卸机械数字化系统中的应用
  • 高级java每日一道面试题-2025年3月05日-微服务篇[Eureka篇]-Eureka在微服务架构中的角色?
  • nginx keepalive设置失效k6显示i/o timeout解决方案
  • Redis项目:秒杀业务(优化)
  • 知识蒸馏:让大模型“瘦身”的魔法
  • LiteratureReading:[2016] Enriching Word Vectors with Subword Information
  • Mac:Maven 下载+安装+环境配置(详细讲解)
  • 过往记录系列 篇四:年报月行情历史梳理
  • std::expected
  • 深度学习 第4章 数值计算和 Deepseek 的实践
  • 【初学者】怎样学习、使用与研究算法?
  • 阅读《Vue.js设计与实现》 -- 02
  • 【Notepad】Notepad优化笔记AutoHotkey语法高亮\设置替换默认的notepad程序\设置主题\增加返回上一个编辑地方插件
  • Android 12系统源码_系统启动(一)init进程
  • 配置阿里云yum源
  • 算法模型从入门到起飞系列——深度优先遍历(DFS)
  • 83岁连丽如每周登台说书,还上了15堂连派评书课
  • 发挥全国劳模示范引领作用,加速汽车产业电智化转型
  • 准80后湖北省财政厅副厅长徐晶华已调任襄阳市副市长
  • 美财长称关税战升级的责任在中方,外交部:关税战、贸易战没有赢家
  • 专访|首夺天元头衔创生涯历史,王星昊打算一步一步慢慢来
  • 上海“生育友好岗”已让4000余人受益,今年将推产假社保补贴政策