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"