Difference between revisions of "SDK下载和编译"

From Lindenis Wiki
Jump to: navigation, search
(系统要求)
(SDK)
 
(4 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
== 系统要求 ==
 
== 系统要求 ==
  
以下是编译主机推荐配置:
+
以下是编译主机推荐最小配置:
 
* 处理器:x86_64
 
* 处理器:x86_64
 
* 内存:8GB或更高
 
* 内存:8GB或更高
Line 15: Line 15:
 
'''提示:新的Ubuntu版本应该也行'''
 
'''提示:新的Ubuntu版本应该也行'''
  
==== 安装依赖的软件 ====
+
==== 安装依赖软件 ====
  
 
<pre>
 
<pre>
Line 31: Line 31:
 
* lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386: 32位软件运行库
 
* lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386: 32位软件运行库
 
* gawk: GNU Awk
 
* gawk: GNU Awk
 +
 +
==== 设置sudo ====
 +
 +
<pre>
 +
$ sudo visudo
 +
</pre>
 +
 +
在文件末尾增加以下内容 (将 “james” 改成你自己的名字):
 +
<pre>james ALL=(ALL) NOPASSWD: ALL</pre>
 +
Ctrl-X推出并保持你的修改即可。
 +
 +
== 下载 ==
 +
 +
=== SDK ===
 +
 +
SDK托管在[https://github.com/lindenis-org github]上。
 +
 +
推荐用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:
 +
<pre>
 +
$ repo init -u https://github.com/lindenis-org/manifest.git -b v5
 +
$ repo sync
 +
</pre>
 +
网速决定了你的下载速度。下载完后,你将看到以下目录:
 +
<pre>
 +
build  build.sh  debian  device  kernel  tools  u-boot
 +
</pre>
 +
 +
为本地工作空间建一个分支:
 +
<pre>
 +
$ repo start v5 --all
 +
</pre>
 +
 +
在编译源码前,要先下载基础根文件系统和交叉编译工具链。
 +
 +
=== 基础根文件系统 ===
 +
 +
从[ftp://13.57.226.143/alip/ FTP服务器]下载基础根文件系统(用户名 'ftp',密码 'lindeni')并保存到debian目录。
 +
* [ftp://13.57.226.143/alip/stretch-alip.tar.gz stretch-alip.tar.gz]
 +
 +
=== 交叉编译工具链 ===
 +
 +
从[ftp://13.57.226.143/toolchains/ FTP服务器]下载交叉编译工具链(用户名 'ftp',密码 'lindeni')并保存到tools/build/toolchain目录(如果不存在请先创建它)。
 +
* [ftp://13.57.226.143/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz]
 +
* [ftp://13.57.226.143/toolchain/gcc-linaro-arm.tar.xz gcc-linaro-arm.tar.xz]
 +
 +
== 编译 ==
 +
 +
=== 设置环境 ===
 +
 +
对于Lindenis V5:
 +
<pre>
 +
$ 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
 +
</pre>
 +
 +
=== 编译源码 ===
 +
 +
* 编译内核和根文件系统
 +
<pre>
 +
$ ./build.sh
 +
</pre>
 +
 +
现在你可以生成操作系统镜像。当然,为了方便调试,你也可以单独编译每个部分。
 +
 +
* 只编译内核
 +
<pre>
 +
$ ./build/mk-kernel.sh
 +
</pre>
 +
 +
* 只编译根文件系统 (debian)
 +
<pre>
 +
$ ./build/mk-debian.sh
 +
</pre>
 +
 +
* 编译U-Boot
 +
<pre>
 +
$ ./build/mk-u-boot.sh
 +
</pre>
 +
 +
=== 生成镜像 ===
 +
 +
适用于MicroSD Card的镜像:
 +
<pre>
 +
$ ./build.sh flat-fw
 +
</pre>
 +
 +
适用于eMMC的镜像:
 +
<pre>
 +
$ ./build.sh pack
 +
</pre>
 +
 +
== 安装 ==
 +
* [[Linbain安装#制作启动卡|安装镜像到SDCard]]
 +
* [[Writing_an_image_to_the_eMMC|安装镜像到eMMC]]

Latest revision as of 08:46, 15 April 2019

系统要求

以下是编译主机推荐最小配置:

  • 处理器: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

安装