源码下载
您可以到全志客户服务平台获取相关源码:全志客户服务平台-资源下载
具体步骤如下。
登录全志客户服务平台官网
全志客户服务平台官网:全志客户服务平台
注册账号
点击“立即注册”进行注册,注册表示同意全志科技相关用户协议。这里为了演示注册了一个用户名为123456的账号,请记住你的用户名,之后需要使用。
生成钥匙对
首先我们需要一个钥匙对作为身份认证。打开之前配置好的Linux环境,这里演示使用的环境为 Ubuntu 20.04。
整个配置钥匙对的过程都不要切换账号,也不要使用sudo,之后下拉源码也不要使用sudo命令切换用户
虚拟机安装请参考:编译环境配置 章节
我们先检查下虚拟机之前是否配置过钥匙对,输入
ls ~/.ssh
很好,之前没有配置过,这里找不到文件夹。
接下来使用 ssh-keygen
命令生成钥匙对。
ssh-keygen -t rsa
询问保存的路径,这里直接回车就行了。默认路径最省心。
询问钥匙对的密码,这里直接回车,不需要输入密码
让你再输入一遍确认密码,回车就行了不需要输入
好的,你的钥匙对就生成完成了。
我们查看一下生成的钥匙对
ls -l ~/.ssh/
看到前面的-rw-------
了吗,确认权限必须是与这里的一样,否则钥匙对配置错误。需要删了 .ssh
文件夹重来
-rw------- 1 allwinner allwinner 2622 8月 12 14:57 id_rsa
-rw-r--r-- 1 allwinner allwinner 584 8月 12 14:57 id_rsa.pub
其中的 id_rsa.pub
是公钥文件,要上传全志客户服务平台的。密钥文件 id_rsa
本地保留就行了。可以使用cat
命令导出公钥。
cat ~/.ssh/id_rsa.pub
项目显示的那一大串字符就是公钥。
添加公钥
登录账号,点击上方菜单栏【资源下载】 左侧菜单栏的【公钥管理】找到右上角【创建】添加公钥,将刚才获得的公钥添加到此处(cat
命令输出的全部内容),名称可以随便起一个,不影响其他操作。
确认钥匙对配置
现在可以测试一下钥匙对配置,使用命令(记得将 username
替换成自己账号的用户名)
ssh username@sdk.allwinnertech.com
没让输入密码,配置成功。
SDK下载地址
点击【资源下载】--> 【SDK目录】--> 【V853】,可以看到 Tina5.0_open
,点击下载会提示相关下载命令操作
安装repo引导脚本
下载Tina前需要使用AW提供的引导脚本和repo仓库,如已安装了google官方引导脚本,请将官方引导脚本替换成AW提供的引导脚本,两者不兼容。
使用 git
命令从全志服务器下载安装repo引导脚本,将 username
替换成账号的用户名
tina@VirtualBox:~$ git clone ssh://username@sdk.allwinnertech.com/git_repo/repo.git
这里我注册的用户的用户名是123456,所以使用 123456 作为用户名替换上面的 username
。当询问 Are you sure you want to continue connecting (yes/no)?
的时候需要输入 yes
tina@VirtualBox:~$ git clone ssh://123456@sdk.allwinnertech.com/git_repo/repo.git
Cloning into 'repo'...
The authenticity of host 'sdk.allwinnertech.com (192.168.82.12)' can't be established.
ECDSA key fingerprint is SHA256:4/KSpPDtBnMDCx6aIqGWqTZqGG68yfZql5n3mI7zEqk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'sdk.allwinnertech.com,192.168.82.12' (ECDSA) to the list of known hosts.
remote: Counting objects: 4032, done.
remote: Compressing objects: 100% (1262/1262), done.
remote: Total 4032 (delta 2733), reused 3932 (delta 2709)
Receiving objects: 100% (4032/4032), 977.88 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2733/2733), done.
Checking connectivity... done.
如果遇到需要输入密码的情况,如下所示:
allwinner@VirtualBox:~$ git clone ssh://123456@sdk.allwinnertech.com/git_repo/repo.git
Cloning into 'repo'...
The authenticity of host 'sdk.allwinnertech.com (192.168.82.12)' can't be established.
ECDSA key fingerprint is SHA256:4/KSpPDtBnMDCx6aIqGWqTZqGG68yfZql5n3mI7zEqk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'sdk.allwinnertech.com,192.168.82.12' (ECDSA) to the list of known hosts.
123456@sdk.allwinnertech.com's password:
这是钥匙对配置错误的问题。请检查:
ls ~/.ssh/
是否有钥匙对~/.ssh/
文件夹下是否存在多个钥匙对,是否选择了正确的钥匙对ssh
是否应用了钥匙对的设置~/.ssh/
文件夹的权限是否为700
(drwx------
)- 客户服务平台的公钥是否提交并匹配本地密钥
- 用户名大小写是否一致
然后repo
就clone
到本地了,可以使用 ls
列出
tina@VirtualBox:~$ ls
repo
修改repo/repo
文件中下面一行,将username
替换成客户下载账号的用户名,例如这里的123456。
REPO_URL='ssh://username@sdk.allwinnertech.com/git_repo/repo.git'
改为
REPO_URL='ssh://123456@sdk.allwinnertech.com/git_repo/repo.git'
保存,退出即可。
最后还需要把repo
引导脚本添加到自己计算机环境变量中
cp repo/repo /usr/bin/repo
chmod 777 /usr/bin/repo
如果报错 Permission denied
请使用 sudo
# 使用sudo前
tina@VirtualBox:~$ cp repo/repo /usr/bin/repo
cp: cannot create regular file '/usr/bin/repo': Permission denied
# 使用sudo后
tina@VirtualBox:~$ sudo cp repo/repo /usr/bin/repo
tina@VirtualBox:~$ sudo chmod 777 /usr/bin/repo
即可使用,输入 repo help
测试是否成功
tina@VirtualBox:~$ repo help
usage: repo COMMAND [ARGS]
repo is not yet installed. Use "repo init" to install it here.
The most commonly used repo commands are:
init Install repo in the current working directory
help Display detailed help on a command
For access to the full online help, install repo ("repo init").
如果报错以下内容,重新检查之前的环境变量是否正确配置,repo有没有下载成功。
tina@VirtualBox:~$ repo help
No command 'repo' found, did you mean:
Command 'repo' from package 'phablet-tools' (universe)
Command 'repo' from package 'repo' (universe)
Command 'rep' from package 'rep' (universe)
repo: command not found
下载 SDK
首先创建一个文件夹存放下载的 SDK
tina@VirtualBox:~$ mkdir tina-v853
进入刚才创建的文件夹中
tina@VirtualBox:~$ cd tina-v853
使用用户名123456
初始化repo仓库
tina@VirtualBox:~/tina-v853$ repo init -u ssh://123456@sdk.allwinnertech.com/git_repo/V853Tina_Open/manifest.git -b master -m tina-v853-open.xml
如果此时提示需要输入密码,请检查:
repo/repo
文件中的用户名是否已经修改- 是否使用了
google
官方的repo
引导脚本而不是AW
的repo
引导脚本 - 是否使用了
apt
下载的repo
引导脚本而不是AW
的repo
引导脚本 repo init -u
后面的初始化地址是否错误- 用户名大小写是否一致
如果此时提示 fatal: manifest 'xxxxx.xml' not available
,请检查 repo init -u
后面的初始化地址是否错误
如果此时提示 fatal: empty ident name (for <xxxx>) not allowed
请使用下面的命令配置git用户名与邮箱。
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
发生以上错误后请 rf -rf .repo
文件夹再重新尝试拉取。
之后 repo 引导脚本会提示是否使用彩色终端输出,输入 y
允许即可。
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)?
最后,使用 repo 引导脚本同步仓库即可,同步完成后会自动签出 sdk
的代码,创建分支开始开发
tina@VirtualBox:~/tina-v853$ repo sync
tina@VirtualBox:~/tina-v853$ repo start product-v853 --all
参考链接
全志客户服务平台指南:全志客户服务平台-资源下载