EDA365电子论坛网

标题: iTOP-4412开发板android4.4代码下载和编译 [打印本页]

作者: 孤久厌闹    时间: 2020-4-21 10:25
标题: iTOP-4412开发板android4.4代码下载和编译
基于迅为iTOP4412开发板
5 [, Y. h  i' FAndroid 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版本。. e+ ~8 w# S, x6 w
GitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中。
' p- |4 |/ g, R2 n6.3.2.1 repo 下载+ n$ q! U1 t& V4 L& N7 Z* o" Q0 X3 Z
android 代码管理不同于 uboot,kernel,由于 Android 代码比较庞大,我们把 Android
/ L/ f  L, y7 A. J项目按照文件夹进行项目拆分,android 源码目录下面的每个子目录都会划分为一个仓库或者; N) }" ^: g/ x
多个仓库进行版本管理,Android 的代码下载需要使用 repo 工具,repo 工具为 Git 的封
# ~. e; A$ E0 L+ i; E% y$ l  D装,底层是使用 Git 命令进行下载的。) K  e2 f) R5 C7 t0 }1 W4 z1 }
假设 repo 工具存放于 /media/data/gitHub 目录:5 v3 X8 b7 y; V4 Y
cd /media/data/GitHub/2 w# Q- T; V# o5 b5 p( d
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/4 N3 Y6 n- {9 F$ s& H
git-repo 仓库下载完成后会看到该文件夹内有 repo 脚本文件:/ E! f) l# N0 n
- q! `3 J0 H, {
6.3.2.2 Android4.4 代码下载
+ ?. Y( M+ \: R6 M5 @假设我们的 Android4.4 代码存放在 /media/data/GitHub/iTop4412_KK4.4_git 目7 g9 `" @) `# i1 l8 y: q
录:( S1 R4 u, S  `6 _2 c, a2 u0 F2 s
# cd /media/data/GitHub/iTop4412_KK4.4_git2 p% K8 H& t! U9 q# k( U9 e) T8 ^
#../git-repo/repo init –u https://github.com/TOPEET-Develop/android.git -b
- |4 d* s, d: D6 C5 g5 t5 hexynos4412_android4.4.4_master
6 c. ~: U0 f. ~上一条命令字符“-b”后有空格' Q4 O- [: @4 z+ P! {' `
" Y( Q3 Z$ ^# H' t" F# a
注: repo init 命令中–u 参数指定 android 仓库下载地址,-b 参数指定仓库中的下载) o/ V- e- r: |* \5 U- M/ j5 m
分支.
3 F1 e1 ]3 v/ m6 p这里我下载的是 exynos4412_android4.4.4_master 分支,该命令执行过程中需要输入
( e+ d7 ^$ m, c+ G7 P相关的信息,如下图所示:
, G) q8 p# m+ _! K* ~
& M! W1 f* Y' h/ P" c9 {Your Name 输入 root
7 }( X4 a" t. h1 Z4 i- T' ~) zYour Email: 直接回车即可,然后在输入 y, 回车继续:/ V" {5 w6 V" `8 C
# n- g3 W% X1 m
#../git-repo/repo sync1 r. K( U% V6 k  P* V! T' Y1 I
注: repo sync 开始下载 Android 代码,下载过程与网络环境有一定的关系,如果下
* m3 x: a' s' @8 ?载过程中长时间没有进度显示,可以 ctrl+c 终止下载,然后执行 repo sync 命令重新开始,
6 a/ ^7 D1 p- u8 }" @# t1 q下图为源码下载过程中的进度显示:
4 P+ y: E6 P' D+ L% |7 b
2 D8 R) Q/ x( v5 U1 X6 O! b代码下载完成后会在 /media/data/GitHub/ iTop4412_KK4.4_git 目录下面显示: _+ U3 H: y0 e) I
Android 系统源码目录。Android4.4 的源码大概 20G,第一次下载过程比较漫长,请耐心等
) z6 h9 |; x3 V! R% }待。代码下载完成后,再次使用 repo sync 命令时,只更新升级代码,速度就比较快了。
. Q9 b8 \) N! q9 _9 q, v; P 1 Q) _, {# v# y6 p8 W
每个文件夹目录下面都会有一个或者多个 Git 仓库,默认这些仓库是没有分支的,我们需
$ i1 I3 E. l$ ^: ~" v" k3 W要使用 repo start 命令创建分支,这里我们创建 master 分支,您也可以使用别的名字来定义
7 O5 F/ L+ O( K0 w) K& o8 q' O分支名称,repo branch 命令可以查看创建的分支:# G' z, w+ I0 e7 }
#../git-repo/repo start master --all
* z* N4 m; c$ p: f1 ]; ?) x& h2 A! }#../git-repo/repo branch
6 |3 d/ k5 d& [  f; q: w6.3.2.3 Android4.4 源码编译
% H. @5 k8 ]( P& i- FAndroid 代码下载完成后就可以进行编译了,Android 源码需要 kernel 头文件支持,
( V# T' J1 _* @+ p  E) R/ F; _所以我们需要把 Android 代码与 kernel 代码放到同一级目录下面:5 m& r( G3 s' T; ^% f( ]- G* @

+ j* _! T3 A$ U上图中 kernel 为 Android4.4 的内核代码, 与 Android4.4 源码目录
0 ~5 O1 Y8 d4 p7 ^1 ~0 a* UiTOP4412_KK4.4_git 在同一级。% V# L5 v) p( S6 Z
kernel 目录为我们下载的 Android4.4 的内核代码:4 q' H  F& |( y
& v9 Z% X/ q( C7 ~  ]6 D" z& U. U
执行 Android4.4 的编译命令:- X+ n7 g4 K# r) ^
#cd iTop4412_KK4.4_git7 ]& k% m  g$ K) K+ s6 Y- Y+ q* i
# ./build_android.sh
7 S/ r& P/ |) F& R" w) F2 U. [注意: Android 代码下载,编译完成后,可以定期使用 repo sync 命令同步我们的 Git
* K' }9 M2 V1 X! y/ n' n仓库到本地,这样您的本地代码就跟我们的仓库保持同步更新了,编译后就会形成最新的系统/ j* d& d5 P& Y( G6 L
镜像。另外 Android4.4 代码目前不分区精英底板与全能底板,代码编译形成的镜像既可以在
7 a5 x; |0 S8 T9 H& [% g1 L( R7 t精英版运行也可以在全能版运行,与 Android4.0 有所不同。7 X/ J# H" x! N( u: J. f, z) @
6.3.3 Linux Qt 文件系统下载及制作3 T2 |. P( M  s  o
Git 命令下载:: q- i* t4 @  c  J) O' u0 s4 t" A$ G
# git clone https://github.com/TOPEET-Develop/linux_rootfs.git -b
/ i1 u! @' [* B! h( Nrootfs_qt_master
5 W' Q( I. Q" W8 {# G0 z1 ?) t上一条命令字符“-b”后有空格+ i6 t  l4 A, I9 m' N; f
下载完成后可以看到如下的目录结构:
) R( D* y# X+ S) p# F + G  D+ h. Q, l  o2 }6 g
root: Linux 的根文件系统;
, G- }! M" U9 M# ntest: Linux 的测试程序;
5 X- G2 m/ e2 d) ltools: 用于制作文件系统的工具及 ramdisk.img 二进制文件,该文件专用于 Linux 系统.
7 ?. K1 N* n0 |) v" F, XTools 目录下面的 mkfs 脚本用于制作文件系统镜像,把该脚本拷贝到 Linux_rootfs 目录
, p/ C5 u" x# o& c9 S7 f4 V* U下面,命令行执行即可生成 system.img.
* _0 b0 t5 Y1 j8 b; g( u注:可以使用 git clone 命令下载 uboot, kernel,Linux 文件系统,也可以通过网页下载
0 X6 i9 }% e1 q' I( i# m$ e源码压缩包。进入到 GitHub 主页,选择要下载的仓库:
, D3 Y# p4 n& a. T. D1 X6 b  D  D1 a 9 {1 O3 L$ s$ S4 D% [" ^
单价左上角红框部分,选择好该仓库的分支,然后单击页面右下角的 “Download6 T/ y( y4 D' @5 g+ k; U
ZIP” 即可通过浏览器下载压缩包。
/ T' H5 J8 R& z9 [8 M' [8 y  a6.3.4 Ubuntu 文件系统" P# }7 u) y! `' [
Ubuntu 文件系统分为:
! m3 I  l6 W/ k  [  D; oLCD 显示版本:iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz* ?% L& P8 E, |# k' _" I! z
HDMI 显示版本:iTOP4412_ubuntu_12.04_for_HDMI_20141230.tar.gz
/ Q1 Z1 E9 @1 X, B$ x$ S这两个版本未放到 GitHub 平台,目前通过光盘和网盘发布使用。: q" G3 h' v8 T. ~
更多内容关注:迅为电子+ h" q/ }4 Z* W

作者: CCxiaom    时间: 2020-4-21 13:24
这个开发板好用吗




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2