社区导航

 

搜索
查看: 183|回复: 1

[经验] iTOP4412开发板Android4.4源码编译分享

[复制链接]

298

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-6-20 11:12 | 显示全部楼层 |阅读模式

注意:本小节,介绍的源码指的是“20170803”以及后续新增的源码。

5.4.1.1 uboot 的编译

Android4.4.4 对应 uboot 的源码,编译器,参数配置,编译脚本以及编译参数和

Android4.0.3 的 uboot 全部一模一样。

5.4.1.2 Linux 内核的编译

源码目录

网盘下载 Android4.4.4 对应的源码。在网盘“iTOP-4412 开发板系统源码及镜像(其

他)”→“android_4.4.4 源码及镜像”目录下,在最新日期的文件夹下的“iTop4412-

android4.4-kernel_xxxx.tar.gz”压缩包,xxxx 表示日期。

编译器

Android4.4.4 对应内核的编译器和 Android4.0.3 的内核编译器一模一样。

参数配置

内核的编译是组合式配置文件,基本的配置文件名是“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 寸屏幕,先要参考用户手册“5.5 支持 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”。

5.4.1.3 Android4.4.4 的编译

更新环境 javap

编译 Android4.4.4,还缺少一个“javap”命令,使用命令:

“update-alternatives --install "/usr/bin/javap" "javap"

"/usr/lib/jvm/jdk1.6.0_43/bin/javap" 1”

更新一下,如下图所示。

内核以及 Android 源码路径

编译 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%,则是空间不足。

更多开发板详情了解哦

1.https://arm-board.taobao.com
2.www.topeetboard.com
Q: 2551456065


回复

使用道具 举报

17

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-6-27 11:49 | 显示全部楼层

学习了,多谢分享内容,赞啊



回复

使用道具 举报

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

关闭

站长推荐上一条 /1 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-7-16 06:14 , Processed in 0.103917 second(s), 15 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表