|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于迅为iTOP4412开发板0 m( p$ F8 Y P& l
Android 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版本。
! d( {9 o* J& j, F! P7 nGitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中。1 G/ |$ T1 B/ `1 E: q( Q
6.3.2.1 repo 下载
5 }' _- v* i) C- @4 \& C" ~android 代码管理不同于 uboot,kernel,由于 Android 代码比较庞大,我们把 Android
( |+ n8 D0 Y$ ]" L, A项目按照文件夹进行项目拆分,android 源码目录下面的每个子目录都会划分为一个仓库或者
7 |& @# ~% y- a8 p+ s多个仓库进行版本管理,Android 的代码下载需要使用 repo 工具,repo 工具为 Git 的封
; \* l' p. J) W' ~; c5 A% o装,底层是使用 Git 命令进行下载的。
7 L3 [8 b# e$ M# K. P假设 repo 工具存放于 /media/data/gitHub 目录:, @" s" A/ p0 {8 e% m% i6 F5 \) t% ~+ ?
cd /media/data/GitHub/. ^+ G9 |* Q3 ^9 }& {8 _) v9 L
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/: l: X" i* X/ R3 m+ `
git-repo 仓库下载完成后会看到该文件夹内有 repo 脚本文件:
$ {5 c" I. P/ C% D
$ A; i0 K* U: l& e# h6.3.2.2 Android4.4 代码下载
4 _3 h. H& r+ K2 _假设我们的 Android4.4 代码存放在 /media/data/GitHub/iTop4412_KK4.4_git 目) H6 F" f4 a+ s k; M& e0 w) J K
录:
\8 x% E$ b# _# cd /media/data/GitHub/iTop4412_KK4.4_git! G- j4 J3 o7 i
#../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b( [" ?* m! e7 m; Y" K) s
exynos4412_android4.4.4_master
: M2 e% G2 A8 e上一条命令字符“-b”后有空格$ K: X' Q3 a4 W) k) t
# u; G- q+ r' K0 a( y, M) l注: repo init 命令中–u 参数指定 android 仓库下载地址,-b 参数指定仓库中的下载1 u, C3 H3 r4 l3 b) f
分支.2 k" [1 X+ i% V
这里我下载的是 exynos4412_android4.4.4_master 分支,该命令执行过程中需要输入
2 h- ? P) T. e0 J5 h相关的信息,如下图所示:- t' R5 W1 E* k6 Q5 w, j0 u. [; J4 T5 @
4 F" h) f5 M6 T$ `Your Name 输入 root
6 S0 r4 X6 |3 k; x4 wYour Email: 直接回车即可,然后在输入 y, 回车继续: X) ]% d) h1 {4 ~0 j* c5 w8 V7 `- E+ h
& _; C: a) n9 B' j. r4 }6 e' W- C
#../git-repo/repo sync
0 z$ ^' k5 j, J1 \注: repo sync 开始下载 Android 代码,下载过程与网络环境有一定的关系,如果下5 v& S' _5 K# _5 {2 ^, Y7 J/ X& O
载过程中长时间没有进度显示,可以 ctrl+c 终止下载,然后执行 repo sync 命令重新开始,1 t/ K5 }9 O1 a9 Z, e( p
下图为源码下载过程中的进度显示:, Y. F" _7 D9 K- g
4 ^- x1 L; M* W
代码下载完成后会在 /media/data/GitHub/ iTop4412_KK4.4_git 目录下面显示' s) m8 ]& V+ ~; m, m% d
Android 系统源码目录。Android4.4 的源码大概 20G,第一次下载过程比较漫长,请耐心等
8 e/ C: X+ j; ], O9 S待。代码下载完成后,再次使用 repo sync 命令时,只更新升级代码,速度就比较快了。
5 Y* P# a: P2 T: P7 i
( u8 r6 J @6 D, m& p% r
每个文件夹目录下面都会有一个或者多个 Git 仓库,默认这些仓库是没有分支的,我们需' E" ]" y& n% w' x; G
要使用 repo start 命令创建分支,这里我们创建 master 分支,您也可以使用别的名字来定义" F: n) I" V+ q$ \6 _( q7 e- i; y
分支名称,repo branch 命令可以查看创建的分支:
! m# D% n( A. B; t a#../git-repo/repo start master --all6 U$ E2 d7 Z0 j @' ~
#../git-repo/repo branch
3 g) x- x' f) c1 M/ N" A3 d6 [6.3.2.3 Android4.4 源码编译, Y0 K) @$ }" G2 H% R- \6 B4 g; S
Android 代码下载完成后就可以进行编译了,Android 源码需要 kernel 头文件支持,
3 J2 D e5 u- r; I% G( v所以我们需要把 Android 代码与 kernel 代码放到同一级目录下面:
% A1 z1 t0 d% d) H4 q
0 W% J& s: j0 P& \" A" O6 t上图中 kernel 为 Android4.4 的内核代码, 与 Android4.4 源码目录
q& e- w4 }+ Q# FiTOP4412_KK4.4_git 在同一级。
1 U) `0 ?% \) x0 F; `$ xkernel 目录为我们下载的 Android4.4 的内核代码:
- p% }! e" a/ x% J# k' f9 R
* X* Q) t" j" U, }
执行 Android4.4 的编译命令:
- {3 ~- m, h Z! z5 u6 e* M, I8 I#cd iTop4412_KK4.4_git* l# Y. ?2 l# s+ V' w3 J& M
# ./build_android.sh
j k/ o! F% m3 t' j2 ^2 K3 A/ O注意: Android 代码下载,编译完成后,可以定期使用 repo sync 命令同步我们的 Git
3 i" k @3 P4 t1 m. E2 g: `, O仓库到本地,这样您的本地代码就跟我们的仓库保持同步更新了,编译后就会形成最新的系统, _: L6 |. H) w, y+ Y/ t5 A
镜像。另外 Android4.4 代码目前不分区精英底板与全能底板,代码编译形成的镜像既可以在# e: F& y: F& ~5 h
精英版运行也可以在全能版运行,与 Android4.0 有所不同。
+ i7 R5 ?9 `8 t- E/ M) x: [1 C& ]6.3.3 Linux Qt 文件系统下载及制作
/ ^7 r0 C6 S0 `4 uGit 命令下载:
5 s+ r# t' \8 j/ a8 ]# git clone https://github.com/TOPEET-Develop/linux_rootfs.git -b9 {7 O; B( w! R
rootfs_qt_master" U( z, T/ p' E
上一条命令字符“-b”后有空格
) u; a6 Z+ m5 K下载完成后可以看到如下的目录结构:7 K% s* A$ S% L( v) N
$ M- H5 s0 M" W8 _: W: L0 ? g* E" [root: Linux 的根文件系统;
* \3 L- H. I7 itest: Linux 的测试程序;5 }. y6 v! x0 [ o/ ]9 U) y+ @
tools: 用于制作文件系统的工具及 ramdisk.img 二进制文件,该文件专用于 Linux 系统.. d ]5 W; M5 G/ S( ~1 I
Tools 目录下面的 mkfs 脚本用于制作文件系统镜像,把该脚本拷贝到 Linux_rootfs 目录6 G9 C ~: O3 o. g$ R2 F/ y
下面,命令行执行即可生成 system.img.& j6 n/ a }& B# x; e4 C3 ^
注:可以使用 git clone 命令下载 uboot, kernel,Linux 文件系统,也可以通过网页下载6 Y7 K; T$ g3 y4 V: z5 D
源码压缩包。进入到 GitHub 主页,选择要下载的仓库:2 |$ H H& d8 P v) u
/ q. c( `, ?. H+ j# }
单价左上角红框部分,选择好该仓库的分支,然后单击页面右下角的 “Download
+ Q0 D0 t M/ i( I- vZIP” 即可通过浏览器下载压缩包。$ j3 f+ B3 c# p( ?- T' _
6.3.4 Ubuntu 文件系统
- c/ {/ {$ h/ m2 FUbuntu 文件系统分为:6 W# o% C6 f" d/ ]
LCD 显示版本:iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz
; V% M6 S; Y- x" vHDMI 显示版本:iTOP4412_ubuntu_12.04_for_HDMI_20141230.tar.gz" V9 d2 W' p- A3 y9 f! s! B
这两个版本未放到 GitHub 平台,目前通过光盘和网盘发布使用。
& p1 \. e" T! _& }2 U+ [更多内容关注:迅为电子4 j% H& z, d; H+ D: [& O! g Y
|
|