软件获取
1 开发环境
请最好使用Ubuntu,Deepin 64位系统。
注意:
(1)推荐在 X86_64 Ubuntu 16.04 或者X86_64 Ubuntu 20.04系统环境下进行开发,不要使用X86_64 Ubuntu 20.04以上的版本,以下操作以mint-20.3系统为例.以下操作不要使用root账户,避免在编译时出现问题
2 授权开通
下载我们的开发资料需要我们开通授权以后才能下载,开通步骤:
2.1 生成SSH KEY
chenwy@ubuntu:~$ ssh-keygen
输入ssh-keygen后,使用默认配置,一路回车直到完成即可
Generating public/private rsa key pair.
Enter file in which to save the key (/home/chenwy/.ssh/id_rsa):
Created directory '/home/chenwy/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/chenwy/.ssh/id_rsa.
Your public key has been saved in /home/chenwy/.ssh/id_rsa.pub.
The key fingerprint is:
0a:be:c9:55:e9:ec:59:57:ce:d8:14:e7:83:b4:a9:33 chenwy@ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| .. .|
| . . ++ |
| . S +o..|
| . . = .B .|
| . o o .Eo + |
| . + . o .o |
| + o |
+-----------------+
2.2 授权开通
将生成好的id_rsa.pub发送给我们,其所在位置:
ingenic@ingenic:~$ cd ~/.ssh
ingenic@ingenic:~/.ssh$ cat id_rsa.pub
3 SSH本地配置
3.1 配置用户config
ingenic@ingenic:~/.ssh$ cd ~/.ssh
ingenic@ingenic:~/.ssh$ vim config
ingenic@ingenic:~/.ssh$ sudo apt install vim //系统未安装vim先安装vim
ingenic@ingenic:~/.ssh$ vim config
在config中加入以下信息:(如果当前目录下没有config,则新建一个)
Host *
KexAlgorithms +diffie-hellman-group1-sha1
3.2 配置ssh_config
ingenic@ingenic:~$ sudo vim /etc/ssh/ssh_config
找到如下一行,将注释去掉:
#Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
4 Git环境安装
4.1 安装Git及Gitk
ingenic@ingenic:~$ sudo apt install git
ingenic@ingenic:~$ sudo apt install gitk
按提示完成git安装
4.2 配置Git
请将双引号里的内容替换成你自己。
ingenic@ingenic:~$git config --global user.email "you@example.com"
ingenic@ingenic:~$git config --global user.name "Your Name"
请等待我们开通权限后再进行下面的操作
5 代码下载
5.1 repo工具下载
ingenic@ingenic:~$ mkdir linux //创建工程目录
ingenic@ingenic:~$ cd linux/
ingenic@ingenic:~/linux$ wget http://git.ingenic.com.cn:8082/bj/repo
ingenic@ingenic:~/linux$ chmod +x repo
5.2 代码同步
ingenic@ingenic:~/linux$./repo init -u ssh://sz_halley2@119.136.25.25:29418/mirror/linux/manifest
ingenic@ingenic:~/linux$./repo sync
请直接复制代码,不要修改sz_halley2的用户名
5.3 代码目录介绍
代码目录介绍,工程目录
5.4 编译依赖环境
sudo apt install python2 //编译需要python2.x的版本,python3.x的版本会报错
sudo ln -s /usr/bin/python2 /usr/bin/python
sudo apt-get install libc6-dev
sudo apt-get install g++
sudo apt-get install u-boot-tools
sudo apt-get install libncurses5-dev
sudo apt-get install libssl-dev
配置5.1的kernel需要添加环境变量
sudo apt install gedit
gedit ~/.bashrc
添加工程目录的工具链
export PATH=/home/ingenic/linux/tools/toolchains/mips-gcc720-glibc229/bin/:$PATH // /home/ingenic/linux是前面自己创建的工程目录
6 代码下载问题总结
6.1 代码同步中常见问题及解决方法
问题1:-bash: ./repo: No such file or directory
解决方法:
系统缺少repo工具或没有添加环境变量
wget http://git.ingenic.com.cn:8082/bj/repo (注:此链接的repo工具为君正修改过后放在服务器上的,也可使用谷歌提供的repo工具)
chmod +x repo
问题2:Permission denied (publickey).
fatal: Could not read from remote repository.
解决方法:
请确认是否有权限同步代码,同步代码需提交key于我司开通权限
问题3:Their offer: diffie-hellman-group1-sha1
解决方法:
修改~/.ssh/config,加入
Host *
KexAlgorithms +diffie-hellman-group1-sha1
问题4:aes128-ctr,aes192-ctr,aes256-ctr
解决方法:
修改 /etc/ssh/ssh_config 文件
删除Ciphers aes128-ctr,aes192-ctr,aes256-ctr….行前注释符号
问题5: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"
问题6: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 同步没有执行完会产生缓存需删除缓存后再次执行。
问题7: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 键退出再执行,支持断点续传。
问题8:Bad owner or permissions on .ssh/config
解决方法:
sudo chmod 600 .ssh/config
注意同步代码的时候,需要使用python2.x的版本,python3.x的版本会报错