需要更好地了解我的
${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
指令有什么用?
很乐意澄清这一点。
谢谢, 巴拉克
有关详细列表,请查看 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”。
all-poky-linux
保存与架构无关的配方,如脚本。
x86_64-linux
:用于保存为构建主机构建的配方,用于为目标机器构建其他配方。欲了解更多信息,请查看此链接
qemux86_64-poky-linux
:保存特定于机器的配方,例如core-image-minimal
,因为它是包含仅特定于qemux86_64
的包和启动/内核二进制文件/配置的映像。
core2-64-poky-linux
:保存特定于架构的配方,仅在该架构上运行的配方。它在 qemux86_64
机器上运行,并且可以在与该架构兼容的其他机器上运行。