WEB开发网
开发学院手机开发Android 开发 Android 内核源代码交叉编译 阅读

Android 内核源代码交叉编译

 2013-02-24 14:38:53 来源:WEB开发网   
核心提示: 本文是在 Ubuntu10.10 系统上进行实践的,1 因为我们需要 Android 的模拟器,Android 内核源代码交叉编译,所以需要安装 Android 的 SDK,并创建 AVD,可以一次命名为 AVD15,AVD22,AVD23,...AVD15 对应 1.5,AVD22 对应 2.2,AVD23 对应

 本文是在 Ubuntu10.10 系统上进行实践的。

1 因为我们需要 Android 的模拟器,所以需要安装 Android 的 SDK,并创建 AVD,

可以一次命名为 AVD15,AVD22,AVD23,...

AVD15 对应 1.5,AVD22 对应 2.2,AVD23 对应 2.3,...

获取.config 文件:

在启动模拟器 AVD15:

$emulator -avd AVD15

$pull /proc/config.gz . //将/proc/config.gz 这个文件复制到本地的目录,对应 Linux 上运行该命令的当前工作的目录,下同

然后,将其解压并保存为.config,留待后面使用

2 arm 编译器

去网站下载 arm 工具链

注意选择较早的版本,很有可能是 google 那班人在编译的时候 选择的是当时的最新的版本,但是后来就一直用那个版 本

http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite

要之前的版本:点击 All versions 即可看到所有的发行版本,2008q3-41 这个版本是经过很多人测试可以用的。

解压后,设置环境变量,将/usr/local/arm-2008q3/bin 添加到$PATH 中

其中 /usr/local/为保存解压后的 arm-tools-chain 的根目录

3 下载 Android 的 Linux 内核 记住是 Android 的 Linux 内核(git

clone git://android.git.kernel.org/kernel/common.git), 而不是通用的 Linuxe 内核源码(git clone git://android.git.kernel.org/kernel/linux-2.6.git)
$ git clone git://android.git.kernel.org/kernel/common.git kernel-common

//其中 kernel-common 为存放从代码库下来的代码的目录,下同

这一步是个漫长的等待...

$ cd ~/kernel-common

$ git branch

$ android-2.6.36

//这个随着版本的变化而变化

4 下载完 Android 的 Linux 内核源码,你会发现在/arch/arm/configs/下没有 goldfish_defconfig 这个文件,恩我们需要 check_out gold_fish 版本(模拟器的硬件配置就是 Gold_Fish 的)

$ cd ~/kernel_common

$ git branch -a

$ *android-2.6.36 remotes/origin/HEAD -> origin/android-2.6.36 remotes/origin/android-2.6.35 remotes/origin/android-2.6.36 remotes/origin/archive/android-2.6.25 remotes/origin/archive/android-2.6.27 remotes/origin/archive/android-2.6.29 remotes/origin/archive/android-2.6.32 remotes/origin/archive/android-gldfish-2.6.29 remotes/origin/archive/android-goldfish-2.6.27

//以上显示是目前看到的,将来的某个时候可以就有点不同了,甚至老版本的 Branch 名字也会被修改

//故要特别注意

$ git checkout remotes/origin/archive/android-gldfish-2.6.29

//这个过程就快多了,等待下载完数据

//git 这个东西确实不怎么好用,还是想念 Windows 上 TortoiseSVN

1 2  下一页

Tags:Android 内核 源代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接