petalinux是一个联网开发工具,构建工程时需要联网下载很多资源包。如果开发环境上网受限,我们可以考虑搭建离线开发环境。
赛灵思给我们提供了这样的路径,也就是本文要讲的设置使用local sstate的方法。
1. xilinx官网注册后下载downloads文件和片子对应的sstate-cache文件
本文以2022.2版本为例
下载地址:下载
2. 解压
这里要注意磁盘空间
[xxx@localhost support]$ ls
aarch64 downloads downloads_2022.2_10071807.tar.gz sstate_aarch64_2022.2_10071807.tar.gz
[xxx@localhost support]$ du -sh
144G .
[xxx@localhost support]$ pwd
/home/Xilinx/PetaLinux/support
3. 配置过程
在工程目录下执行petalinx-config
[xxx@localhost xilinx-zcu104-2022.2]$ petalinux-config
第一步:选择Yocto Settings --->
第二步:选择Local sstate feeds settings --->
第三步:填入sstate解压后的文件目录
第四步:选择Add pre-mirror url --->
第五步:填入downloads加压后的文件目录,前面要加上file://
第六步:去掉网络资源勾选
4. 编译
petalinux-build
如果无法使用本地资源包,进到工程目录下修改project-spec/configs/config文件
添加:
DL_DIR="/home/Xilinx/PetaLinux/support/downloads"
SSTATE_DIR="/home/Xilinx/PetaLinux/support/aarch64"