1608|1

164

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

迅为iMX6D/Q/PLUS设备树 Android7.1.2 系统编译 [复制链接]

1 安装 JDK
1)Android8.1 系统编译依赖于 JAVA 8。编译之前需安装 OpenJDK。安装命令如下:
add-apt-repository ppapenjdk-r/ppa
apt-get update
sudo apt-get install openjdk-8-jdk
执行结果,如下图:


2)如果您之前安装过其他版本的 JDK,需要进行版本切换。如果没有安装过,可以跳过此步骤,查看目前已经安装在系统里的 Java 版本,使用以下命令:
update-java-alternatives -l

查看相应的 jdk(java javac 等)是否在 ubuntu 的 jdk 菜单里,查看切换 jdk 的命令,如下所示:
sudo update-alternatives --config java

输入 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 目录)。注意:这里的解压命令,包括后面的解压命令中,压缩包的日期可 能有点不一样,用户要根据实际情况调整。

使用解压命令“tar -vxf iTOP-iMX6_android7.1.2_20200708.tar.gz”解压源码,解压之后得到“iTOP-iMX6_android7.1.2”文件夹,如下图所示。

使用命令“cd iTOP-iMX6_android7.1.2”,进入“iTOP-iMX6_android6.0.1”目录, 如下图所示,使用 ls 命令,可以看到编译脚本“create.sh”,这个文件就是系统整体编译的 脚本。

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”即可。

继续介绍编译脚本“create.sh”的用法。 注意:如果想编译出 iMX6PLUS 版本的 uboot,kernel,以及 Android7.1.2 文件系统,需要在编译时增加参数“plus”,即:“./create.sh plus”,如下图所示。

注意:如果想编译出 iMX6Q 版本的 uboot、kernel、以及 Android7.1.2 文件系统,需要在编译时增加参数“6q”,即:“./create.sh 6q”,如下图所示。

注意:如果想编译出 iMX6D 版本的 uboot、kernel、以及 Android7.1.2 文件系统,需 要在编译时增加参数“6d”,即:“./create.sh 6d”。 如下图所示,开始编译。

编译完成,如下图所示,生成的镜像在“out/target/product/sabresd_6dq”目录下。

编译完成之后,使用命令“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全部的镜像。

此帖出自ARM技术论坛

最新回复

谢谢分享!   详情 回复 发表于 2021-4-14 22:48
点赞 关注
 

回复
举报

7452

帖子

18

TA的资源

五彩晶圆(高级)

沙发
 

谢谢分享!

此帖出自ARM技术论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表