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

【北京迅为】iTOP-i.MX6开发板使用手册第四部分固件编译第十四章非设备树Android4.4系统编译

可根据用户需求更换,百变定制,高端产品无忧!

迅为IMX6Q兼容四核商业级 、双核商业级、四核工业级 、更可提供i.MX6Q家族PLUS版本核心板。

核心板采用十层PCB沉金盲埋设计,更能保证电磁兼容与系统稳定。

公众号:迅为电子 

-----------------------------------------

 

第十四章 非设备树 Android4.4 系统编译

设备树简单理解就是描述设备信息(资源)的一棵树,如下图所示。那么本章节编译的 Android4.4 描述设备信息不是采用设备树的形式,而是采用传统的方式描述设备。

 

Android4.4 源码在网盘目录“iTOP-i.MX6Q 开发板\IMX6Q 非设备树内核光盘资料(刻盘)\V2.6 底板\20200703(最新日期)\imx6q android4.4 光盘资料\04 源码_android 4.4 文件系统”下。

本章节是在迅为提供的“搭建好的 Ubuntu12.04 环境。”基础上进行编译的,如果您使用的 Ubuntu 编译环境不是迅为提供的,请参考第十三章节进行搭建或者自行百度。

14.1 整体编译 Android4.4

本节介绍如何将 Android 4.4 源码整体编译,即将 uboot,kernel,Android 镜像一次性全部编译出来。

注意的问题编译 Android 系统必须保证给 Ubuntu 系统提供 4G 以上内存。这里“提供 4G 以上内存”的意思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 4G 内存。例如,用户在编译的时候,PC 机的内存一共是 6G,在虚拟机中设置分配 4G 内存,但是在 Windows 系统下,开着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在 Windows 下占用的内存就快 2G 了,那么虚拟机会自动调整到只占用 2G,甚至不到 2G 的内存,这样就有可能没法编译通过。

正确的分配内存方法是,首先给虚拟机分配 4G 以上内存,然后在 Windows 下关掉尽量多的不必要的应用,关掉尽量多应用的后台程序。

1 输入以下命令查看 java 的版本,如果显示版本是 1.6 版本则设置 jdk 版本成功,如果设置失败请参考第十 三章 13.2.3 章节安装 jdk ,java -version

2 Android4.4 压缩包要先在 windows 下解压,解压之后得到单独的压缩包

iTOP-iMX6_android4.4.2_20200703.tar.gz,如下图所示:

 

3 将账户切换为 root 用户,将“iTOP-iMX6_android4.4.2_20200703.tar.gz”压缩包(使用最新日期的 压缩包即可)解压到 Ubuntu 下,作者放在了 Ubuntu 的/home/topeet/imx6 目录下,

4 使用以下命令解压源码,如下图所示:

tar -vxf iTOP-iMX6_android4.4.2_20200703.tar.gz

5 解压之后得到“iTOP-iMX6_android4.4.2”文件夹,

6 如下图所示,使用 ls 命令,可以看到编译脚本“create.sh”。

 

create.sh_imx6q 是编译 ITOP-IMX6Q(工业级 1G+8G)和 TOP-IMX6Q(商业级 2G+16G)的脚本,

create.sh_imx6dl 是编译 ITOP-IMX6D(商业级 1G+8G)的脚本。

我们在编译之前要根据自己手里核心板的型号选择对应的编译脚本,然后覆盖掉编译脚本 create.sh,如下表所示:

 

7 ITOP-IMX6Q(商业级 2G+16G) 整体编译 Android4.4

8 ITOP-IMX6D(商业级 1G+8G) 整体编译 Android4.4

9 ITOP-IMX6Q(工业级 1G+8G) 整体编译 Android4.4

10 编译完成之后,

11 输入以下命令进入镜像目录,使用 ls 命令,可以看到生成了“u-boot.bin”,“boot.img”,“system.img”, “recovery.img”等镜像文件,cd out/target/product/topeet_6dq

ls

14.2 单独编译 uboot

1 进入源码解压得到的“/iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx/”目录下,如下图所示,可以看到脚本“build_uboot.sh”。

2 请大家工具自己手里的核心板型号,输入编译命令,如下表所示,一种颜色的代码代表一条命令:

 

3 ITOP-IMX6Q(商业级 2G+16G)单独编译 uboot,

4 ITOP-IMX6D(商业级 1G+8G)单独编译 uboot,

5 ITOP-IMX6Q(工业级 1G+8G)单独编译 uboot,

6 编译完成,如下图所示,生成了“u-boot.bin”文件,就是 uboot 的镜像。

14.3 单独编译 Android4.4 内核

1 如果我们只需要单独编译 Android4.4 kernel,则进入源码解压的 iTOP-iMX6_android4.4.2/kernel_imx

目录下,

2 不区分核心板的型号,全部使用以下命令开始编译内核 。

./build_android_kernel.sh

3 如下图所示,开始编译。

4 如下图所示,编译完成。

 

5 如下图所示,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目录下生成 uImage,即是内核镜像。

6 但是 iMX6 的内核烧写文件比较特殊,需要再次经过打包压缩,所以还需要重新运行整体编译 android 4.4的脚本,才能生成“boot.img”,android 编译一次之后,后面编译就非常快了。整体编译 android 4.4

请参考 14.1 章节整体编译 Android4.4。

14.4 单独编译 Linux 内核

编译出来的 Linux 内核镜像适用于 QT,最小文件系统,

Ubuntu12.04,Debian,Yocto 系统,和 Android4.4

公用一套源码。

1 如果我们需要单独编译 Linux 系统用的内核镜像,则进入源码“iTOP-iMX6_android4.4.2/kernel_imx”

目录下,

2 使用以下命令,开始编译内核,如下图所示:

./build_qt_kernel.sh

3 开始编译,

4 编译完成,

5 如下图所示,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目录下生成 uImage,即是内核镜像。

 

http://www.lryc.cn/news/436352.html

相关文章:

  • 测评造假?Mistral首个多模态模型Pixtral 12B发布
  • 【Java-简单练习题】
  • Notepad++ 下载安装教程
  • shader 案例学习笔记之smoothstep函数
  • 大模型的第一个杀手级应用场景出来了
  • 不允许有程序员不知道这款AI代码扩写工具
  • java 的list集合排序自定义元素
  • 【数学建模】2024数学建模国赛经验分享
  • Scala尾递归解决爆栈问题
  • 【观察者】设计模式:构建灵活且响应式的软件系统
  • 开源网安斩获CCIA中国网络安全创新创业大赛总决赛三等奖
  • 进程的同步与互斥
  • 基础的八股
  • 使用Python从头开始创建PowerPoint演示文稿
  • 【C++ Primer Plus习题】15.4
  • Pipeline Scheduling(UVA 690)
  • 萤石举办2024清洁机器人新品发布会 多维智能再造行业标杆
  • 企业级Ansible自动化运维项目案例:实战与技巧
  • JavaSE-易错题集-005
  • 决策树模型的可解释性
  • 2. geoserver 发布postgis数据
  • 【渗透测试】——Brup Suite平台安装
  • redis:全局ID生成器实现
  • jenkins工具的介绍和gitlab安装
  • 【从0开始在CentOS 9中安装Tomcat】
  • 学习Vue3的第五天
  • Python 类中使用 cursor.execute() 时语法错误的解决方法
  • 怎么选择靠谱AI论文生成工具?看完我的试用都会明白!
  • Java 每日一刊(第3期):Hello World
  • git一个项目关联多个远程仓库