Kernel.org 被黑,获取 Android 源码方法一则
8 月底 9 月初,作为 Linux 的老窝,Kernel.org 被黑客攻击了,其攻击原因众说纷纭。一直以来 Linux 对于我来说不是很感兴趣,所以从来不会关注类似事件,可是这次这个攻击,却影响到了 Android 源码的同步。
最近在研究 Android ROM,想尝试一下编译 ROM,结果是在同步源码这个环节遇到了问题。同步过程中,虽然指向是 android.com,但是仍然会从 kernel.org 获取部分信息。而到目前为止,使用原来的同步方法仍然不能正常同步。
经过与 hzkindy 同学交流,他给了个同步的方法。这里做一记录,供不能同步的各位同学使用。
在获取 Android 源码的第一步,就是需要获得 Git 和 Repo,在获得 “repo” 的时候,就需要到 “kernel.org” 获取:
1
|
curl http: //android.git.kernel.org/repo >~/bin/repo |
基于上述原因,你是无法同步的,会提示:
1
2
3
4
|
% 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 源码时候也会提示:
1
2
3
4
5
6
|
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:
1
|
|
给 “repo” 增加相应权限:
1
|
chmod a+x ~/bin/repo |
添加环境变量:
1
|
PATH=~/bin:$PATH |
这样就获取了第三方的 repo。
二、同步 Android 源码
同样是使用老外自己的源,首先进入工作目录:
1
|
[root@localhost ~]# cd ~/android/ system / |
同步源码:
1
|
[root@localhost ~]# repo init -u git: //codeaurora.org/platform/manifest.git -b gingerbread |
开始同步:
1
|
[root@localhost ~]# repo sync -j16 |
这个是第三方的源码,不知道其中会不会有什么问题,我自己也同步了。请大家自己斟酌,这里仅仅是提供一种方法。