Android和Android Linux kernel源码获取
2011-07-24 11:11
330 查看
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文件夹中)
获得合适的内核源代码
$ 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绑定引起的。
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文件夹中)
获得合适的内核源代码
$ 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绑定引起的。
相关文章推荐
- Android和Android Linux kernel源码获取
- Android和Android Linux kernel源码获取
- Android和Android Linux kernel源码获取
- 获取Android源码时如何解决【fatal: Unable to look up android.git.kernel.org (port 9418) (Name or service not kn
- Kernel.org 被黑,获取 Android 源码方法一则
- 获取Android源码时如何解决【fatal: Unable to look up android.git.kernel.org (port 9418) (Name or service not known)】的问题
- [Android] i.MX6 Android源码中分离U-Boot和Linux-Kernel独立编译环境
- Linux 系统下Android开发:获取源码
- Android 源码获取-----在Windows环境下通过Git得到Android SDK源代码
- Android源码编译(二)----------->Android’s kernel for beagleboard-xm
- 如何获取Android源码
- fedora linux下android源码编译环境的搭建
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
- Linux 下Android源码下载
- Android教程之-----Windows环境下,Msysgit获取Android源码。
- Windows环境下,Msysgit获取Android源码
- android 获取本地全部图片列表的实现及源码下载(二)
- Android --- windows下搭建Linux环境下载编译Android源代码--解决下载android系统源码错误问题
- linux下载编译android源码
- 调用Linux的busybox,通过linux命令来获取AndRoidIP