kernel.org 被 hacked 的
workaround 下載 source 方法:
安裝 Cygwin:
套件要裝 
git
git-completion
git-gui
gitk
git-oodiff
libiconv
python
readline (libreadline5、libreadline6、libreadline7)
wget
之後的流程:
執行 Cygwin
mkdir ./bin
由於 kernel.org 被 hacked,改用下面的方法抓 repo
chmod a+x ./bin/repo
export PATH=~/bin:$PATH
.bash_profile 加入 export PATH=~/bin:$PATH
mkdir gingerbread
cd gingerbread 
下載 2.2
repo init -u
git://codeaurora.org/platform/manifest.git -b froyo
(原本官方的方法:repo init -u
git://android.gt.kernel.org/platform/manifest.git -b froyo)
下載 2.3
repo init -u
git://codeaurora.org/platform/manifest.git -b gingerbread
(原本官方的方法:repo init -u
git://android.kernel.org/platform/manifest.git -b gingerbread)
repo sync
Android 的版本代號
| 
1.5 | 
cupcake | 
| 
1.6 | 
donut | 
| 
2.0/2.1 | 
eclair | 
| 
2.2 | 
froyo | 
| 
2.3 | 
gingerbread | 
如果出現下面的錯誤
$
repo init -u git://android.gt.kernel.org/platform/manifest.git -b ginerbread
      0 [main] python 3232
C:\cygwin\bin\python.exe: *** fatal error - unable to
 remap \\?\C:\cygwin\lib\python2.6\lib-dynload\select.dll
to same address as par
ent: 0x3A0000 !=
0x3D0000
Stack trace:
Frame     Function 
Args
0028A6A8  6102796B 
(0028A6A8, 00000000, 00000000, 7594D3FB)
0028A998  6102796B 
(6117EC60, 00008000, 00000000, 61180977)
0028B9C8  61004F1B 
(611A7FAC, 6124D78C, 003A0000, 003D0000)
End of stack trace
      0 [main] python 8048 fork: child 3232 -
died waiting for dll loading, errno 11
Traceback (most
recent call last):
  File "/home/Joybo/bin/repo", line
685, in <module>
    main(sys.argv[1:])
  File "/home/Joybo/bin/repo", line
652, in main
    _Init(args)
  File "/home/Joybo/bin/repo", line
184, in _Init
    _CheckGitVersion()
  File "/home/Joybo/bin/repo", line
209, in _CheckGitVersion
    proc = subprocess.Popen(cmd,
stdout=subprocess.PIPE)
  File
"/usr/lib/python2.6/subprocess.py", line 633, in __init__
    errread, errwrite)
  File
"/usr/lib/python2.6/subprocess.py", line 1049, in _execute_child
    self.pid = os.fork()
OSError:
[Errno 11] Resource temporarily unavailable
解決方法:
cd c:\cygwin\bin
修改 rebaseall 的第 110
行
將
sed -e
'/cygwin1\.dll$/d' -e '/cyglsa.*\.dll$/d' -e 's/^/\//' >"$TmpFile"
改成
sed -e
'/cygwin1\.dll$/d' -e '/cyglsa.*\.dll$/d' -e 's/^/\//' -e '/\/sys-root\/mingw\/bin/d'
>"$TmpFile"
然後執行
ash
/usr/bin/rebaseall
 
沒有留言:
張貼留言