Yocto 工程迁移
Move Yocto Project to a new server
————————————————————
1. 检查工程目录
-
一般根目录只有
yocto-project
文件夹 -
进入文件夹,查看工程
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. 拷贝工程
-
按照当前目录结构拷贝新文件到新环境
可以使用scp:
scp <file> user@<ip>:<dir> scp -r <dir> user@<ip>:<dir>
* 建议目标服务器使用绝对目录
3. 设置新环境
-
在新主机创建一些软连接
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$
-
设置环境
$ 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"
-
编译一次检查有没有什么问题
$ bitbake nxp-image-real-time-edge
4. 使用新环境
-
使用新环境
source setup-environment <build-dir>