2022版本的一些语法和之前版本不一样,阅读到后面请注意。

  1. 官网下载downloads文件和对应的sstate文件。
    sstate文件:ZYNQ-7000用 arm sstate-cache,ZYNQ-MPSOC用 aarch64 sstate-cache,microblaze用 microblaze sstate-cache。

  2. 将文件解压到linux里面你喜欢的文件夹。注意不要放在工程文件的目录下。我是分开解压的
    在这里插入图片描述

  3. 在你的工程目录的根目录下,打开命令行窗口,输入petalinux -config
    在这里插入图片描述

  4. 进入yocoto settings -> Add pre-mirror url
    输入刚才解压后的downloads文件夹的路径,之后在路径的最前面加上file://。例如file://~/xilinx_files/petalinux/source/downloads_2022.1_04190222/downloads

  5. 进入yocoto settings -> Local sstate feeds settings,输入刚才解压后的sstate文件夹的路径,不要在路径前面加上file://。我下载的是 aarch64 sstate-cache,所以路径输入~/xilinx_files/petalinux/source/sstate_aarch64_2022.1_04190222/aarch64

  6. 不要退出yocoto settings界面,打开工程文件根目录/project-spec/meta-user/conf/petalinuxbsp.conf文件,在文件末尾添加DL_DIR="",在双引号中间填上downloads文件夹的绝对路径。仍然以我为例:DL_DIR="/home/edaos/xilinx_files/petalinux/source/downloads_2022.1_04190222/downloads"
    然后继续添加SSTATE_DIR="",在双引号中间填上sstate文件夹的绝对路径,SSTATE_DIR="/home/edaos/xilinx_files/petalinux/source/sstate_aarch64_2022.1_04190222/aarch64"
    注意,不要用PREMIRRORS_prehend语法,否则会报 old override syntax的错误

  7. 保存文件,然后回到Yocoto Settings界面,进入Yocoto Settings ,在Enable BB no network前面打上星号(按Y) ,然后保存并退出。

  8. 出现如下字样就说明配置离线编译成功了,之后就不需要联网下载pkg了
    在这里插入图片描述

Logo

更多推荐