Android和Android Linux kernel源码获取
1 git和repo简介
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们可以支持离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
因为Android是由kernel、Dalvik、Bionic、prebuilt、build等多个Git项目组成,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得Git的使用更加简单。
2 获取源码的工具安装
(a)安装git 和curl:
apt-get install git-core curl
(b)安装repo:
创建存放repo目录
$ cd ~
$ mkdir bin
$ export PATH=~/bin:$PATH
下载repo并改变权限
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
3 下载源码
下载Android源码
$ mkdir mydroid
$ cd mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync
下载Android Linux kernel源码(具体见http://android.git.kernel.org/)
git clone git://android.git.kernel.org/kernel/common.git(下载下来的内核源码在common文件夹中)
//注:如果过程中出现错误:fatal: Unable to look up (port 9418) (Name or service not known),请检查下Linux的网络是否可用。我出现这个错误的时候是因为无线网设置了IP和MAC绑定引起的。