下载代码需要保证盘空间超过100G, 试验中100G的安装空间都不够用,下载过程 中老提示分配不到需要的 memory。 主要是repo下载时把高通的很多分支持都拉下来,最后切出来的代码到时很小。 代码下完后可以删掉.repo,节省空间。当前分配置了200G空间,也可通过虚拟机扩展盘增加容量(网上有方案)。
下载完成后的大小如下,可以看到代码加samba,repo,git等共占了63G, 当时盘的空间给了100G,不清楚当时为什么显示内存不够,总之如果空间够,多给一些盘空间不会是坏事。
@ubuntu:~$ df -hl
Filesystem Size Used Avail Use% Mounted on
udev 481M 0 481M 0% /dev
tmpfs 100M 6.7M 94M 7% /run
/dev/sda1 196G 63G 124G 34% /
tmpfs 500M 212K 499M 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 500M 0 500M 0% /sys/fs/cgroup
tmpfs 100M 56K 100M 1% /run/user/1000
1、下载git ,curl, 可以到网上查相关安装说明,以下是经达验证可以用的。
sudo apt-get install curl
sudo apt-get install git
2、下载repo 到bin目录中,并将repo 权限改成777,一些地方下的repo,可能会在下高通代码时出如下错误
object 666d534636d262cbfd971509dd0f0be0cddb2e11
type commit
tag v1.12.16
tagger Conley Owens <cco3@android.com> 1398976458 -0700
repo 1.12.16
gpg: Signature made Thu 01 May 2014 01:34:18 PM PDT using RSA key ID 692B382C
gpg: Can't check signature: public key not found
error: could not verify the tag 'v1.12.16'
这时删掉repo ,从下面地方找到正确的版本重新下载,以下是经过验证的,可以从网上查其他同仁对repo 的说明
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
3、 也可以一劳永逸将repo 路径加入到环境变量
@ubuntu:~$ sudo gedit .bashrc
在文件最后加入下面的配置后保存退出
export PATH=~/bin:$PATH
加入到环境变量的事情,我这边不知道到为什么没有成功,但是查看$PATH, 是能查到repo 的目录,但是运行时就是不行,后来就直接用目录指定repo下载了。
原因待查。
4、下载代码
我这里下的是8953的开源代码。 可以进以下2个网站查看源码下载该当及对应 的版本。
下载方法介绍:https://wiki.codeaurora.org/xwiki/bin/QAEP/
对应 版本查找:https://wiki.codeaurora.org/xwiki/bin/QAEP/release
有时网站打开开有点慢,需要等待。或者上CSDN搜(baidu搜高通源码,会有人介绍),后续再单独贴高通对应的基线上来,方便打不开时用来查找。
sudo repo init -u git://codeaurora.org/platform/manifest.git -b release -m LA.UM.5.9.r1-01700-8x53.0.xml --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable
下载过程中可能会出如下问题,按提示git配置下即可,重新下载。
File "/home/wangbiao/work/MSM8953/.repo/repo/project.py", line 663, in _LoadUserIdentity
u = self.bare_git.var('GIT_COMMITTER_IDENT')
File "/home/wangbiao/work/MSM8953/.repo/repo/project.py", line 2483, in runner
p.stderr))
error.GitError: manifests var:
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'root@ubuntu.(none)')
5、同步,耐心等待。 如果中间老断,可以尝试下http://blog.csdn.net/ldld1717/article/details/52462869 《repo下载国内链接android源码》中最后提到的做一个脚本
sudo ~/bin/repo sync -j4
脚本
#!/bin/bash
echo "======start repo sync======"
repo sync
while [ $? == 1 ]; do
echo "======sync failed, re-sync again======"
sleep 3
repo sync
done