本文档介绍itop-4412开发板上移植 Android5.1 的教程,包括:基础知识、搭建编译环境、编译、

repo 下载、烧写等内容。

需要了解的基础知识有 git 和 repo 工具,这两个工具是程序员必备要会使用的工具;搭

建编译环境是基于 Ubuntu14,这是由 Android 的版本决定的,另外需要至少 120G 的硬盘

空间;另外还有使用 repo 下载源码、编译、烧写等等。

1 Git 和 repo

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds(和内核发明人是同一个人)为了帮助管理 Linux 内核开发而开发

的一个开放源码的版本控制软件,它采用了分布式版本库的方式,不必服务器端软件支持。

Git 是一个,关于 Git 的教程,网上非常多,比较好的教程链接如下:

http://www.runoob.com/git/git-tutorial.html

在我们的移植教程中,Git 只需要简单了解下,但是这个工具还是很有用的,用户如果有

时间可以自己好好学习下,github 上还有很多有用的开源软件,非常哟用。

repo 只是 google 用 Python 脚本写的调用 Git 的一个脚本,主要是用来下载、管理

Android 项目的软件仓库。也就是说,repo 是调用 Git 的一个脚本,运行这个脚本会将源码

下载到本地,也有同步和合并的命令。学习链接如下:

http://blog.csdn.net/wh_19910525/article/details/8164107

2 搭建基础编译环境

2.1 Ubuntu14.04 的安装

编译 Android5.1 需要用到 Ubuntu14.04,在网盘“iTOP4412 开发板资料汇总(不含光

盘内容)\iTOP-4412 开发板搭建编译环境所需要的工具包以及补丁包\08-Android5.1 开发

工具包\01-Ubuntu14.04 镜像”目录下。安装方法参考用户使用手册 3.2 小节,和

Ubuntu12.04 版本安装方法一样。

2.2 安装 ssh 和 vim

虚拟机 Ubuntu14.04 安装完成之后,首先需要开启 root 用户(参考用户手册 3.3.2 小

节)、联网以及更新数据源(参考用户手册 3.3.4 小节)。请注意:编译 Android5.1.1 之后,

源码和中间文件有接近 90G,建议用户在安装的 Ubuntu 的时候,建议提供 150G 以上的空

间,作者刚开始测试分配 100G,发现会报错。

联网和更新数据源之后,需要安装 vim 编辑器和 ssh 工具。

vim 工具的安装使用参考 3.4 小节。

参考 3.2.5 小节,首先在 Windows 上安装 ssh 工具(已经安装的就不需要安装了)。

Ubuntu14.04 上安装 ssh 工具,使用命令“apt-get install ssh”.

虚拟机 Ubuntu 上的 SSH 软件安装之后,还需要设置一下。

1)首先登陆 root 账户,然后使用命令“vim /etc/ssh/sshd_config”打开配置文件。

e32ee06b1e3180302e5d5722705f618b.png

2)打开之后如下图所示。

3aa55668236a08b984e11f2e49a8beda.png

3)找到 Authentication 配置部分,将 PermitRootLogin without-password 修改为

PermitRootLogin,如下图所示。

8fd316b6c93ebe4b886d7a551db34501.png

4)然后保存退出,重启下 Ubuntu,Ubuntu 上的 ssh 就设置完毕。

3 编译内核

内核的编译使用 arm-2009q3 交叉编译工具,参考用户手册 5.2.2 小节。

1)拷贝网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板搭建编译

环境所需要的工具包以及补丁包\08-Android5.1 开发工具包\02-Android5.1 内核源码”文件

夹里面的 linux 内核源码 iTop4412_Kernel_3.0_for_android_5.1.1.tar.gz 到 ubuntu 系统

下,如下图:

955b6651acc78fbed4c7bd125b2cdd89.png

2)然后输入命令“tar -xvf iTop4412_Kernel_3.0_for_android_5.1.1.tar.gz”解压内核

源码,如下图:

04fd8f61f54cda72503f28ce8bf7c559.png

3)解压完生成 iTop4412_Kernel_3.0 文件夹,进入到该文件夹,如下图:

41511fa9d590b14a70f0ef45d31c1e2d.png

4)根据使用的核心板型号选择对应的配置文件

scp 核心板输入命令:cp config_for_android_scp .config

pop 核心板输入命令:cp config_for_android_pop .config

(笔者使用的 scp 的核心板),如下图:

811b1771a9901e418c4834b168fa933f.png

5)然后输入命令 make,编译内核,如下图:

bc67c8598cce7541458cd56b335f9596.png

6.编译完生成 zImage 镜像,如下图:

4d632fa0694ff6749949470e462dfa38.png

4 下载和编译 Android5.1

在网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板搭建编译环境

所需要的工具包以及补丁包\08-Android5.1 开发工具包\03-repo 和补丁包”目录下有

“iTOP-4412-Android5.1-repo 文件.zip”和“itop4412_5.1_path_20180315.tar”两个压

缩包。

1)首先在 ubuntu 系统目录下建立文件夹“android-5.1.1_r9”,如下图:

9296d473d66425b6ff2f5b051493080e.png

2)然后进入到“android-5.1.1_r9”文件夹,如下图:

a07a7af76d10e59389948c2ffdf04bbb.png

3)解压网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板搭建编译

环境所需要的工具包以及补丁包\08-Android5.1 开发工具包\03-repo 和补丁包”目录下的

“iTOP-4412-Android5.1-repo 文件.zip”压缩包,得到 repo 文件。

拷贝文件“repo”到 ubuntu 的 android-5.1.1_r9 文件夹下面,如下图:

b24e1e8a5a1516919b50a2eda487e1fc.png

4)使用 chmod 命令修改 repo 文件的权限:chmod 777 repo,如下图:

e401c91311757f8762b9d77006f2b061.png

5)然后在当前目录下输入“./repo init -u

git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-5.1.1_r9”,初始化

android 5.1 的代码,如下图:

e8e2143875fe25772c2226d080d4a28a.png

6)然后输入命令“./repo sync -j4”(注意:-j4 表示系统是 4 核,如果是 8 核则可以

使用命令-j8,加快速度),开始同步下载 android 5.1 源码(确保 ubuntu 系统有足够的空

间,整个下载过程跟网速有关系,网速慢很可能超过 1 天),如下图:

0521a9843e3842d96ccbedd31a2e1562.png

7)下载完 android 5.1 的源码,然后网盘“iTOP4412 开发板资料汇总(不含光盘内

容)\iTOP-4412 开发板搭建编译环境所需要的工具包以及补丁包\08-Android5.1 开发工具

包\03-repo 和补丁包”文件夹里面的“itop4412_5.1_path_2018xxxx.tar.gz”压缩文件到

ubuntu 上的 android-5.1.1_r9 文件夹下面,如下图:

73f1f424dc29bb004b0160036cb914a1.png

8)然后输入解压命令“tar -xvf itop4412_5.1_path_20180313.tar.gz”,如下图:

7bd48b3845074e5f42f470ddd1099e8b.png

9)解压完成后,android 5.1 的源码就支持 itop-4412 平台了,然后输入编译命令

“./create.sh”,如下图:

c305952394e9ac55e8d136029c8cbabd.png

10)编译完成,会在“out/target/product/itop4412”目录下生成 android 镜像

ramdisk-uboot.img,system.img,如下图:

4865d2c1cbe809538acd2365c76cb063.png

11)如下图所示,作者编译过两次,给虚拟机 Ubuntu 提供了 8G 内存,第一次中间打

断,第二次编译耗费时间为 57 分 10 秒。

19e8a5e3c26d96c52cc8a9af3aa2acb0.png

12)另外,如下图所示,如果用户空间不够,会报以下错误(作者的用 100G 测试报如

下错误)。

d96d23388f43c680cb9d2f9644ea9333.png

5 烧写测试

烧写可以参考用户手册第三章,uboot 使用 Android4.0 的就成。

itop4412开发板:

2ba408c085ea314f1b00db078151d7a4.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐