[转]如何下载tizen源码(图文教程)?
http://blog.csdn.net/flydream0/article/details/8996654
当前tizen发布的最新源码版本是2.1,本文将以图文教程讲述如何下载tizen源码,关于如何编译后述文章将讲解。
1 注册及设置gerrit
1.1注册邮箱
首先打开https://source.tizen.org/,在右上角点击注册一个你的用户,成功注册好后,再点击https://review.tizen.org/gerrit登陆gerrit,将出现如下界面:
以之前注册好的用户名以密码登陆。
注:tizen源码是用gerrit来管理的。
登陆后的界面如下:
点 击右上角的Settings,然后在左边点击Contact Information在显示的界面上添加自己的邮箱,Gerrit系统会自动发送一件验证邮件到你所指定的邮箱中,点击邮件中给出的验证链接进行验证, 难证通过后,表示你的Gerrit帐户已经激活,可以正常使用了。
2 配置访问Gerrit的SSH
2.1 安装ssh工具
首先得安装ssh工具:
- $ sudo apt-get install ssh
安装ssh成功后会在~/目录下自动生成.ssh隐藏目录.
2.2 生成RSA密钥
通过如下指令生成RSA密钥:
- ~/.ssh$ ssh-keygen -t rsa -C flydream0
其中flydream0为提示内容,可以随便写点内容,一般写做自己的用户名就可以了.
系统提示:
- Generating public/private rsa key pair.
- Enter file in which to save the key (/home/arthur/.ssh/id_rsa):
系统提示保存密钥的保存地址,直接按回车键,默认保存到~/.ssh目录下。
然后系统回提示你设置一个你的密码,两次设置无误后会出现如下界面:
2.3 配置SSH配置文件
进入~/.ssh目录下,创建config文件,将如下内容拷贝进去:
- Host tizen
- Hostname review.tizen.org
- IdentityFile ~/.ssh/id_rsa
- User flydream0
- Port 29418
- #The line below is optional configuration applicable to Ubuntu and openSUSE.
- #Add when using proxy, otherwise, skip it.
- #ProxyCommand nc -X5 -x <Proxy Address>:<Port> %h %p
- #The line below is optional configuration applicable to Fedora.
- #Add when using proxy, otherwise, skip it.
- #ProxyCommand nc --proxy-type socks4 --proxy <Proxy Address>:<Port> %h %p
其中flydream0替换掉你之前注册的Gerrit用户名,不要包含尖括号.
2.4 上传SSH公钥到Gerrit
打开~/.ssh目录下的id_rsa.pub文件:
- $vim ~/.ssh/id_rsa.pub
复制里边的全部内容,然后返回到gerrit的设置界面,点击左边的SSH Public Keys,然后添加公钥,如下图所示:
将你的公钥添加到gerrit中,这样的话你就可以通过git指令获得gerrit中的tizen源码了。
2.5 验证SSH连接
执行如下指令:
- $ ssh tizen
将会提示你输入密码:
输入你之前设置好的SSH密码,然后回车,如果连接正常,将会出现如下界面:
这就表示SSH设置是OK的。
3 配置git
首先得确保安装了git,如果未安装,则执行如下指令进行安装:
- $ sudo apt-get install git
安装完git后得配置git的全局用户名及邮箱:
- $ git config --global user.name flydream0
- $ git config --global user.email bumaoxia204@163.com
将flydream0和buamoxia204@163.com替换成你自己的gerrit用户名及邮箱。
然后你可以通过如下指令看到你配置好的内容:
- arthur@arthur-laptop:~/.ssh$ git config --global -l
- color.ui=auto
- user.name=flydream0
- user.email=bumaoxia204@163.com
- arthur@arthur-laptop:~/.ssh$
4 下载并配置repo
tizen源码下载借鉴了Android源码下载的方式,因此,我们首先将 Androiod源码下载工具repo下载并设置好。
在~/目录下创建bin目录:
- $cd ~/
- $mkdir bin
- $PATH=~/bin:$PATH
- $cd bin
安装curl工具:
- $sudo apt-get install curl
然后下载repo工具:
- $curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
- $chmod a+x ~/bin/repo
这里就下载并配置好了repo工具.
5 下载tizen源码
5.1 在Gerrit中查看tizen源码
在Gerrit中左上角点击projects,projects字下面的List,然后就会看到tizen源码下的所有project,如下所示:
可以发现,tizen下的工程太多了,那么如何下载呢?下载哪些呢?
5.2 初始化repo环境
在浏览器中查找manifest,你会发现有一个工程为:tools/manifest/tizen-2.0-main
我们就先将这个工程下载下来,然后利用这个manifest文件,用 repo工具同步所有tizen源码文件。
我们先建立一下tizen目录:、
- $cd ~/
- $mkdir tizen
- $cd tizen
首先查看自己Gerrit的地址:
- $ ssh tizen
- **** Welcome to Gerrit Code Review ****
- Hi arthur, you have successfully connected over SSH.
- Unfortunately, interactive shells are disabled.
- To clone a hosted Git repository, use:
- git clone ssh://flydream0@review.tizen.org:29418/REPOSITORY_NAME.git
- Connection to review.tizen.org closed.
得出tizen源码链接地址为ssh://flydream0@review.tizen.org:29418/......
然后使用manifest/tizen-2.0-main初始化repo下载环境:
- $ repo init -u ssh://flydream0@review.tizen.org:29418/tools/manifest/tizen-2.0-main
将上面的flydream0替换成你自已的Gerrit用户名,也可以用 $repo init -u ssh://flydream0@review.tizen.org:29418/tools/mainifest/tizen-2.0-main.git
有没有git后缀对repo来说都是一样的。
接下来有可能要你输入ssh的密码。再接下来会将tizen源码的环境同步到本地,在当前目录下将会生成.repo隐藏目录。如下图:
注意:这一步下载有点难度,有很大概率会出现如下错误提示:
- fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
- fatal: error [Errno 101] Network is unreachable
这个是由于网络原因造成,也有人说是天朝神力所致。但不管怎样,多试几次应该会成功的。一旦失败后,必须先检查当前目录下是否存在.repo子目录($ls -al),一旦存在,则删除它(rm -rf .repo/),然后在重新尝试。
5.3 修改manifest.xml清单文件
接下来打开./.repo/manifests/default.xml清单文件:
- $ vim .repo/manifests/default.xml
将fetch后面的内容修改为:"ssh://flydream0@review.tizen.org:29418",review后面的内容修改为:"https://review.tizen.org/gerrit/"
如下图:
同样将flydream0修改为你自己的Gerrit用户名.
5.4 同步tizen源码
最后下载源码:
- $repo sync -j4
下载界面如下:
下载过程是一个漫长而痛苦的等待过程,之所以说痛苦,那是因为中途还可能会出错,得不断重新输入指令,最后下载完的时间取决于各自的机器与网络速度。
好了,tizen源码的下载就讲到这了,下一章我将继续讲述如何编译tizen 源码及如何生成镜像文件,敬请关注!
6 后续补充
上述方法没有错,但是后来发现用此方法下载时老是出错,错误信息大概如下:
- Fetching projects: 1% (10/915) fatal: '/adaptation/devices/alsa-scenario-files-0.0': not a Gerrit project
- fatal: The remote end hung up unexpectedly
- fatal: '/adaptation/devices/alsa-scenario-files-0.0': not a Gerrit project
- fatal: The remote end hung up unexpectedly
- error: Cannot fetch adaptation/devices/alsa-scenario-files-0.0
发现原来是清单文件的问题,清单文件的链接内容是已经过时的了,因此需要找一个比较新的清单文件来替换现有的清单文件。
打开http://download.tizen.org/链接,会发现这里边有tizen发布的各种版本的镜像文件,找一个比较新的,比如:
在此目录下包含tizen镜像文件tizenxxx.raw.bz2,还有其对应的清单文件ivi-wayland-release-tizen-2.0alpha_20130522.2.manifest.xml,这个清单文件对我们来说非常重要,因为它包含了此tizen版本对镜像文件对应的所有资源链接信息,这样一来,我们就可以利用此清单文件下载到所有源文件!
6.1 下载清单文件
如里你是用firefox浏览单打开的此网页,那么可以右点击ivi-wayland-release-tizen-2.0alpha_20130522.2.manifest.xml,然后选择cope link location,然后粘贴到wget后面:
- $ wget http://download.tizen.org/releases/daily/2.0alpha/ivi-wayland/tizen-2.0alpha_20130522.2/images/ivi-wayland-release/ivi-wayland-release-tizen-2.0alpha_20130522.2.manifest.xml
这样就将此清单文件下载到当前目录下了,当然你也可以用其它方面下载此清单文件。
6.2 修改清单文件的内容
用vim打开上面下载的清单文件:
- $ vim ivi-wayland-release-tizen-2.0alpha_20130522.2.manifest.xml
同5.3节的步骤一样,将fetch后面的内容修改成你自己的Gerrit地址:
当然上述的flyream0需要修改成你自己的Gerrit用户名.
6.3 替换现有的清单文件
先备份好现有的清单文件:
- $ cp .repo/manifests/default.xml default.xml.bak
然后再替换它:
- $ cp ivi-wayland-release-tizen-2.0alpha_20130522.2.manifest.xml .repo/manifests/default.xml
6.4 同步tizen源码
- $repo sync -j4
再次进入漫长而痛苦的等待过程,这次下载不再出现中途会出现错误的情况了。
下载成功后的界面如下:
有关如何编译tizen源码请参考:http://blog.csdn.net/flydream0/article/details/9004746一文.
好了,祝大家一切顺利。
[转]如何下载tizen源码(图文教程)?的更多相关文章
- [转]如何编译tizen源码(图文教程)?
http://blog.csdn.net/flydream0/article/details/9004746 前一篇文章已经介绍了如何下载tizen源码(http://blog.csdn.net/fl ...
- 如何编译tizen源码(图文教程)?
前一篇文章已经介绍了如何下载tizen源码,下面我将继续讲述如何编译源码. 1 下载安装gbs编译工具 tizen源码是用gbs工具进行编译的,因此我们首先得将此工具下载下来,并且设置好. 下面的Ub ...
- Ubuntu12.04 64bit版本下载Android源码完整教程
首先去官网http://source.android.com/source/initializing.html可以看到完整的安装教程.不过一般情况下,按照这个教程是无法一步到位的,因为中途肯定会遇到很 ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
- Mysql 源码编译教程贴
题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环 ...
- 下载android4.4.2源码全过程(附已下载的源码)
今天在下载andriod源码,特来与大家分享一下我的经验.当然,网上教下载源码的教程较多,本文主要针对在GFW下下载源码出现的各种问题的解决方法. 1.首先安装下载客户端git , curl. 命令如 ...
- 通过清华大学镜像下载Android源码并编译源码
之前看源码都是在Windows下用SourceInsight看,虽然达到了研究源码的效果,但终究还是有遗憾...趁着周末,准备在Ubuntu虚拟机上下载编译源码. 之前下源码时,有了解一些Androi ...
- LLVM源码安装教程
LLVM4.0源码安装教程 环境:ubuntu16.04 llvm-4.0 clang-4.0 步骤: 1.依赖库安装,注意llvm的编译对gcc版本和cmake版本有要求,请根据版本进行匹配 $ s ...
- 直播平台源码搭建教程:微信小程序中的直播如何去掉水印
直播平台源码搭建教程:微信小程序中的直播如何去掉水印 本文与大家分享一下直播平台源码搭建教程,如何去掉直播视频的水印 var services = require('../../lib/service ...
随机推荐
- CSS line-height 和 vertical-align 精解(下篇)
申明本文转自:http://hi.baidu.com/wolongxzg/item/2383860ec8ac8b173a53eeb0 vertical-align 7.4.1 语法 vertical- ...
- easyui datagrid 的分页刷新按钮
datagrid 刷新bug: 情形: 当用户A,B 同时操作 datagrid时(记录1,记录2.记录3).如果A如果删除记录1, B此时已选中了记录1 ,记录2 , 这时B点击分页中的刷新按 ...
- Generic【Pluralsight】
prepare Employee Structure namespace CollectIt { public class Employee { public string Name { get; s ...
- VS2010开发环境最佳字体及配色[转]
从地址:http://www.dev-club.net/xiangxixinxi/42010072906150537/201103010518006.html 获取的,整理如下: 环境:VS2010字 ...
- Android studio启动后无法更新
I'm trying to run android-studio 1.0 on ubuntu using start up script but as i'm behind proxy the and ...
- Java学习笔记之方法重载,动态方法调度和抽象类
一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程 ...
- 用iframe设置代理解决ajax跨域请求问题
面对ajax跨域请求的问题,想用代理的方式来解决这个跨域问题.在服务器端创建一个静态的代理页面,在客户端用iframe调用这个代理 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到aja ...
- 安装nodejs和grunt以后出现 /usr/bin/env: node: No such file or directory
安装完成以后需要执行此命令 sudo ln -s /usr/bin/nodejs /usr/bin/node
- 怎样利用App打造自明星实现自盈利
怎样利用App打造自明星实现自盈利 1.了解各个概念 为了大家都能看懂这篇文章,先说明几个概念. App(Application):能够在移动设备上使用,满足人们咨询.购物. ...
- mysqldump 安全 --skip-add-drop-table
[root@localhost data]# mysqldump -uroot --master-data=2 -p --single-transaction --skip-add-drop-ta ...