Android4.4.4 的内核以及文件系统的源码在网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412开发板系统源码及镜像(其他)\android_4.4.4 源码以及对应 Kernel 源码”目录下。

需要注意的是,其中“20170803”以及后续新增的目录下的源码编译方法参考本小节,在“20170803”之前的源码编译参考 7.4.2 小节。
另外,由于 eMMC 升级和屏幕升级,如果用户是 2018 年或者之后购买的开发板,或者新购买了金属框 7 寸屏/10.1 寸屏,请直接下载“2018xxx”目录下上传的内核代码和镜像测试,Android 源码和 20170803通用,编译方法参考 7.4.1 小节。

8.1 搭建编译环境
编译安卓 4.4 使用 Ubuntu12.04,配置方法和 Android4.0 相同。编译 uboot 和内核使用的编译器和 编译Android4.0.3 的内核编译器一模一样(使用 arm2009-q3)。编译 Android4.4 文件系统相关的配置方法参考9.4 章节

8.2 编译 U-boot
Android4.4.4 对应 uboot 的源码,编译器,参数配置,编译脚本以及编译参数和 Android4.0.3 的 uboot全部一模一样,可参考“8.3 编译 U-boot”章节。

8.3 编译 Linux 内核
Android4.4 对应的 Linux 内核在网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板系统源码及镜像(其他)\android_4.4.4 源码及镜像\xxxx\Android4.4-Source”目录下,在最新日期的文件夹下的“iTop4412- android4.4-kernel_xxxx.tar.gz”压缩包,xxxx 表示日期。
内核的编译器和 Android4.0.3 的内核编译器一模一样(arm-2009q3)。
内核的编译需要对应的配置文件,基本的配置文件名是“config_for_android_XX_YY”,XX,YY 表示用下表所示的参数替代。POP 和 SCP 分别对应核心板的 POP 和 SCP;elite 和 super 分别对应精英版和全能版;no_wifi 参数仅用于精英版,表示不支持 WiFi 模块,如果没有 WiFI 模块,那么就需要配置为 no_wifi。

如上表所示,如果需要 Android4.4.4 支持 WiFi,则需要配置对应的参数,不支持 WiFi 也需要进行对应配置。

编译生成内核镜像举例
和 Android4.0.3 内核一样,如果需要编译对应核心板的内核,首先使用 cp 命令将对应的配置文件覆盖掉“.config”。
如果用户要使用 5 寸屏幕,先要参考用户手册“7.6 支持 5 寸屏的内核补丁文件”,给内核打补丁,然 后 使 用 命 令 “ vim .config ” , 在 文 件 中 搜 索 关 键 词 “ CONFIG_TOUCHSCREEN_GT9XX=y ” , 在
“CONFIG_TOUCHSCREEN_GT9XX=y”之后添加一行“CONFIG_TOPEET_LCD5X0=y”,添加完成之后,如下图所示。如果用户不使用 5 寸屏幕,则可以跳过这一步。

最后执行编译命令“make zImage”。
生成内核镜像的目录也是“arch\arm\boot”。
例如:开发板是精英版,POP 核心板,需要支持 WiFi 模块,那么缺省文件就需要配置为“config_for_android_pop_elite”。
开 发 板 是 精 英 版 , POP 核 心 板 , 不 支 持 WiFi 模 块 , 那 么 缺 省 文 件 就 需 要 配 置 为“config_for_android_pop_no_wifi”。

8.4 编译 Android4.4.4 文件系统
编译 Android4.4.4,还缺少一个“javap”命令,使用命令:
update-alternatives --install "/usr/bin/javap" "javap" "/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1更新一下,如下图所示。

编 译 Android4.4 源 码 的 时 候 , 一 定 要 注 意 内 核 源 码 的 目 录 。 在 和 Android 源 码 目 录“iTop4412_KK4.4_git ”的同一级目录下,将内核源码解压。
例如,如下图所示,作者将内核源码和 Android4.4 源码压缩包放到“/home/iTOP- 4412-Android4.4”目录下,解压“iTop4412_KK4.4_git_xxx.tar.gz”和“iTop4412- android4.4-kernel_xxx.tar.gz”,Android 源码解压之后得到“iTop4412_KK4.4_git”和“kernel” 目录。“iTop4412_KK4.4_git” 目录下就是 Android 源码 ,“kernel/iTop4412_Kernel_3.0”目录下就是内核源码。

另外在编译 Android4.4 之前,必须成功编译 Android4.4 对应的内核。
然后进入 Android4.4.4 源码解压后得到文件夹“iTop4412_KK4.4_git”中,使用命令“./build_android.sh”运行一键编译脚本,开始编译 Android4.4.4。
注意:编译 Android4.4.4 必须保证给 Ubuntu 系统提供 3G 以上内存。这里“提供 3G 以上内存”的意思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 3G 内存。例如,用户在编译的时候,PC 机的内存一共是 4G,在虚拟机中设置分配 3G 内存,但是在 Windows 系统下,开着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在 Windows 下占用的内存就快 2G 了,那么虚拟机会自动调整到只占用 2G,甚至不到 2G 的内存,这样是没法编译通过的。
正确的分配内存方法是,首先给虚拟机分配 3G 以上内存,然后在 Windows 下关掉尽量多的不必要的应用,关掉尽量多应用的后台程序。
当然,如果用户的 PC 是 8G 或者 16G 内存,随意就成。
编译完成之后,在文件夹“iTop4412_KK4.4_git/out/target/product/smdk4x12”中,生成镜像“system.img”和“ramdisk-uboot.img”。
这里还需要注意的是,Android4.4.4 源码需要占用较大的空间,用户需要确认有足够的空间才能够成功编译。Android4.0.3 编译完成后总共大约占用 18G 的空间,Android4.4.4 编译完成后总共占用大约 36G 的空间。
用户完全按照步骤编译错误,可以使用“df -l”查看一下盘符剩余空间还剩下多少,如果是已使用 100%,则是空间不足。

8.5 编译早期 Android4.4.4 旧源码
注意:本小节,介绍的旧源码指的是“20170803”之前的早期源码。
在网盘目录中“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板系统源码及镜像(其他)\android_4.4.4 源码以及对应 Kernel 源码”中下载 Android4.4.4 的 文件系统,并通过 github 下载 uboot
(Android4.4 的 uboot 源码和 Android4.0.3 完全一样) 和 kernel 的源码(参考附录六)。

编译 uboot
Android4.4.4 对应 uboot 的源码,编译器,参数配置,编译脚本以及编译参数和 Android4.0.3 的 uboot全部一模一样。

编译 Linux 内核
网盘下载 Android4.4.4 对应的源码。在网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板系统源码及镜像(其他)\android_4.4.4 源码及镜像”目录下。
Android4.4.4 对应内核的编译器和 Android4.0.3 的内核编译器一模一样。内核的编译是组合式配置文件,基本的配置文件名是“config_for_android_YY”,YY 表示用下表所示的参数替代。

如上表所示,如果需要 Android4.4.4 支持 WiFi,则需要配置对应的参数。
编译生成内核镜像举例:
和 Android4.0.3 内核一样,如果需要编译对应核心板的内核,首先使用 cp 命令将对应的配置文件覆盖掉”.config”,然后在执行编译命令“make zImage”。生成内核镜像的目录也是“arch”-->“arm”-->“boot”。

编译 Android4.4.4 (文件系统部分)
Android4.4.4 源码在网盘“iTOP-4412 开发板系统源码及镜像(其他)\android_4.4.4 源码以及对应
Kernel 源码”目录中下载,编译器和参数配置和 Android4.0.3 一模一样。
更新环境 javap
编译 Android4.4.4,还缺少一个“javap”命令,使用命令:“update-alternatives --install "/usr/bin/javap" "javap" "/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1”更新一下,如下图所示。

源码下载
内核的源码也可以在 github 上下载,具体参考使用手册附录 6.2,附录中有迅为 Android4.4 对应内核源码 github 下载地址。
使用手册附录中有介绍 repo 下载 Android4.4.4 源码的方法,但是从 2016 开始,repo 经常性的无法下载和使用。所以最好到迅为百度网盘中下载源码(目录参考使用手册编译章节),选取日期最近的目录下载即可。
网盘中源码包一般是 gz 后缀、7z 或者 rar 后缀。gz 后缀可以直接在 Ubuntu 下解压; 7z 和 rar 后缀都是需要先在 windows 下解压出 gz 后缀压缩包,然后再在 Ubuntu 下解压。
内核以及 Android 源码路径
编 译 Android4.4.4 源 码 的 时 候 , 一 定 要 注 意 内 核 源 码 的 目 录 。 在 和 Android 源 码 目 录“iTop4412_KK4.4_git”的同一级目录下,新建一个 kernel 目录,然后将内核源码放到 kernel 目录下,要使用迅为默认的文件名“iTop4412_Kernel_3.0”。
例如:在 Android4.4 的源码目录下,使用命令“ls ../kernel/iTop4412_Kernel_3.0/”,如下图所示,内核的目录才是正确的。

另外在编译 Android4.4 之前,必须成功编译 Android4.4 对应的内核。
然后进入 Android4.4.4 源码解压后得到文件夹“iTop4412_KK4.4”中,使用命令“./build_android.sh”运行一键编译脚本,开始编译 Android4.4.4。注意:编译 Android4.4.4 必须保证给 Ubuntu 系统提供 3G 以上内存。这里“提供 3G 以上内存”的意思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 3G 内存。例如,用户在编译的时候,PC 机的内存一共是 4G,在虚拟机中设置分配 3G 内存,但是在 Windows系统下,开着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在 Windows 下占用的内存就快 2G 了, 那么虚拟机会自动调整到只占用 2G,甚至不到 2G 的内存,这样是没法编译通过的。正确的分配内存方法是,首先给虚拟机分配 3G 以上内存,然后在 Windows 下关掉尽量多的不必要的应用,关掉尽量多应用的后台程序。
当然,如果用户的 PC 是 8G 或者 16G 内存,随意就成。

如下图所示,编译完成。在文件夹“iTop4412_KK4.4/out/target/product/smdk4x12”中,生成镜像
“system.img”和“ramdisk-uboot.img”。

这里还需要注意的是,Android4.4.4 源码需要占用较大的空间,用户需要确认有足够的空间才能够成功编译。Android4.0.3 编译完成后总共大约占用 18G 的空间,Android4.4.4 编译完成后总共占用大约 36G 的空间,如下图。

用户完全按照步骤编译错误,可以使用“df -l”查看一下盘符剩余空间还剩下多少,如下图所示,如果是已使用 100%,则是空间不足。

内核源码包是“iTop4412-android4.4-kernel_20180724.tar.gz”,一定要是 20180724 结尾的内核压缩包才行,如果用户使用的是老版本,则需要根据补丁文件添加代码。
补丁包是网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板系统源码及镜像(其他)\android_4.4.4 源 码 以 及 对 应 Kernel 源 码 \20180724\Android4.4-Source ” 目 录 下 的 压 缩 包“patch_elite4x4_lcd5x0.tar.gz”。
拷贝到内核源码目录下(一定要拷贝到内核源码的目录下),如下图所示,使用命令“tar -vxfpatch_elite4x4_lcd5x0.tar.gz”解压得到文件夹“patch_elite4x4_lcd5x0”,文件夹中有 5 个补丁文件,1 个脚本文件。

进入解压得到的文件夹“patch_elite4x4_lcd5x0”,使用命令“ chmod 777 script_patch_elite4x4_lcd5.sh”修改脚本权限。
接着使用“./script_patch_elite4x4_lcd5.sh u”命令,到这一步就打完补丁了,如下图所示。

如果需要返回到更新补丁前的状态,则使用命令“./script_patch_elite4x4_lcd5.sh r”。
用 户 在 “ iTop4412-android4.4-kernel_20180724.tar.gz ” 原 始 内 核 的 基 础 上 , 运 行 了“./script_patch_elite4x4_lcd5.sh u”N 次,则可以使用命令“./script_patch_elite4x4_lcd5.sh r”同样也是 N 次,则可以返回到打补丁前的状态。
更多内容:哔哩哔哩→搜索北京迅为

嵌入式学习篇丨迅为4412开发板Android4.4系统编译相关推荐

  1. 迅为4412开发板-步进电机-驱动和测试例程

    迅为4412开发板-步进电机-驱动和测试例程 和本文档配套的资料有: 1 内核配置和步进电机驱动补丁包: topeet_modules_20190319.tar.gz 2 linux-C 的测试例程: ...

  2. 迅为4412开发板物联网项目实战手机远程控制(广域网)

    用手机远程控制开发板,远程控制不是通过WIFI局域网控制,而是通过广域网来实现,真正的远程控制.实现万物互连. 下面先介绍一下云计算 云计算是分布式计算的一种,指的是通过网络"云" ...

  3. android开发板功能,嵌入式开发-迅为4418开发板Android4.4.4实现ble功能

    ①.迅为4418开发板Android4.4.4实现ble功能: 在4418/android/device/nexell/drone2/device.mk中添加: frameworks/native/d ...

  4. 嵌入式:利用TF卡给4412开发板的emmc上烧写安卓系统

    系统: 主机:64位windows10主机,vmware player15虚拟机,64位debian9.8宿主机. 开发板: 迅为4412开发板,核心板是scp 1G的. 步骤: 1,有一个TF卡,至 ...

  5. 迅为-iMX6开发板-Android4.4-设置MAC地址

    本文档介绍如何简易修改 iMX6 开发板 Android4.4 系统的 MAC 地址,在网络通信中, 会用到 MAC 地址,开发板源码中默认的 MAC 地址全部一样,这样会引起冲突,导致网络通 信故障 ...

  6. rfid android开发板,iTOP-6818开发板-Android4.4系统下RFID射频模块测试例程

    原标题:iTOP-6818开发板-Android4.4系统下RFID射频模块测试例程 平台:迅为iTOP-6818开发板 系统:Android4.4版本 例程:RFID射频模块测试例程 rc522 驱 ...

  7. 【学习/研发】嵌入式Linux/Android开发有它就够了——迅为4412开发板

    网站:http://www.topeetboard.com 光盘资料+网盘资料+配套视频+售后支持,助您加速学习研发的进程 产品介绍 iTOP-Exynos4412开发板采用 Exynos4412的主 ...

  8. 迅为4412开发板驱动-linux 开机 logo 的修改方法

    文档主要介绍 4412 开发板的内核启动 LOGO,请注意如果要修改的屏幕分辨率小于480x640,请参考另外的独立文档"iTOP-4412-内核-4.3 寸屏幕-logo 修改_V1.0& ...

  9. 迅为4412开发板一键烧写QT程序到开发板

    之前我们写好一个程序,都是先交叉编译完,然后在通过 nfs/tftp 或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点 ...

最新文章

  1. AXI4-Stream协议总结
  2. python中不能使用索引运算的是_Python数据分析之Pandas库(笔记)
  3. 适用于无服务器Java开发人员的AWS Lambda:它为您带来了什么?
  4. 简易计算器 java_终于写出一个简单的计算器了
  5. mysql yum多实例_mysql———基于yum源实现多实例
  6. goodbye 2018, hello 2019
  7. python编程自学好学吗 ?
  8. C#上位机与三菱PLC通讯
  9. excel如何深度隐藏sheet呢?
  10. linux下find命令的详细说明
  11. 机器学习Class 6:分类及描述
  12. JavaScript之毒瘤
  13. stimulsoft oracle,【Stimulsoft Reports Java教程】使用Oracle数据库
  14. 弘辽科技:手淘客是什么意思?如何去查看?
  15. Android 8.0 手机亮灭屏
  16. 奋斗与首付,谁更能承载生命之重?
  17. spring mvc 双亲上下文问题
  18. 计算机网络第七版3-2
  19. 优秀自我简介200字_个人简历自我评价200字优秀范文.doc
  20. MinGW下载和安装

热门文章

  1. Android WebView加载网页,图片等元素宽度大小不兼容手机屏幕的宽度
  2. [BMVC 2021] Feature Fusion Vision Transformer for Fine-Grained Visual Categorization
  3. 17-dell台式电脑长时间没有关机,进入省电模式无法开机解决方法
  4. eclipse安装svn插件以及添加svn资源库
  5. 源代码防泄漏该怎么做呢
  6. 完美测试-软件测试系列最佳实践[电子工业出版社].pdf
  7. 数码相机raw照片编辑Capture One Pro中文
  8. NOAA NPP灯光数据介绍和下载
  9. 正点原子中 IIC 例程中SDA_IN()和SDA_OUT()函数理解
  10. sublime text3快速查找和替换代码