现在的位置: 首页 > 综合 > 正文

Android和Android Linux kernel源码获取

2018年01月23日 ⁄ 综合 ⁄ 共 1664字 ⁄ 字号 评论关闭

1 git和repo简介

Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeperMercurialGNU ArchBazaarDarcsSVKMonotone等),每一个工作目录都包含一个完整仓库,它们可以支持离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响

因为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文件夹中)

获得合适的内核源代码
$ cd ~/android
获得内核源代码仓库
$ git clone git://android.git.kernel.org/kernel/common.git   kernel
$ cd kernel
$ git branch
显示
* android-2.6.27
说明你现在在android- 2.6.27这个分支上,也是kernel/common.git的默认主分支。
显示所有head分支:
$ git branch -a
显示
* android-2.6.27
remotes/origin/HEAD -> origin/android-2.6.27
remotes/origin/android-2.6.25
remotes/origin/android-2.6.27
remotes/origin/android-2.6.29
remotes/origin/android-goldfish-2.6.27
remotes/origin/android-goldfish-2.6.29
我们选取最新的android-goldfish-2.6.29,其中goldfish是 android的模拟器模拟的CPU。
$ git checkout -b android-goldfish-2.6.29 origin/android-goldfish-2.6.29
$ git branch
显示
android-2.6.27
* android-goldfish-2.6.29
我们已经工作在android-goldfish-2.6.29分支上了。

//注:如果过程中出现错误:fatal: Unable to look up  (port 9418) (Name or service not known),请检查下Linux的网络是否可用。我出现这个错误的时候是因为无线网设置了IP和MAC绑定引起的。

抱歉!评论已关闭.