立创泰山派训练营-WSL2使用Docker编译泰山派tspi的SDK
2024年3月 · 预计阅读时间: 6 分钟
本文是在使用WSL2编译立创泰山派SDK时的一些笔记,也整合了网上很多大佬解决WSL2安装Docker,以及repo等方法。
关于如何下载WSL2可以参考我的另一个博客:立创泰山派tspi-Windows11安装与配置WSL2用于Linux开发
系统为Windows11 - Microsoft Windows [版本 10.0.22621.3007]
专业版
编译流程参考泰山派官方文档:https://lceda001.feishu.cn/wiki/Da5owUV4dipiqUkZycbcxckinvc
#
(1)创建Docker镜像新建一个目录,并进入(名字自己起)
创建一个文件,并编辑
插入以下内容:
同样在刚才的
dockerfile/
目录下,执行以下命令:此过程需要一段时间,请耐心等待
查看建立的镜像
#
(2)基于镜像创建容器先在自己的家目录创建一个存放SDK的空目录:
然后创建容器
注意:
source=
是我们要挂载的路径,就是刚才创建用来存放SDK的目录,这里需要更换成你自己的路径
target=
挂载到容器内用户目录的名称这使得容器内的应用程序可以访问并操作宿主机上的该目录。
name=
是我们指定的一个名字
-h lckfb
容器主机名字使用名为
lckfb_xly
的镜像来创建容器,之前docker build创建镜像时命名的
创建完成后,可以查看:
退出:
#
(3)下载SDK并解压使用百度网盘或者夸克云盘在第05章.【立创·泰山派】系统SDK - 飞书云文档 (feishu.cn)下载tspi_linux_sdk_repo_20240131.tar.gz
和buildroot_dl_4c7c9df616fb.tar.gz
前者是需要编译的SDK,后者是buildroot相关库(是防止你的网络比较差很有可能编译的时候自动下载失败报错,帮你下载好的库)。
将这两个文件移动到我们刚才创建的文件夹
tspi_linux_repo_sdk/
,记得换成你自己下载的路径哦,这时候我们WSL2用户的便捷性就体现出来了,可以直接进入windows盘里面移动拷贝文件。(当然如果你是虚拟机也没关系,自己安装平时传文件的方式就好)校验与解压
校验SDK:
得出的值应该是
a30f1d0fdb97ca994a82689fa26ba429
解压SDK:
解压完成后只有.repo目录我们还需要把代码同步出来
这里可能会缺少python,我们需要把python2和python3都装上 先检查一下:
我这里是没有python2,直接:
并且,如果系统中同时安装有 Python 2 和 Python 3,需要确保 /usr/bin/python 指向正确的版本,python 应指向 Python 2,而 python3 应指向 Python 3。可以使用 update-alternatives 来管理不同版本的 Python:
具体设置如下:
这样就可以继续执行
.repo/repo/repo sync -l -j88
, 等待完成:校验dl:
得出的值应该是
3b3b023ef9122f518e1e5dd00fc0fa0a
解压dl:
#
(4)启动Docker我们可以查看一下,发现其实docker容器内的用户目录就是
~/tspi_linux_repo_sdk/
目录的内容
#
(5)选择泰山派配置可以进入下面的目录.mk
文件查看编译配置:
第34行可以修改以 RK_JOBS 进程进行编译
回到家目录,选择配置文件位tspi的:
补充:在docker中执行命令的时候可能会有权限问题,每次执行命令都需要使用sudo。下面我给出我问GPT解决方法:
可能您之前以 root 用户运行了构建脚本,然后再以非 root 用户运行,导致文件所有权或权限问题。尝试手动清理或确保总是以相同的用户身份运行构建脚本。
来自你的消息:
确实我这个文件有很多root用户的,应该怎么办?
来自AI的消息: 由于文件和目录是由 root 用户拥有的,而您是以普通用户(cheng)运行 build 脚本,因此遇到了权限不足的问题。解决这个问题,您需要将这些文件的所有权从 root 用户更改为您的用户账户(cheng)。
以下是您可以使用的命令:
请将
/path/to/your/files
替换为您需要更改所有权的具体文件或目录的路径。在您给出的例子中,如果您想更改~/tspi_linux_repo_sdk
目录下所有文件和子目录的所有权,您可以执行:
chown
命令会更改文件的所有者,-R
选项意味着执行递归操作,即对指定目录下所有的文件和子目录都进行所有者修改。请注意,在使用
sudo
执行这些命令之前,确保您清楚这些命令的作用,并且您有足够的权限进行这些更改。更改文件所有权可以解决权限问题,但也要确保不会影响您的构建环境的有效性和安全性。在更改所有权之后,您应该能够以您的用户身份再次运行
./build.sh all
脚本,而不会遇到权限问题。
#
(6)编译编译过程中会让你电源选择,按照下面表格就行:
引脚 | PMUIO2 | VCCIO1 | VCCIO3 | VCCIO4 | VCCIO5 | VCCIO6 | VCCIO7 |
---|---|---|---|---|---|---|---|
1.8 V(1800000) | √ | √ | |||||
3.3 V(3300000) | √ | √ | √ | √ | √ |
编译完成,还需在执行固件打包: