添加特定包后 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 中阅读不同运算符的详细信息。
我使用以下配置构建了一个 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 中阅读不同运算符的详细信息。