Yocto 构建目录

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

Yocto 构建目录:

需要更好地了解我的

${TMPDIR}/work
下自动创建了哪些目录以及用途。

我克隆了 poky 存储库并运行了

core-image-minimal
的基本构建,只是为了我的练习。

我在

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

$~/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

不确定哪个是哪个。

根据 Yocto 参考手册,预计有 2 个目录:

${PACKAGE_ARCH}-poky-${TARGET_OS}
${MACHINE}-poky-${TARGET_OS}

我的环境值为:

$ 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}
吗? 我看到 rootfs 和
core-image-minimal
的最终图像是在这里生成的。

x86_64-linux
all-poky-linux
指令有什么用?

很乐意澄清这一点。

谢谢, 巴拉克

linux yocto
2个回答
1
投票

有关详细列表,请查看 Yocto 文档。 最好先从 tmp 子文件夹开始,因为它们也在构建过程中创建:

构建统计 是每个配方的详细列表,其中列出了已执行的“do_”操作。包括执行时间、状态等

缓存 组件是否已构建并可供重复使用

部署 是生成的图像以及包以及许可证信息的占位符

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

日志 是炊具构建日志的占位符

pkg数据 保存每个包(RPM或DEB或IPKG等)内容的列表

状态控制 是每个特定配方“do_”操作生成的文件列表

邮票 每个食谱每个“do_”操作的哈希标记

sysroots 组件 是要放置到目标 rootfs 或构建 rootfs(如果是“native”(即在构建主机计算机上执行)配方

)的每个配方工件的列表

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

工作 是一组配方构建结果工件,包括配方依赖项

这是 work 示例列表:

所有狭小的linux 是一个与平台无关的不可执行的配方工件。通常包含图形、音频、设置文件、证书等

armv7vet2hf-neon-poky-linux-gnueabi 是一个“machine”特定的配方工件,构建为与前缀中通常提到的处理器系列执行兼容。例如“armv7vet2hf-neon

usx8001cnl-poky-linux-gnueabi 是一个“distro”特定配方工件,构建为在特定硬件设计上执行。名称前缀是产品的实际PCB设计/系列。例如“usx8001cnl

x86_64-linux 是 poky 提供的主机工具配方,由 Cooker 构建,用于代替实际交叉编译 yocto 构建的本机主机工具,并包含在构建环境的 PATH 变量中。在示例中,“x86_64”前缀表示这些工具是为要执行的 x86_64 (AMD64) 架构而构建的,但如果主机系统是基于 ARM64 的,它也可能是“aarch64”。


0
投票
  • all-poky-linux
    保存与架构无关的配方,如脚本。

  • x86_64-linux
    :用于保存为构建主机构建的配方,用于为目标机器构建其他配方。欲了解更多信息,请查看此链接

  • qemux86_64-poky-linux
    :保存特定于机器的配方,例如
    core-image-minimal
    ,因为它是包含仅特定于
    qemux86_64
    的包和启动/内核二进制文件/配置的映像。

  • core2-64-poky-linux
    :保存特定于架构的配方,仅在该架构上运行的配方。它在
    qemux86_64
    机器上运行,并且可以在与该架构兼容的其他机器上运行。

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