这篇文章主要讲解了“Android7.1.2系统设备树编译的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android7.1.2系统设备树编译的方法是什么”吧!
1 安装 JDK
1)Android8.1 系统编译依赖于 JAVA 8。编译之前需安装 OpenJDK。安装命令如下:
add-apt-repository ppa penjdk-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全部的镜像。
感谢各位的阅读,以上就是“Android7.1.2系统设备树编译的方法是什么”的内容了,经过本文的学习后,相信大家对Android7.1.2系统设备树编译的方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。