Difference between revisions of "SDK下载和编译"
Csjamesdeng (talk | contribs) (→系统要求) |
(→SDK) |
||
Line 49: | Line 49: | ||
推荐用Repo管理Git仓库。从[https://android.googlesource.com/tools/repo android Git仓库]或其他镜像克隆一份Repo并安装。 | 推荐用Repo管理Git仓库。从[https://android.googlesource.com/tools/repo android Git仓库]或其他镜像克隆一份Repo并安装。 | ||
+ | <br>国内开发者可以按照下面的步骤来安装Repo脚本: | ||
+ | <pre> | ||
+ | $ git clone http://mirrors.ustc.edu.cn/aosp/git-repo.git ~/.bin/repo | ||
+ | $ echo "export PATH=~/.bin/repo:$PATH" >> ~/.bashrc | ||
+ | $ source ~/.bashrc | ||
+ | </pre> | ||
对于Lindenis V5,通过以下命令下载SDK: | 对于Lindenis V5,通过以下命令下载SDK: |
Latest revision as of 08:46, 15 April 2019
Contents
系统要求
以下是编译主机推荐最小配置:
- 处理器:x86_64
- 内存:8GB或更高
- 硬盘:10GB空闲空间
- 操作系统:Ubuntu 14.04 (tested)或更高
- 网络:因特网连接
准备主机
Ubuntu 14.04
提示:新的Ubuntu版本应该也行
安装依赖软件
$ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install git git-core u-boot-tools qemu qemu-user-static debootstrap lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386 gawk
- dpkg --add-architecture i386: 支持32位的软件
- apt-get update: 更新软件包
- git git-core: 源码版本管理软件
- u-boot-tools: 内核镜像生成工具
- qemu qemu-user-static: 虚拟化模拟器,模拟arm环境
- debootstrap: 用来构建基础根文件系统
- lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386: 32位软件运行库
- gawk: GNU Awk
设置sudo
$ sudo visudo
在文件末尾增加以下内容 (将 “james” 改成你自己的名字):
james ALL=(ALL) NOPASSWD: ALL
Ctrl-X推出并保持你的修改即可。
下载
SDK
SDK托管在github上。
推荐用Repo管理Git仓库。从android Git仓库或其他镜像克隆一份Repo并安装。
国内开发者可以按照下面的步骤来安装Repo脚本:
$ git clone http://mirrors.ustc.edu.cn/aosp/git-repo.git ~/.bin/repo $ echo "export PATH=~/.bin/repo:$PATH" >> ~/.bashrc $ source ~/.bashrc
对于Lindenis V5,通过以下命令下载SDK:
$ repo init -u https://github.com/lindenis-org/manifest.git -b v5 $ repo sync
网速决定了你的下载速度。下载完后,你将看到以下目录:
build build.sh debian device kernel tools u-boot
为本地工作空间建一个分支:
$ repo start v5 --all
在编译源码前,要先下载基础根文件系统和交叉编译工具链。
基础根文件系统
从FTP服务器下载基础根文件系统(用户名 'ftp',密码 'lindeni')并保存到debian目录。
交叉编译工具链
从FTP服务器下载交叉编译工具链(用户名 'ftp',密码 'lindeni')并保存到tools/build/toolchain目录(如果不存在请先创建它)。
编译
设置环境
对于Lindenis V5:
$ source build/envsetup.sh All available platforms: 0. eagle(Allwinner-V5,sun8iw12p1,arm) 1. petrel(Allwinner-H3,sun8iw7p1,arm) 2. cuckoo(Allwinner-V3,sun8iw8p1,arm) Choice: 0 All available OS: 0. buildroot 1. debian Choice: 1 0. allwinner-dvb 1. lindeni-v5 Choice: 1
编译源码
- 编译内核和根文件系统
$ ./build.sh
现在你可以生成操作系统镜像。当然,为了方便调试,你也可以单独编译每个部分。
- 只编译内核
$ ./build/mk-kernel.sh
- 只编译根文件系统 (debian)
$ ./build/mk-debian.sh
- 编译U-Boot
$ ./build/mk-u-boot.sh
生成镜像
适用于MicroSD Card的镜像:
$ ./build.sh flat-fw
适用于eMMC的镜像:
$ ./build.sh pack