跳转至

源码下载

您可以到全志客户服务平台获取相关源码:全志客户服务平台-资源下载
具体步骤如下。

登录全志客户服务平台官网

全志客户服务平台官网:全志客户服务平台
image-20210304100944411

注册账号

点击“立即注册”进行注册,注册表示同意全志科技相关用户协议。这里为了演示注册了一个用户名为123456的账号,请记住你的用户名,之后需要使用。

image-20210304101119394

生成钥匙对

首先我们需要一个钥匙对作为身份认证。打开之前配置好的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命令输出的全部内容),名称可以随便起一个,不影响其他操作。

image-20210304102808035

确认钥匙对配置

现在可以测试一下钥匙对配置,使用命令(记得将 username 替换成自己账号的用户名)

ssh username@sdk.allwinnertech.com 

没让输入密码,配置成功。

SDK下载地址

点击【资源下载】--> 【SDK目录】--> 【V853】,可以看到 Tina5.0_open,点击下载会提示相关下载命令操作

image-20220620145927382

安装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------)
  • 客户服务平台的公钥是否提交并匹配本地密钥
  • 用户名大小写是否一致

然后repoclone到本地了,可以使用 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引导脚本而不是AWrepo引导脚本
  • 是否使用了apt下载的repo引导脚本而不是AWrepo引导脚本
  • 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

参考链接

全志客户服务平台指南:全志客户服务平台-资源下载