|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于迅为iTOP4412开发板 Y+ `5 \9 [* {" r: I R1 c
Android 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版本。6 v( | w$ i5 M z
GitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中。* v5 e3 d; F) w t) E
6.3.2.1 repo 下载 u! A" N! y# K+ u! k* m: `8 h
android 代码管理不同于 uboot,kernel,由于 Android 代码比较庞大,我们把 Android9 ?2 `" S( n, p; a' z
项目按照文件夹进行项目拆分,android 源码目录下面的每个子目录都会划分为一个仓库或者
# v; H; j7 O( P! ?3 N1 [- c) N多个仓库进行版本管理,Android 的代码下载需要使用 repo 工具,repo 工具为 Git 的封4 Q8 a7 J1 D4 V; ~8 X
装,底层是使用 Git 命令进行下载的。9 S! Y3 M0 l9 x, s
假设 repo 工具存放于 /media/data/gitHub 目录:
* J e" p* @, i* vcd /media/data/GitHub/
* k, Z7 L7 s& N% d2 f6 I& B' M2 pgit clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/2 x1 A# ]# a$ e7 S" f+ _' j
git-repo 仓库下载完成后会看到该文件夹内有 repo 脚本文件:
k t6 w& [. a* z
& F0 w2 b' I$ C7 G( c! r& _& T" M6.3.2.2 Android4.4 代码下载
: [# h' c6 Q) B8 C7 N! y% @2 C假设我们的 Android4.4 代码存放在 /media/data/GitHub/iTop4412_KK4.4_git 目$ `/ G, d1 {" k* @
录:7 I( e5 [0 R( G# |# z
# cd /media/data/GitHub/iTop4412_KK4.4_git
- Q& i% @2 E* c! c$ `4 X+ c8 G% u7 ]#../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b
2 H+ ? Y, G3 q* Aexynos4412_android4.4.4_master1 O5 E4 r% K) t- |/ A
上一条命令字符“-b”后有空格
; V+ y" X0 J2 p7 D
7 A* o" E7 M$ W0 d- @" p注: repo init 命令中–u 参数指定 android 仓库下载地址,-b 参数指定仓库中的下载
" j: j1 C+ C4 r( k& c分支.
7 D7 e6 H2 Y* f这里我下载的是 exynos4412_android4.4.4_master 分支,该命令执行过程中需要输入+ r+ l/ [/ K$ s" q* s; F# J2 I( f
相关的信息,如下图所示:
/ z, a; b' x& I, v7 T1 q
* u4 X% J/ @ M- U1 k AYour Name 输入 root n$ W4 n0 V, r3 e# j
Your Email: 直接回车即可,然后在输入 y, 回车继续:* N- C$ O" J5 Q5 Z
' R: O$ h/ @8 Q9 I9 r( N6 {#../git-repo/repo sync$ H4 c! m2 [: O4 z* S# F( [5 V' W
注: repo sync 开始下载 Android 代码,下载过程与网络环境有一定的关系,如果下
' _/ W% _" Q2 @( y* M* {2 S载过程中长时间没有进度显示,可以 ctrl+c 终止下载,然后执行 repo sync 命令重新开始,2 I& U3 R0 }2 a1 b+ C2 I+ Q
下图为源码下载过程中的进度显示:* F- N) \$ M4 R- i
' U" |* a: G7 h代码下载完成后会在 /media/data/GitHub/ iTop4412_KK4.4_git 目录下面显示
# v9 q$ @* S/ u; Y: W. wAndroid 系统源码目录。Android4.4 的源码大概 20G,第一次下载过程比较漫长,请耐心等+ Z" j0 S* N- k+ S3 Z; ~5 d, C F k
待。代码下载完成后,再次使用 repo sync 命令时,只更新升级代码,速度就比较快了。3 u4 z0 H! @3 K7 x" K7 B' s
; O; E2 Q: A& b4 D$ Z每个文件夹目录下面都会有一个或者多个 Git 仓库,默认这些仓库是没有分支的,我们需' w2 F. O# c5 I# ^# O
要使用 repo start 命令创建分支,这里我们创建 master 分支,您也可以使用别的名字来定义6 o! V$ J8 V( O/ ?
分支名称,repo branch 命令可以查看创建的分支:
( v) N2 }, ^ p) S+ L0 T#../git-repo/repo start master --all
! |9 Z9 q4 V S* g#../git-repo/repo branch5 ~# }8 H, j ~' C3 x
6.3.2.3 Android4.4 源码编译 V6 K: p9 K# _4 O' b
Android 代码下载完成后就可以进行编译了,Android 源码需要 kernel 头文件支持,. E" Y" W2 L5 W
所以我们需要把 Android 代码与 kernel 代码放到同一级目录下面:
. \0 C7 `, o. F z/ M8 `5 f; H0 p
& {0 z) d/ Q) |6 p2 U
上图中 kernel 为 Android4.4 的内核代码, 与 Android4.4 源码目录. R) H' ]. A1 v3 {& g! x3 e6 i
iTOP4412_KK4.4_git 在同一级。
- S0 G7 q, t! n# z ~kernel 目录为我们下载的 Android4.4 的内核代码:" o9 O( f7 e6 a
" P) {( _0 m8 A0 I# Z3 _执行 Android4.4 的编译命令:
/ N2 G# Z9 b* P, [; h#cd iTop4412_KK4.4_git
! F) L$ n% {0 y# i# ./build_android.sh
) X( H& x2 x& h3 P, K注意: Android 代码下载,编译完成后,可以定期使用 repo sync 命令同步我们的 Git) ^* X% W" s) t0 _
仓库到本地,这样您的本地代码就跟我们的仓库保持同步更新了,编译后就会形成最新的系统
# J, v$ d+ @) p8 x1 Y( I# V) [/ @1 q镜像。另外 Android4.4 代码目前不分区精英底板与全能底板,代码编译形成的镜像既可以在
6 f N/ g7 T0 t) L; w' V精英版运行也可以在全能版运行,与 Android4.0 有所不同。' D, P3 J) _9 I5 M, g
6.3.3 Linux Qt 文件系统下载及制作
0 B) f0 ]7 G; k W2 ~5 Y/ yGit 命令下载:9 T5 T+ X5 K1 F5 V; ?2 I
# git clone https://github.com/TOPEET-Develop/linux_rootfs.git -b
1 h# ~- @4 u4 Erootfs_qt_master
# J6 ^1 E" S& z9 z4 ?0 k上一条命令字符“-b”后有空格, X( R/ v8 d7 x o- k, }
下载完成后可以看到如下的目录结构:* \' r: g3 a& _+ \2 k! H
- e: z3 M0 E5 y T' aroot: Linux 的根文件系统;
% v& A; I1 M: _. w* c* e% Itest: Linux 的测试程序;
/ k& u% [0 H" ?* Qtools: 用于制作文件系统的工具及 ramdisk.img 二进制文件,该文件专用于 Linux 系统. J5 E- T1 x. @) U8 M% z
Tools 目录下面的 mkfs 脚本用于制作文件系统镜像,把该脚本拷贝到 Linux_rootfs 目录
s: a/ M5 \; h/ q1 ^# R5 _& v下面,命令行执行即可生成 system.img.8 a9 h- G/ i3 _, j9 m6 i
注:可以使用 git clone 命令下载 uboot, kernel,Linux 文件系统,也可以通过网页下载
5 @+ a. m5 }$ U3 t* K+ ]7 B源码压缩包。进入到 GitHub 主页,选择要下载的仓库:( R/ ^8 L1 ~" w5 ~8 n( K
' D5 f& X; o8 r4 q! T
单价左上角红框部分,选择好该仓库的分支,然后单击页面右下角的 “Download' ]4 r7 A9 ]1 s @7 ?5 z
ZIP” 即可通过浏览器下载压缩包。* z' r9 v* D3 B/ u
6.3.4 Ubuntu 文件系统
; F3 B8 v# T/ kUbuntu 文件系统分为:
* G/ v0 v8 } LLCD 显示版本:iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz
& c+ D, e/ ~5 a {6 j! [HDMI 显示版本:iTOP4412_ubuntu_12.04_for_HDMI_20141230.tar.gz
0 d% a: Z6 ^/ s. ?; k# c这两个版本未放到 GitHub 平台,目前通过光盘和网盘发布使用。
) q- \/ w( J# Y1 i更多内容关注:迅为电子
' w7 A8 Y. \) d* x) u& i( N |
|