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

时间:2023-03-10 01:13:08
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:

  给 “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

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