Ubuntu12.04下载android-goldfish-2.6.29

来源:互联网 发布:linux拷贝文件夹 编辑:程序博客网 时间:2024/06/07 03:32

        昨天想在网上下载android内核源码,看了网上的文章,基本上都是要求联网下载的,想找一个无需联网的还真是没有找到,看到https://android.googlesource.com/kernel/goldfish.git这个网站提供源码下载,好开心啊,然后进去选择了android-goldfish-2.6.29,右键、另存为、拷贝到无法联网的电脑上,在ubuntu上打开,傻眼了,原来是页面文件,崩溃呀。看来没有办法,还是得联网才行。


        于是,参考老罗的http://blog.csdn.net/luoshengyang/article/details/6564592,联机进行,下载的中间过程与老罗的基本相同,只有一些细微差别,就是kernel下的目录是goldfish而不是common,下面就是我下载android-goldfish-2.6.29的过程。


        第一步:

      USER-NAME@MACHINE-NAME:~/Android$ mkdir kernel

      USER-NAME@MACHINE-NAME:~/Android$ cd kernel
      USER-NAME@MACHINE-NAME:~/Android/kernel$ git clone http://android.googlesource.com/kernel/goldfish.git

       
此时在终端上显示一下内容

        http://android.googlesource.com/kernel/goldfish.git

        Cloning into 'goldfish'...

        remote: Counting objects: 41021, done

        remote: Finding sources: 100% (114/114)

        remote: Getting sizes: 100% (70/70)

        remote: Compressing objects:  75% (53/70)

        remote: Total 2442756 (delta 2048893), reused 2442724 (delta 2048890)

        Receiving objects: 100% (2442756/2442756), 499.75 MiB | 580 KiB/s, done.

        Resolving deltas: 100% (2049059/2049059), done.

        此时在kernel目录下有一个goldfish目录,而不是老罗文章里说的common目录,这个没有什么关系,只是目录名不一样。接下来查看下载的内核代码版本。


 第二步:

USER-NAME@MACHINE-NAME:~/Android/kernel$ cd  goldfish

USER-NAME@MACHINE-NAME:~/Android/kernel/goldfish$ git branch -a

* master

  remotes/origin/HEAD -> origin/master

  remotes/origin/android-goldfish-2.6.29

  remotes/origin/android-goldfish-3.4

  remotes/origin/linux-goldfish-3.0-wip

  remotes/origin/master


第三步:
上面得到的是主线上的内核源代码,现在我们需要适用于模拟器用的内核,因此,我们
要checkout goldfish版本
USER-NAME@MACHINE-NAME:~/Android/kernel/goldfish$ git checkout remotes/origin/android-goldfish-2.6.29
在终端上显示以下内容

Checking out files: 100% (26821/26821), done.

Note: checking out 'remotes/origin/android-goldfish-2.6.29'.

You are in 'detached HEAD' state. You can look around, make experimental

changes and commit them, and you can discard any commits you make in this

state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may

do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at e3d684d... enable FUSE for sdcard emulation


此时在goldfish目录下就可以看到kernel相关的文件和文件夹表示下载成功

感谢老罗,本文不详细的地方请参考http://blog.csdn.net/luoshengyang/article/details/6564592