NOTE
- 解决因为网络原因产生的编译错误
- 分享详细的解决步骤
报错的情况
因为网络原因产生编译错误
现象
- 找不到适合的包文件(No suitable stageing package found)
- 不能发现文件(Fetcher failure for URL)
解决方法
采用本地加载本地文件的方式,步骤如下
-
进入xilinx官网:链接: link
-
选择对应的版本号并单击,我的是2020.2
-
向下翻页,找到Petalinux Tools(我的板子是zynq ultrascale+系列,所以选择aarch64)
- 如果是zynq 7000系列的请选择第二个下载: arm sstate-cache
- 都需要下载的:下载 (TAR/GZIP - 36.01 GB)
- 上面两个文件分别解决现象一和二
-
将下载的压缩包解压到合适的位置
我的解压位置分别为(记住这个位置)
/opt/pkg/petalinux/sstate/sstate/sstate_aarch64_2020.2/aarch64
/opt/pkg/petalinux/downloads/downloads/downloads -
使用petalinux-config 配置工程
-
使用petalinux-config命令,向下翻找到最下面的Yocto Settings进入
-
设置本地sstate:Yocto Settings —>Local sstate feeds settings—>local sstate feeds url
-
输入 /opt/pkg/petalinux/sstate/sstate/sstate_aarch64_2020.2/aarch64
-
设置本地downloads:Yocto Settings —>Add pre-mirror url
-
输入 file:///opt/pkg/petalinux/downloads/downloads/downloads
-
取消勾选 Enable Network sstate deeds
-
勾选 Enable BB NO NETWOEK
-
-
声明qemu路径
- 进入工程目录下找到project-spec/meta-user/conf/petalinuxbsp.conf文件
- 添加路径(路径需要于设置本地downloads的路径一致)
- 进入工程目录下找到project-spec/meta-user/conf/petalinuxbsp.conf文件
PREMIRRORS_prepend = " \
git://.*/.* file:///opt/pkg/petalinux/downloads/downloads/downloads \n \
gitsm://.*/.* file:///opt/pkg/petalinux/downloads/downloads/downloads \n \
ftp://.*/.* file:///opt/pkg/petalinux/downloads/downloads/downloads \n \
http://.*/.* file:///opt/pkg/petalinux/downloads/downloads/downloads \n \
https://.*/.* file:///opt/pkg/petalinux/downloads/downloads/downloads \n"