DragonBoard 410c手把手进行安卓开发之底层移植
耽误了这么久,终于开始写这篇文章了
这篇文章我们主要介绍如何从获取MSM源码,并为内核进行修改与移植的过程
#必须的前期准备
首先我们需要准备如下四个条件:
1. Ubuntu 12.04 Linux Distribution 64位
务必要注意,切勿使用更高版本的Ubuntu进行开发。MSM的安卓源代码编译期间只能使用Openjdk 7的版本,而更高版本的Ubuntu源中已经不再支持Openjdk 7,选择12.04版本是最好的选择
2. Windows主机
之所以还配一台Windows主机主要是为了基于Windows工具进行开发
3. Java SE JDK for Linux 64位
JAVA的JDK需要安装在Ubuntu 12.04下
4. repo
repo主要用于从Android Source的git网站中下载源码,并实时更新源代码
安装Ubuntu、JDK以及repo的具体过程我就不详细解释,网络上已经有很多成熟的例子。这里就不再赘述了
#从源码网站codeaurora.org下载源码
Qualcomm骁龙处理器的开源HLOS软件位于网站www.codeaurora.org中

##从网站中下载HLOS软件
如果想要下载能够在DragonBoard 410c上运行的Android源码, 可以按照如下的基本流程进行操作:
1. 首先我们需要从codeaurora网站中获取我们希望下载的release版本。此外,如果我们还需要下载BSP文件,那么BSP文件的后缀一定要与release版本的后缀一致才能正常使用
release版本的标识符如下图所示

标识符中主要包含了APSS与构建ID
每个ID或Tag用于指定某个特定的构建指示代码,并按照如下的规则进行排列
<PL_Image>-<Version>-<Chipset>
其中:
- PL_Image代表Android Linux的LNX.LA分支名称
- Version代表表示该系统ID的有效数字
- Chipset表示所支持的板载系列,如8x16支持8916/8016等
- 
2. 接下来我们可从应用的构建ID以及TAG,找到相应的Release manifest的XML文件
相应的对应表见[链接](https://www.codeaurora.org/xwiki/bin/QAEP/release)
3. 找到Manifest编号后,我们需要在Ubuntu中运行指令来下载所有的源代码。
在空目录下的命令行中输入
```
repo init
```
对于不同的版本,我们需要根据manifest表中的编号以及branch版本,输入相应的指令进行下载。下载安卓源码的指令格式如下所示:
```
$ repo init -u git://codeaurora.org/platform/manifest.git -b release
-m [manifest] –repo-url=git://codeaurora.org/tools/repo.git
```
接下来再次输入
```
repo sync
```
一定要确保电脑上有60个G以上的空间,否则电脑容量会不够用
#源码的编译
代码下载完后,我们就可以直接进入源代码目录,输入:
```
sh DB410c_build.sh
```
编译410c的安卓镜像了