|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于迅为iTOP4412开发板- l" C3 M; A* \
Android 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版本。
, I+ l, K" C& l0 K! h! DGitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中。
2 @8 F/ _: e( e! z Y) }6.3.2.1 repo 下载) N/ c W+ ?+ e' ~/ @9 I
android 代码管理不同于 uboot,kernel,由于 Android 代码比较庞大,我们把 Android
+ H# D4 T, B, E5 j7 S. Y. J项目按照文件夹进行项目拆分,android 源码目录下面的每个子目录都会划分为一个仓库或者% ^4 n% a- K3 `( Q4 |! R1 D2 l
多个仓库进行版本管理,Android 的代码下载需要使用 repo 工具,repo 工具为 Git 的封" ?9 E; C* W: G! Q" O. }
装,底层是使用 Git 命令进行下载的。* \0 j, j$ I5 j+ Q
假设 repo 工具存放于 /media/data/gitHub 目录:5 s+ t0 p% c' H! K$ |9 b, q
cd /media/data/GitHub/9 w, D& W! I' _; B
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
' t: B* q; F" H7 |; R/ kgit-repo 仓库下载完成后会看到该文件夹内有 repo 脚本文件:
/ j, E! [! o! r2 y6 g- e5 ]; v
4 \/ ]5 |" Z% g( A- W, V6.3.2.2 Android4.4 代码下载
: R3 J* Y7 \/ W* v: P假设我们的 Android4.4 代码存放在 /media/data/GitHub/iTop4412_KK4.4_git 目, U5 r7 R' a; S
录:
+ f9 B$ r: R* X7 d, Y! e- B# }% M; ^# cd /media/data/GitHub/iTop4412_KK4.4_git
7 l( g+ [" U4 p5 I7 _" h# C9 v#../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b
% T4 T) U# l* j7 u9 |$ R1 wexynos4412_android4.4.4_master% Y/ s5 V @4 x# ? Q/ }
上一条命令字符“-b”后有空格
2 R! N, [4 G Y0 g, H# p- m
2 o) z0 J# N; Z4 @# B注: repo init 命令中–u 参数指定 android 仓库下载地址,-b 参数指定仓库中的下载
" e1 ~! K1 ~7 i& ^* Y l5 O3 o分支.0 e4 {% ^" v" G5 N. E
这里我下载的是 exynos4412_android4.4.4_master 分支,该命令执行过程中需要输入1 f( Y8 m8 y" d2 }$ _; i; h% F
相关的信息,如下图所示:1 q/ Y, H6 J8 A: x
2 J: a1 e2 o ~
Your Name 输入 root
I0 \& w+ T' a mYour Email: 直接回车即可,然后在输入 y, 回车继续:! K& N* H% h( ?% x
* F! e; q* _) {" t% `8 x#../git-repo/repo sync; r" V6 L! e1 Y; N4 C
注: repo sync 开始下载 Android 代码,下载过程与网络环境有一定的关系,如果下
1 ]; Z1 \" ? h# v$ s/ ^3 Y载过程中长时间没有进度显示,可以 ctrl+c 终止下载,然后执行 repo sync 命令重新开始,- D+ x7 w# q! V- r5 n
下图为源码下载过程中的进度显示:
/ P. A0 Z) D3 }0 E& _% n) G: U, Y
, A6 J' m8 Q: D, V代码下载完成后会在 /media/data/GitHub/ iTop4412_KK4.4_git 目录下面显示
* [- d6 \; g! m$ E1 C% mAndroid 系统源码目录。Android4.4 的源码大概 20G,第一次下载过程比较漫长,请耐心等9 Q7 ~8 B- S8 R) e9 X) m* @
待。代码下载完成后,再次使用 repo sync 命令时,只更新升级代码,速度就比较快了。
6 X5 T& w: @8 K/ e1 X( i
1 h. O: a- U; E8 p" q: a每个文件夹目录下面都会有一个或者多个 Git 仓库,默认这些仓库是没有分支的,我们需& ^! z- B9 w6 P! N1 |
要使用 repo start 命令创建分支,这里我们创建 master 分支,您也可以使用别的名字来定义) [& g- i+ g8 U6 ^- n8 P7 A) k* R
分支名称,repo branch 命令可以查看创建的分支:1 T5 P; w# X& c% i% \, K4 k @; r
#../git-repo/repo start master --all5 Z, L7 n; |; r0 J% }
#../git-repo/repo branch
* U1 L( u8 u, {. i9 g6.3.2.3 Android4.4 源码编译8 k- i5 A3 w( q) ^# ^$ I0 D6 P: n
Android 代码下载完成后就可以进行编译了,Android 源码需要 kernel 头文件支持,7 Y+ [9 n1 g- [
所以我们需要把 Android 代码与 kernel 代码放到同一级目录下面:
% Z( G. N' M0 O% g, C
& R0 o$ a3 U- `; c m, s2 L
上图中 kernel 为 Android4.4 的内核代码, 与 Android4.4 源码目录& u0 a' e2 R" i8 g5 p
iTOP4412_KK4.4_git 在同一级。* C: u t- |" L1 y
kernel 目录为我们下载的 Android4.4 的内核代码:
+ Z, u) V- S0 l, P
5 q# t L/ e1 c( ]
执行 Android4.4 的编译命令:; n4 Q D1 b. n/ A$ C6 _
#cd iTop4412_KK4.4_git( a9 Z9 w* A$ s& b/ ?
# ./build_android.sh
4 p5 h8 T, ^# Q: S9 ~2 i* B6 r注意: Android 代码下载,编译完成后,可以定期使用 repo sync 命令同步我们的 Git7 ] F4 ^! o$ h, {2 V" H1 Q7 s- R( q* L
仓库到本地,这样您的本地代码就跟我们的仓库保持同步更新了,编译后就会形成最新的系统
8 {" Y$ o5 \$ \, B E镜像。另外 Android4.4 代码目前不分区精英底板与全能底板,代码编译形成的镜像既可以在6 M+ j9 G( }& B7 ~) s/ Z- C' }
精英版运行也可以在全能版运行,与 Android4.0 有所不同。. u' }/ b$ O7 E6 P
6.3.3 Linux Qt 文件系统下载及制作% a ~" i7 r" Q1 R6 u$ N
Git 命令下载:- n: r/ H6 A6 D1 d
# git clone https://github.com/TOPEET-Develop/linux_rootfs.git -b
: Q) V" @% h) ^rootfs_qt_master
, ~/ m% m! \% {. u7 R上一条命令字符“-b”后有空格
* p. m* t: u1 D( Y下载完成后可以看到如下的目录结构:7 x% i d4 F5 o9 B1 {: e
7 d9 Z& ^ l" a! }root: Linux 的根文件系统;( o) M! q0 H& I- A: A
test: Linux 的测试程序;
4 l( x2 _. u4 ^$ Ytools: 用于制作文件系统的工具及 ramdisk.img 二进制文件,该文件专用于 Linux 系统.9 [1 F( d& _5 M7 v! k0 Q0 f' \% W
Tools 目录下面的 mkfs 脚本用于制作文件系统镜像,把该脚本拷贝到 Linux_rootfs 目录" K/ N2 h' [& G6 p' R" Y: t3 W' u$ z, y
下面,命令行执行即可生成 system.img.
+ v$ {" n8 @3 L5 S& O注:可以使用 git clone 命令下载 uboot, kernel,Linux 文件系统,也可以通过网页下载
! R8 X& e }4 T3 L `源码压缩包。进入到 GitHub 主页,选择要下载的仓库:
8 A6 B7 @' k7 O% E+ P$ L7 X! p
2 K5 ^, R c" s2 y& }单价左上角红框部分,选择好该仓库的分支,然后单击页面右下角的 “Download
5 z; C8 H* j8 _4 t$ R( XZIP” 即可通过浏览器下载压缩包。
+ O. L! k0 u% V4 j3 i' A/ {; T) L$ E6.3.4 Ubuntu 文件系统+ h* F% e9 K/ D, a
Ubuntu 文件系统分为:
D3 |. v$ U1 b VLCD 显示版本:iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz: N% k; c, n1 W6 x0 S) i$ Z$ t
HDMI 显示版本:iTOP4412_ubuntu_12.04_for_HDMI_20141230.tar.gz5 \ I# M3 x0 x. }) ~( t
这两个版本未放到 GitHub 平台,目前通过光盘和网盘发布使用。. Z# {2 R- Y# x4 l( U7 B
更多内容关注:迅为电子
) E8 A7 F; [2 ] d5 b! L |
|