首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yocto构建目录

Yocto构建目录
EN

Stack Overflow用户
提问于 2022-06-27 07:05:29
回答 2查看 125关注 0票数 0

Yocto构建目录:

需要更好地理解在我的${TMPDIR}/work下自动创建的目录以及用于什么的目录。

我克隆了poky存储库,并为core-image-minimal运行了一个基本构建,这只是为了我的练习。

我在${TMPDIR}/work下创建了以下目录

代码语言:javascript
复制
$~/mrv_dev/yocto-training/build/tmp/work$ ls -la
total 16K
drwxr-xr-x   8 barak barak 4.0K Jun 24 07:25 all-poky-linux
drwxr-xr-x  84 barak barak 4.0K Jun 24 07:25 core2-64-poky-linux
drwxr-xr-x  11 barak barak 4.0K Jun 24 08:41 qemux86_64-poky-linux
drwxr-xr-x 145 barak barak 4.0K Jun 24 07:28 x86_64-linux

不知道哪个是哪个。

根据约克托参考手册,预期有两个目录:${PACKAGE_ARCH}-poky-${TARGET_OS} ${MACHINE}-poky-${TARGET_OS}

我的env值是:

代码语言:javascript
复制
$ bitbake -e --dry-run core-image-minimal | grep "^MACHINE="

MACHINE="qemux86-64"

$ bitbake -e --dry-run core-image-minimal | grep "^PACKAGE_ARCH="

PACKAGE_ARCH="qemux86_64"

$ bitbake -e --dry-run core-image-minimal | grep "^PACKAGE_EXTRA_ARCHS="

PACKAGE_EXTRA_ARCHS="x86_64 core2-64"

core2-64-poky-linux的预期是什么?这是${PACKAGE_ARCH}-poky-${TARGET_OS}吗?我在这里看到,所有的食谱都是在他们的工作目录下提取和构建的。

qemux86_64-poky-linux的预期是什么?这是${MACHINE}-poky-${TARGET_OS}吗?我看到core-image-minimal的rootfs和最终图像是在这里生成的。

x86_64-linuxall-poky-linux轮胎的用途是什么?

我很乐意澄清这一点。

谢谢,巴拉克

EN

回答 2

Stack Overflow用户

发布于 2022-06-27 14:29:05

  • all-poky-linux保存着与体系结构无关的菜谱,比如脚本。
  • x86_64-linux:用于保存为构建主机构建的菜谱,用于为目标机器构建其他菜谱。有关更多信息,请查看此链接
  • qemux86_64-poky-linux:保存特定于机器的菜谱,比如core-image-minimal,因为它是一个映像,包含包和仅针对qemux86_64的引导/内核二进制文件/配置。
  • core2-64-poky-linux:保存特定于体系结构的菜谱,只在该架构上运行的菜谱。它运行在qemux86_64机器上,也可以运行在与该体系结构兼容的其他机器上。
票数 0
EN

Stack Overflow用户

发布于 2022-07-06 10:19:18

最好先从tmp子文件夹开始,因为它们也是在构建过程中创建的:

buildstats是执行"do_“操作的每个菜谱的详细列表。包括执行时间、状态等。

缓存是已经构建并可重用的组件。

deploy是生成的映像、包以及许可证信息的位置持有者。

hosttools是构建系统所依赖的主机工具的存储。

log是炊具构建日志的位置持有人。

pkgdata保存每个包(RPM或DEB或IPKG等)的列表。

sstate-control是由每个特定的菜谱"do_“操作生成的文件列表。

邮票散列每个菜谱每个"do_“动作

sysroots-components是在发生“本机”(即在构建主机上执行)时,要放置到目标rootfs或构建rootfs的每个菜谱构件的列表。

sysroots-uninative是构建rootfs的工具链共享库部分。

work是一组菜谱生成结果工件,包括菜谱依赖项。

下面是work示例列表:

all-poky-linux是一个平台不可知论的non-executable配方构件。通常包含图形、音频、设置文件、证书等。

armv7vet2hf-neon-poky-linux-gnueabi是一个特定于"machine“的配方构件,构建它是为了与通常在前缀中提到的处理器族兼容的。示例"armv7vet2hf-neon

usx8001cnl-poky-linux-gnueabi是一个“分发版”特定的配方工件,构建用于在特定硬件设计上执行。名称前缀是产品的实际PCB设计/家族。示例"usx8001cnl

x86_64-linux是poky提供的一种主机工具菜谱,用于实际交叉编译yocto构建时使用而不是本地主机工具,并且包含在构建环境的路径变量中。例如," x86_64 “前缀是为执行x86_64 (AMD64)体系结构而构建的工具,但如果主机系统是基于ARM64的,也可以是"aarch64”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72768131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档