iTOP-4412开发板android4.4代码下载和编译
基于迅为iTOP4412开发板
Android 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版本。
GitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中。
6.3.2.1 repo 下载
android 代码管理不同于 uboot,kernel,由于 Android 代码比较庞大,我们把 Android
项目按照文件夹进行项目拆分,android 源码目录下面的每个子目录都会划分为一个仓库或者
多个仓库进行版本管理,Android 的代码下载需要使用 repo 工具,repo 工具为 Git 的封
装,底层是使用 Git 命令进行下载的。
假设 repo 工具存放于 /media/data/gitHub 目录:
cd /media/data/GitHub/
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
git-repo 仓库下载完成后会看到该文件夹内有 repo 脚本文件:
6.3.2.2 Android4.4 代码下载
假设我们的 Android4.4 代码存放在 /media/data/GitHub/iTop4412_KK4.4_git 目
录:
# cd /media/data/GitHub/iTop4412_KK4.4_git
#../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b
exynos4412_android4.4.4_master
上一条命令字符“-b”后有空格
注: repo init 命令中–u 参数指定 android 仓库下载地址,-b 参数指定仓库中的下载
分支.
这里我下载的是 exynos4412_android4.4.4_master 分支,该命令执行过程中需要输入
相关的信息,如下图所示:
Your Name 输入 root
Your Email: 直接回车即可,然后在输入 y, 回车继续:
#../git-repo/repo sync
注: repo sync 开始下载 Android 代码,下载过程与网络环境有一定的关系,如果下
载过程中长时间没有进度显示,可以 ctrl+c 终止下载,然后执行 repo sync 命令重新开始,
下图为源码下载过程中的进度显示:
代码下载完成后会在 /media/data/GitHub/ iTop4412_KK4.4_git 目录下面显示
Android 系统源码目录。Android4.4 的源码大概 20G,第一次下载过程比较漫长,请耐心等
待。代码下载完成后,再次使用 repo sync 命令时,只更新升级代码,速度就比较快了。
每个文件夹目录下面都会有一个或者多个 Git 仓库,默认这些仓库是没有分支的,我们需
要使用 repo start 命令创建分支,这里我们创建 master 分支,您也可以使用别的名字来定义
分支名称,repo branch 命令可以查看创建的分支:
#../git-repo/repo start master --all
#../git-repo/repo branch
6.3.2.3 Android4.4 源码编译
Android 代码下载完成后就可以进行编译了,Android 源码需要 kernel 头文件支持,
所以我们需要把 Android 代码与 kernel 代码放到同一级目录下面:
上图中 kernel 为 Android4.4 的内核代码, 与 Android4.4 源码目录
iTOP4412_KK4.4_git 在同一级。
kernel 目录为我们下载的 Android4.4 的内核代码:
执行 Android4.4 的编译命令:
#cd iTop4412_KK4.4_git
# ./build_android.sh
注意: Android 代码下载,编译完成后,可以定期使用 repo sync 命令同步我们的 Git
仓库到本地,这样您的本地代码就跟我们的仓库保持同步更新了,编译后就会形成最新的系统
镜像。另外 Android4.4 代码目前不分区精英底板与全能底板,代码编译形成的镜像既可以在
精英版运行也可以在全能版运行,与 Android4.0 有所不同。
6.3.3 Linux Qt 文件系统下载及制作
Git 命令下载:
# git clone https://github.com/TOPEET-Develop/linux_rootfs.git -b
rootfs_qt_master
上一条命令字符“-b”后有空格
下载完成后可以看到如下的目录结构:
root: Linux 的根文件系统;
test: Linux 的测试程序;
tools: 用于制作文件系统的工具及 ramdisk.img 二进制文件,该文件专用于 Linux 系统.
Tools 目录下面的 mkfs 脚本用于制作文件系统镜像,把该脚本拷贝到 Linux_rootfs 目录
下面,命令行执行即可生成 system.img.
注:可以使用 git clone 命令下载 uboot, kernel,Linux 文件系统,也可以通过网页下载
源码压缩包。进入到 GitHub 主页,选择要下载的仓库:
单价左上角红框部分,选择好该仓库的分支,然后单击页面右下角的 “Download
ZIP” 即可通过浏览器下载压缩包。
6.3.4 Ubuntu 文件系统
Ubuntu 文件系统分为:
LCD 显示版本:iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz
HDMI 显示版本:iTOP4412_ubuntu_12.04_for_HDMI_20141230.tar.gz
这两个版本未放到 GitHub 平台,目前通过光盘和网盘发布使用。
更多内容关注:迅为电子