介绍:
PetaLinux基于Yocto,每次创建或者编译工程下载都需要联网下载工程所需文件,且下载的文件非常庞大,这就导致编译速度还受网络影响导致耗时较长。但是如果改成使用本地缓存文件进行离线编译则可大大缩短时间。
1、下载sstate-cache和downloads
在官网PetaLinux找到对应版本下载页面,链接: link
下载下图画横线的2个文件(arm sstate-cache与下载)
下载完成后,解压sstate-cache和downloads,到某一文件夹内。
如我创建了一个文件share_petalinux_file,把sstate-cache和downloads放进去。
另一种方法:下载的文件确实有点大,还有一种办法。
就是把你已经可以编译完成的工程里面的sstate-cache和downloads复制到某一文件夹。
路径在:…/build/sstate-cache和…/build/downloads.
2、设置本地sstate-cache和downloads路径
在petalinux工程路径下输入命令:
petalinux-config
选择Yocto Settings —> Add pre-mirror url 添加路径downloads信息
file:///home/sudaroot/workspace/petalinux/share_petalinux_file/downloads
选择Yocto Settings —> Local sstate feeds settings 添加路径sstate-cache信息
/home/sudaroot/workspace/petalinux/share_petalinux_file/sstate-cache/aarch64
选中 Enable Network sstate feeds 和 Enable BB NO NETWORK
检查一下Network sstate feeds URL内容
http://petalinux.xilinx.com/sswreleases/rel-v${PETALINUX_VER%%.*}/arm/sstate-cache
保存退出。
附:yocto设置选项说明如下表:
3、编译
清除工程编译信息和镜像
petalinux-build -x mrproper -f
重新编译
petalinux-build
参考:
《ug1144-petalinux-tools-reference-guide v2019.1中文版.pdf》
《ug1144-petalinux-tools-reference-guide v2021.1.pdf》