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
沒有留言:
張貼留言