Kernel.org 被黑,获取 Android 源码方法一则

2011年10月08日   教程经验   8 条评论   13,231人围观过  

  8 月底 9 月初,作为 Linux 的老窝,Kernel.org 被黑客攻击了,其攻击原因众说纷纭。一直以来 Linux 对于我来说不是很感兴趣,所以从来不会关注类似事件,可是这次这个攻击,却影响到了 Android 源码的同步。

  最近在研究 Android ROM,想尝试一下编译 ROM,结果是在同步源码这个环节遇到了问题。同步过程中,虽然指向是 android.com,但是仍然会从 kernel.org 获取部分信息。而到目前为止,使用原来的同步方法仍然不能正常同步。

  经过与 hzkindy 同学交流,他给了个同步的方法。这里做一记录,供不能同步的各位同学使用。

  在获取 Android 源码的第一步,就是需要获得 Git 和 Repo,在获得 “repo” 的时候,就需要到 “kernel.org” 获取:

curl http://android.git.kernel.org/repo >~/bin/repo

  基于上述原因,你是无法同步的,会提示:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (7) couldn't connect to host

  即使你之前已经获取了 “repo”,而你在同步 Android 源码时候也会提示:

android.git.kernel.org[0: 130.239.17.13]: errno=Connection refused
android.git.kernel.org[0: 199.6.1.173]: errno=Connection refused
android.git.kernel.org[0: 2001:6b0:e:4017:1972:112:1:0]: errno=Network is unreachable
android.git.kernel.org[0: 2001:500:60:10:1972:112:1:0]: errno=Network is unreachable
fatal: unable to connect a socket (Network is unreachable)
error: Cannot fetch platform/bionic

  故本文这里就使用另外源,来取得 Android 源码。

一、获取 repo

  这个是老外自己建立的,使用这个源可以获得 repo,但是后续的源码也是使用老外自己建立的。首先获取 repo:

curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo

  给 “repo” 增加相应权限:

chmod a+x ~/bin/repo

  添加环境变量:

PATH=~/bin:$PATH

  这样就获取了第三方的 repo。

二、同步 Android 源码

  同样是使用老外自己的源,首先进入工作目录:

[root@localhost ~]# cd ~/android/system/

  同步源码:

[root@localhost ~]# repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread

  开始同步:

[root@localhost ~]# repo sync -j16

  这个是第三方的源码,不知道其中会不会有什么问题,我自己也同步了。请大家自己斟酌,这里仅仅是提供一种方法。



8 条评论

  1. ivan87说道:

    这个是高通 MSM 的源码 类似, 可以更新 呵呵 不过要看你的CPU的类型了 如果是高通的话 就可以 如果是 德仪的话 貌似就用这个编译出来的 不能用

  2. hzkindy说道:

    Google官方的源码仓库现已全面恢复,无需特别方式即可正常同步源码了。

  3. hzkindy说道:

    自20日开始,源码仓库已经完全恢复。初始化、同步均可正常完成。无需其他解决方案。

  4. hzkindy说道:

    再一次强调,CM源码仓库已完全恢复正常。
    如果无法同步或初始化,清除原来已同步的代码,重新初初始化、同步。

    • ShunYea说道:

      嗯,同步源码确实没有问题了,但是有时候速度超级慢,天朝的防火墙啊。

      不过呢,我说的意思是,如果是从头开始,同步源码,第一步就是获取 “repo”,但是按照之前的方法:

      curl http://android.git.kernel.org/repo > ~/bin/repo

      这句是无法执行的,因为这个页面还是404错误,不信你试试,呵呵。

      而没有repo,是无法同步源码的吧。

留言

无觅相关文章插件,快速提升流量