莱因电博

Li-e.cn

Li Internet Electronic Blog
@rss

Yocto 工程迁移

Move Yocto Project to a new server

————————————————————

1. 检查工程目录

  1. 一般根目录只有 yocto-project 文件夹

  2. 进入文件夹,查看工程

    lets@hoyolab:~/yocto-project$ ls
    COM-LS46-1001  downloads  README  real-time-edge-setup-env.sh  SDK-RTEdge_2.3  setup-environment  sources  sstate-cache
    
    • COM-LS46-1001:只需要保留 layer 目录,将其打包下载。conf 可以在新环境生成
    • Dowmload: 压缩打包
    • README 、 real-time-edge-setup-env.sh 和 setup-environment: 下载
    • source: 压缩打包
    • SDK-RTEdge_2.3:删除掉里面的 tmp 、sstate-cache ,打包下载

2. 拷贝工程

  1. 按照当前目录结构拷贝新文件到新环境

    可以使用scp:

    scp <file> user@<ip>:<dir>
    scp -r <dir> user@<ip>:<dir>
    

    * 建议目标服务器使用绝对目录

3. 设置新环境

  1. 在新主机创建一些软连接

    leee@etek:~/yocto-project$ ls
    COM-LS46-1001  downloads SDK-RTEdge_2.3  sources
    leee@etek:~/yocto-project$ ln -s sources/meta-real-time-edge/tools/real-time-edge-setup-env.sh real-time-edge-setup-env.sh
    leee@etek:~/yocto-project$ ln -s sources/base/setup-environment setup-environment
    leee@etek:~/yocto-project$ ln -s sources/base/README README
    leee@etek:~/yocto-project$ ls
    COM-LS46-1001  downloads README  real-time-edge-setup-env.sh  SDK-RTEdge_2.3  setup-environment  sources
    leee@etek:~/yocto-project$
    
  2. 设置环境

    $ DISTRO=nxp-real-time-edge MACHINE=ls1046ardb source real-time-edge-setup-env.sh -b COM-LS46-1001
    

    执行上述代码会在 ~/yocto-project/COM-LS46-1001 目录下生成一个 conf 文件夹,现在要把原工程的配置文件添加进去。

    修改 layer 配置,修改 bblayers.conf 文件,文件末尾添加:

    BBLAYERS += "/home/<当前用户>/yocto-project/COM-LS46-1001/meta-ls1046a-factory"
    

    指定 SSTATE 缓存目录(可加可不加),在 local.conf 添加:

    SSTATE_DIR="${BSPDIR}/sstate-cache"

  3. 编译一次检查有没有什么问题

    $ bitbake nxp-image-real-time-edge
    

4. 使用新环境

  1. 使用新环境

    source setup-environment <build-dir>
    
(C) 2019 - 2024 Li-e.cn莱因电博(立网电子博客) | Powered by Vercel , based on Hugo with Gists theme.