软件获取
注意:
(1)推荐在 X86_64 Ubuntu 16.04 或者X86_64 Ubuntu 20.04系统环境下进行开发,不要使用X86_64 Ubuntu 20.04以上的版本,若使用其它系统版本,可能需要对编译环境做相应调整。(2)同步代码Python版本号的要求:电脑系统安装的 python 的版本要使用 Python 2.7,不然会导致同步代码报错。
(3)使用普通用户进行编译,不要使用 root 用户权限进行编译。
一 获取源码方法
1.1 提供public key
在获取源码之前,都需要把你开发电脑上的相应的 public key发送给我司进⾏添加,从⽽得到获取源码的下载权限。本地电脑获取public key的⽅法如下:
如果本机还没有 ssh public key,可以通过以下⽅法⽣成, 打开⼀个终端输⼊下列命令:
jiangwen@uws:~/work/x1000/zk_external_git_test$ ssh-keygen
//输⼊ ssh-keygen 后,使⽤ 默认配置,⼀路回⻋直到完成即可
jiangwen@uws:~/work/x1000/zk_external_git_test$ cat ~/.ssh/id_rsa.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQCpl0B4jXob25BV9lK+/DdSz8Grxb4OUvbflo2c/POp5/ZZd
bIvnyebs8Dy2nA8KcpRMBP5rx7KcGJ1We/Khv6xvdSypYDdymZgfMAjoSqTQOtGrpkYAWNMkB4qh
cfKUeVTRh0Y9qfbxdO6iAZ7yOeuwr4D5oK71ZJ2FImVy/X35ENQL4ct2bABBSKC8NR0nRbuD6m37f
Ns2jFXkSWHI+jJcr3pRvhdSpFLWQqDmeVd9StfndnD2j42eM8bHdCJSqGNYEZLcEjSn0udS7H7mrAaI
kqGUkoZKhdKv7Q19kJPJW+qGXt/cd9W2dZLoLtm/NmpDIk4CZe54nD5mM/zKTdh jiangwen@uws
请把 id_rsa.pub 内容或文件给到我们。
同一份代码后期同步更新请直接使用 ./repo sync 命令 。
1.2 Repo ⼯具下载
$ mkdir project_workspace
$ cd project_workspace
$ wget http://git.ingenic.com.cn:8082/bj/repo
$ chmod +x repo
1.3 同步代码
同步代码的地址如下:
./repo init -u ssh://sz_halley2@119.136.25.25:29418/mirror/freertos/manifest.git
./repo sync
如若报错可使⽤http同步⽅式:
./repo init -u http://sz_halley2@119.136.25.25:8089/mirror/freertos/manifest.git
./repo sync
注意:
1, 对于外部客⼾来说,这⾥的帐号不⽤修改,直接使⽤sz_halley2就可以。
2, 客⼾下载代码的⽬录路径要⽤全英⽂的,不要带有特殊符号的那种,不然编译可能会有问题
1.4 同步代码可能遇到的问题
主要是因为系统环境,⽹络环境不⼀致导致在同步⼯程过程中出现的⼀些报错信息的解决⽅法。
这⾥的获取代码是基于Ubuntu14.04 64bit的环境进⾏的。
问题1: Unable to negotiate with xxx.xxx.xxx.xxx port 29418: no matching key exchange method found.
Their offer: diffie-hellman-group1-sha1
解决方法:
请修改~/.ssh/config,加入
Host *
KexAlgorithms +diffie-hellman-group1-sha1
若没有 config 文件请建立一个
问题2:-bash: ./repo: No such file or directory
解决⽅法:
系统缺少repo⼯具或没有添加环境变量
wget http://git.ingenic.com.cn:8082/bj/repo (注:此链接的repo⼯具为君正修改过后放在服务器上 的,也可使⽤⾕歌提供的repo⼯具)
chmod +x repo
问题3:Permission denied (publickey).
fatal: Could not read from remote repository.
解决⽅法:
请确认是否有权限同步代码,同步代码需提交key于我司开通权限
问题4:Their offer: diffie-hellman-group1-sha1
解决⽅法:
修改~/.ssh/config,加⼊
Host *
KexAlgorithms +diffie-hellman-group1-sha1
问题5:aes128-ctr,aes192-ctr,aes256-ctr
解决⽅法:
修改 /etc/ssh/ssh_config ⽂件
删除Ciphers aes128-ctr,aes192-ctr,aes256-ctr….⾏前注释符号
问题6:git config --global user.name "yourname"
git config --global user.email your@email.com
解决⽅法:
若不需要提交代码⾄服务器可直接跳过执⾏后续步骤
若需要提交代码请根据提⽰命令注册姓名及邮箱地址
git config --global user.name "your name"
git config --global user.email "you email"
问题7:Traceback (most recent call last)
File "/home/jdai/work/test1/.repo/repo/main.py", line 385, in _Main(sys.argv[1:])
File "/home/jdai/work/test1/.repo/repo/main.py", line 365, in _Main result = repo._Run(argv) or 0
File "/home/jdai/work/test1/.repo/repo/main.py", line 137, in _Run
解决⽅法:
rm –rf .repo (repo前⾯有.)
./repo init –u ssh://……….
使⽤repo init 同步没有执⾏完会产⽣缓存需删除缓存后再次执⾏。
问题8:Testing colorized output (for 'repo diff', 'repo status')
black red green yellow blue magenta cyan white bold dim ul reverse
Enable color display in this user account (y/N)?
解决⽅法:
直接按回⻋键
注意:若在同步过程中⻓时间卡住不动,有可能是因为库太⼤,或进程卡死,请ctrl+c 键退出再执 ⾏,⽀持断点续传。
问题9:Bad owner or permissions on .ssh/config
解决⽅法:
sudo chmod 600 .ssh/config