搜索
bottom↓
回复: 13
打印 上一主题 下一主题

i.mx6开发教程-搭建Android源码内网镜像服务器

[复制链接]

出0入147汤圆

跳转到指定楼层
1
发表于 2015-8-21 11:08:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dreampet 于 2015-8-21 11:18 编辑

本篇教程的目的是让大家可以在Google被屏蔽的情况下利用清华大学的镜像服务器搭建任意分支的Android源码本地镜像服务器
(这个方法适合团队开发,如果自己开发,直接从清华大学的镜像服务器上checkout下来就可以了)

系统:Ubuntu 14.04
平台:SABRESD-DL

1. 搭建git 服务器
a. 安装git-daemon
  1. sudo apt-get install  git-all
  2. sudo apt-get install git-daemon-sysvinit
复制代码
b.配置git-daemon
  1. sudo gedit /etc/default/git-daemon
复制代码
配置文件内容如下(我已经配置好的,用户名是dev,git仓库目录为~/coderepo)
  1. # Defaults for git-daemon initscript
  2. # sourced by /etc/init.d/git-daemon
  3. # installed at /etc/default/git-daemon by the maintainer scripts

  4. #
  5. # This is a POSIX shell fragment
  6. #

  7. GIT_DAEMON_ENABLE=true                                                                      #是否启用git-daemon
  8. GIT_DAEMON_USER=dev                                                                           #运行git-daemon的用户,该用户需要具备对仓库目录的读写权限
  9. GIT_DAEMON_BASE_PATH=/home/dev/coderepo                                #仓库目录
  10. GIT_DAEMON_DIRECTORY="/var/cache/git /home/dev/coderepo"    #白名单,至少要包括仓库目录

  11. # Additional options that are passed to the Daemon.                              #参数设置,允许上传下载等
  12. GIT_DAEMON_OPTIONS="--export-all --enable=upload-pack --enable=upload-archive --enable=receive-pack --informative-errors"
复制代码
c. 启动git-daemon服务
  1. sudo /etc/init.d/git-daemon start
复制代码
d. 检查git-daemon是否正常启动
  1. service --status-all |grep 'git-daemon'
复制代码
如果git-daemon前面是'+'号,说明已经正常启动

2. 安装repo
  1. sudo apt-get install python-dev phablet-tools
复制代码

3. 建立android主干代码镜像
  1. git config --global user.email "xxx@xxx.com"
  2. git config --global user.name "xxx"
  3. cd ~/coderepo
  4. mkdir android
  5. cd android
  6. repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest --repo-url=git://aosp.tuna.tsinghua.edu.cn/android/git-repo --mirror
  7. repo sync
复制代码
这一步的时间会比较漫长,大约需要下载35G的内容,清华的服务器速度还是很快的,我下载时全程平均速度均在1M左右;

4. 建立Android分支增量代码镜像
这一步主要是利用了git的--reference选项,在主干代码的基础上建立分支镜像,下面以android 5.0.2为例
  1. cd ~/coderepo
  2. mkdir android502
  3. cd android502
  4. repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest --repo-url=git://aosp.tuna.tsinghua.edu.cn/android/git-repo --reference=/home/dev/coderepo/android -b android-5.0.2_r1 --mirror
  5. repo sync
复制代码
可以看到 在repo init阶段,我增加了--reference=/home/dev/coderepo/android 这个选项,也就是第三步获取到的主干代码位置(你们需要根据自己的实际目录修改),这样可以在repo sync过程中,略过已经存在的项目
这一步的时间相对就很短了,因为只需要下载1.5G左右的数据即可

5.建立I.MX6内核及u-boot代码镜像
  1. cd ~/coderepo
  2. mkdir imx
  3. cd imx
  4. git clone --mirror git://git.freescale.com/imx/linux-2.6-imx.git   #建立内核源码镜像
  5. git clone --mirror git://git.freescale.com/imx/uboot-imx.git       #建立u-boot源码镜像
复制代码
我这边连接飞思卡尔的服务器很慢,这两步的时间也是比较长,平均速度不超过50K

6. 到此,整个源码镜像服务器就建立完成了,可以看下此时的空间占用情况
  1. dev@HeJia-dev:~/coderepo$ du --max-depth=1 -h
  2. 1.1G        ./imx
  3. 1.5G        ./android502
  4. 35G        ./android
  5. 1.8G        ./android443
  6. 39G        .
  7. dev@HeJia-dev:~/coderepo$
复制代码
我这边还建了4.4.3的分支镜像,可以看到通过这个方式可以建立任意Android分支源码镜像,并且不会重复占用磁盘空间

7. 检出代码进行开发
下面的操作就跟飞思卡尔BSP里的Android User's Guide差不多了,只需要将git地址修改为本地服务器地址即可
a. 检出Android 5.0.2源码
  1. cd ~
  2. mkdir myandroid
  3. cd myandroid
  4. repo init -u git://127.0.0.1/android502/platform/manifest --repo-url=git://127.0.0.1/android502/git-repo -b android-5.0.2_r1
  5. repo sync
复制代码
b. 检出内核代码

  1. cd ~/myandroid
  2. git clone git://127.0.0.1/imx/linux-2.6-imx.git kernel_imx
  3. cd kernel_imx
  4. git checkout l5.0.0_1.0.0-ga
复制代码
c. 检出u-boot代码
  1. cd ~/myandroid/bootable/bootloader
  2. git clone git://127.0.0.1/imx/uboot-imx.git uboot-imx
  3. cd uboot-imx
  4. git checkout l5.0.0_1.0.0-ga
复制代码
8. 以上是在本机上测试,局域网内其它机器只需要替换IP地址即可。
    (完)

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

2
发表于 2015-8-21 13:43:45 | 只看该作者
mark一下,  i.mx6开发教程-搭建Android源码内网镜像服务器, 感谢LZ的分享

出0入0汤圆

3
发表于 2015-8-21 14:04:42 | 只看该作者
感谢分享。。。

出0入0汤圆

4
发表于 2015-8-21 20:17:29 | 只看该作者
正愁怎么下载呢,非常感谢哦

出0入0汤圆

5
发表于 2015-8-21 21:45:00 | 只看该作者
确实不错,有这方法方便多了,感谢

出0入0汤圆

6
发表于 2015-8-22 06:25:34 | 只看该作者
你好,如果直接从清华服务器上下载源码的命令是什么样的,为什么我的会一直报错,下载不下来,还有我好想无法安装那个repo,求大师指点,谢谢

出0入0汤圆

7
发表于 2015-8-22 07:25:46 | 只看该作者
我下载的过程中老是报错,fatal:unable to connect to aosp..tuna.tsinghua.edu.cn:
                                   aosp.tuna.tsinghua.edu.cn[0:202.112.3.6]:errno=???
报这样的错误影响下载吗,我现在是让他断线后,自动重复下载的,不需要手动重复 再敲入repo sync

出0入147汤圆

8
 楼主| 发表于 2015-8-22 10:59:16 | 只看该作者
my二月兰 发表于 2015-8-22 07:25
我下载的过程中老是报错,fatal:unable to connect to aosp..tuna.tsinghua.edu.cn:
                     ...

应该是你的网络连接不稳定,清华大学的服务器是在教育网内,或者是你的并发连接超过4,清华的网站只允许4并发。
可以用下面的脚本保存成.sh格式,运行后出错就会自动自动重试。
  1. #!/bin/bash
  2. echo “======= start repo sync =======”
  3. repo sync -j4
  4. while [ $? == 1 ]; do
  5. echo “====== sync failed! re-sync again =====”
  6. sleep 3
  7. repo sync -j4
  8. done
复制代码


出0入0汤圆

9
发表于 2015-8-22 11:44:22 | 只看该作者
dreampet 发表于 2015-8-22 10:59
应该是你的网络连接不稳定,清华大学的服务器是在教育网内,或者是你的并发连接超过4,清华的网站只允许4 ...

我用的是移动宽带,是不是不稳定啊?

出0入0汤圆

10
发表于 2015-8-22 11:51:04 | 只看该作者
还有一个问题,就是/etc/hosts下添加东西吗?

出0入42汤圆

11
发表于 2018-8-8 14:47:33 | 只看该作者
大哥,为什么我下载后居然有106G,而且我要把下载链接的地方git换成https才可以下载的

出0入0汤圆

12
发表于 2020-4-15 07:19:26 | 只看该作者
Mark.         

出0入0汤圆

13
发表于 2020-7-27 21:49:17 | 只看该作者
mark,顶一顶

出0入0汤圆

14
发表于 2020-7-28 06:52:12 | 只看该作者

mark,顶一顶
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 17:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表