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

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

  8 月底 9 月初,作为 Linux 的老窝,Kernel.org 被黑客攻击了,其攻击原因众说纷纭。一直以来 Linux 对于我来说不是很感兴趣,所以从来不会关注类似事件,可是这次这个攻击,却影响到了 Android 源码的同步。   最近在研究 Android ROM,想尝试一下编译 ROM,结果是在同步源码这个环节遇到了问题。同步过程中,虽然指向是 android.com,但是仍然会从 kernel.org 获取部分信息。而到目前为止,使用原来的同步方法仍然不能正常同步。   经过与 hzkindy 同学交流,他给了个同步的方法。这里做一记录,供不能同步的各位同学使用。


  在获取 Android 源码的第一步,就是需要获得 Git 和 Repo,在获得 “repo” 的时候,就需要到 “kernel.org” 获取: [c]curl http://android.git.kernel.org/repo >~/bin/repo[/c]   基于上述原因,你是无法同步的,会提示: [c] % 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 [/c]   即使你之前已经获取了 “repo”,而你在同步 Android 源码时候也会提示: [c] 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 [/c]   故本文这里就使用另外源,来取得 Android 源码。

一、获取 repo

  这个是老外自己建立的,使用这个源可以获得 repo,但是后续的源码也是使用老外自己建立的。首先获取 repo: [c]curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo[/c]   给 “repo” 增加相应权限: [c]chmod a+x ~/bin/repo[/c]   添加环境变量: [c]PATH=~/bin:$PATH[/c]   这样就获取了第三方的 repo。

二、同步 Android 源码

  同样是使用老外自己的源,首先进入工作目录: [c][root@localhost ~]# cd ~/android/system/[/c]   同步源码: [c][root@localhost ~]# repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread[/c]   开始同步: [c][root@localhost ~]# repo sync -j16[/c]   这个是第三方的源码,不知道其中会不会有什么问题,我自己也同步了。请大家自己斟酌,这里仅仅是提供一种方法。

  • 评论列表:
  •  ivan87
     发布于 2011-10-12 20:48:04  回复该评论
  • 这个是高通 MSM 的源码 类似, 可以更新 呵呵 不过要看你的CPU的类型了 如果是高通的话 就可以 如果是 德仪的话 貌似就用这个编译出来的 不能用
  •  hzkindy
     发布于 2011-10-20 17:24:50  回复该评论
  • Google官方的源码仓库现已全面恢复,无需特别方式即可正常同步源码了。
    •  ShunYea
       发布于 2011-10-23 04:38:32  回复该评论
    • 哦,这样哈,谢谢大哥提醒,我试试看。
    •  ShunYea
       发布于 2011-10-24 07:39:04  回复该评论
    • 刚实验了,好像没有完全恢复,至少这个没法执行:
      curl http://android.git.kernel.org/repo > ~/bin/repo
  •  hzkindy
     发布于 2011-10-26 00:56:31  回复该评论
  • 自20日开始,源码仓库已经完全恢复。初始化、同步均可正常完成。无需其他解决方案。
    •  ShunYea
       发布于 2011-10-26 08:55:22  回复该评论
    • 兄弟你试试这个没法执行啊?
      curl http://android.git.kernel.org/repo > ~/bin/repo
      还有,使用此方法以前获得的repo(http://android.git.kernel.org/repo),现在用来获取源码同样失败,会提示无法连接。
  •  hzkindy
     发布于 2011-10-26 22:14:40  回复该评论
  • 再一次强调,CM源码仓库已完全恢复正常。
    如果无法同步或初始化,清除原来已同步的代码,重新初初始化、同步。
    •  ShunYea
       发布于 2011-10-29 04:57:46  回复该评论
    • 嗯,同步源码确实没有问题了,但是有时候速度超级慢,天朝的防火墙啊。
      不过呢,我说的意思是,如果是从头开始,同步源码,第一步就是获取 “repo”,但是按照之前的方法:
      curl http://android.git.kernel.org/repo > ~/bin/repo
      这句是无法执行的,因为这个页面还是404错误,不信你试试,呵呵。
      而没有repo,是无法同步源码的吧。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。