如何更改 yocto 中内核的部署和安装位置?

问题描述 投票:0回答:1

当我构建 yocto 时,我在

build/tmp/deploy/images/<machine>/
中获取了内核镜像和设备树。设备树和覆盖层也位于同一位置。

我想将部署位置更改为子目录

kernel/
,并覆盖在
kernel/overlays/
中。

配方中是否有内置变量可以执行此操作?

yocto openembedded yocto-recipe
1个回答
0
投票

使用

openembedded-core/oe-init-build-env
shell 脚本生成用于在 yocto 中构建图像的环境,您可以更改
<build_dir>
。它是接收文件的第一个参数。然而,从那时起,yocto 结构需要保持相同,否则将无法找到配方的不同依赖项并构建图像。

您可以做什么,而不是仅仅使用环境变量

MACHINE
来生成构建文件夹,您可以添加另一个来在建筑物之间产生差异(仍然通过状态缓存和下载连接)。

例如,我使用环境变量

OEM_PROFILE
来分隔构建目录,并以一种有组织的方式来查找我创建的图像。尽管如此,您创建的每个构建文件夹的树结构将保持不变:

# Your building dir of choice
$ tree -L 1  
.
├── bitbake-cookerdaemon.log
├── cache
├── conf
├── downloads
├── pn-buildlist
├── sstate-cache
├── task-depends.dot
├── tmp
└── workspace
# Now the root of the build folder could look like this
tree -L 1
.
├── build
     ├── build_1
     ├── build_2
     ├── build_3
├── downloads
└── sstate-cache

你必须小心,不要使用同一个终端来构建两个图像,因为你会弄乱你的设置。

© www.soinside.com 2019 - 2024. All rights reserved.