迅为iMX6D/Q/PLUS设备树 Android7.1.2 系统编译

发布时间:2021-4-14 11:02    发布者:落风
1 安装 JDK
1)Android8.1 系统编译依赖于 JAVA 8。编译之前需安装 OpenJDK。安装命令如下:
add-apt-repository ppapenjdk-r/ppa
apt-get update
sudo apt-get install openjdk-8-jdk
执行结果,如下图:
1.jpg
2)如果您之前安装过其他版本的 JDK,需要进行版本切换。如果没有安装过,可以跳过此步骤,查看目前已经安装在系统里的 Java 版本,使用以下命令:
update-java-alternatives -l
2.jpg
查看相应的 jdk(java javac 等)是否在 ubuntu 的 jdk 菜单里,查看切换 jdk 的命令,如下所示:
sudo update-alternatives --config java
3.jpg
输入 java8 对应的选择项,按回车进行确认。
2 android7.1.2 整体编译
本节介绍如何将 Android7.1.2 源码如何整体编译,即将 uboot,kernel,Android 镜像 一次性全部编译出来。
注意:编译 Android7.1.2 系统必须保证给 Ubuntu 系统提供 4G 以上内存。这里“提供 4G 以上内存”的意思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 4G 内存。 例如,用户在编译的时候,PC 机的内存一共是 6G,在虚拟机中设置分配 4G 内存,但是在 Windows 系统下,开着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在 Windows 下占 用的内存就快 2G 了,那么虚拟机会自动调整到只占用 2G,甚至不到 2G 的内存,这样就有 可能没法编译通过。 正确的分配内存方法是,首先给虚拟机分配 4G 以上内存,然后在 Windows 下关掉尽量 多的不必要的应用,关掉尽量多应用的后台程序。 当然,如果用户的 PC 是 8G 或者 16G 内存,随意就成。
Android7.1.2 源码在网盘目录“03 系统固件烧写及编译篇\05 开发板系统源码编译\03-imx6Q 源码\设备树 android7.0 源码”下,压缩包先在 windows 下解压,解压之后得到单独的压缩包“iTOPiMX6_android7.1.2_20200708.tar.gz”。 将“iTOP-iMX6_android7.1.2_20200708.tar.gz”压缩包解压到 Ubuntu14 下(作者在 /home 目录下新建了 imx6q 目录,将源码拷贝和解压到 imx6q 目录下;plus 版本的作者新 建了 iMX6-PLUS 目录)。注意:这里的解压命令,包括后面的解压命令中,压缩包的日期可 能有点不一样,用户要根据实际情况调整。
4.jpg
使用解压命令“tar -vxf iTOP-iMX6_android7.1.2_20200708.tar.gz”解压源码,解压之后得到“iTOP-iMX6_android7.1.2”文件夹,如下图所示。
5.jpg
使用命令“cd iTOP-iMX6_android7.1.2”,进入“iTOP-iMX6_android6.0.1”目录, 如下图所示,使用 ls 命令,可以看到编译脚本“create.sh”,这个文件就是系统整体编译的 脚本。
6.jpg
1G 核心板和 2G 核心板 uboot 的配置有点不一样。 如果用户是 2G 内存,使用默认配置即可。 如果用户是 1G 内存,进入“bootable/bootloader/uboot- imx/board/freescale/mx6sabresd”,如下图所示,“mx6qp.cfg”文件中内存配置代码, “mx6qp.cfg_1G”是 1G 内存配置文件,“ mx6qp.cfg_2G”是2G 配置文件。2G 核心板 用户需要使用“mx6qp.cfg_1G”文件将“ mx6qp.cfg”覆盖,使用命令“cp -rmx6qp.cfg_1G mx6qp.cfg”即可。
7.jpg
继续介绍编译脚本“create.sh”的用法。 注意:如果想编译出 iMX6PLUS 版本的 uboot,kernel,以及 Android7.1.2 文件系统,需要在编译时增加参数“plus”,即:“./create.sh plus”,如下图所示。
8.jpg
注意:如果想编译出 iMX6Q 版本的 uboot、kernel、以及 Android7.1.2 文件系统,需要在编译时增加参数“6q”,即:“./create.sh 6q”,如下图所示。
9.jpg
注意:如果想编译出 iMX6D 版本的 uboot、kernel、以及 Android7.1.2 文件系统,需 要在编译时增加参数“6d”,即:“./create.sh 6d”。 如下图所示,开始编译。
10.jpg
编译完成,如下图所示,生成的镜像在“out/target/product/sabresd_6dq”目录下。
12.jpg
编译完成之后,使用命令“cd out/target/product/sabresd_6dq”进入镜像目录,使用 ls 命令,可以看到生成了“u-boot.imx”、“system.img”、“recovery.img”以及 “boot-topeet_10.1.img ”、“boot-topeet_7.img ”、“boot-topeet_9.7.img ”等镜 像文件。编译生成的以上镜像就是 Android7.1.2全部的镜像。
13.jpg

本文地址:https://www.eechina.com/thread-764657-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • Dev Tool Bits——使用MPLAB® Discover浏览资源
  • Dev Tool Bits——使用条件软件断点宏来节省时间和空间
  • Dev Tool Bits——使用DVRT协议查看项目中的数据
  • Dev Tool Bits——使用MPLAB® Data Visualizer进行功率监视
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表