添加特定包后 Yocto Image 文件大小减小

Yocto Image file size reduces after adding a particular package

我使用以下配置构建了一个 core-image-sato 镜像:

MACHINE = "intel-core2-32"

生成的图像大小将近 1.2 GB。

添加 "x11vnc" 包后,大小减少到 380 MB。此映像无法在硬件上成功启动。

为什么图片尺寸没有变大而是变小了

我们如何调试出错的地方?

您使用的 core-image-sato 镜像继承了 core-image.bbclass,它使用 ?= 运算符设置默认值 IMAGE_INSTALL。

这意味着如果您尝试在使用 ?= 运算符设置默认值之前使用 += 运算符扩展 IMAGE_INSTALL,则永远不会添加默认值。因此,它并没有按原意添加 x11vnc,而是最终成为 IMAGE_INSTALL 的唯一内容,这使得图像无法启动且不完整。

使用 IMAGE_INSTALL_append = " x11vnc " 它应该可以正常工作。

您可以在 bitbake manual 中阅读不同运算符的详细信息。