IMAGE_INSTALL 和 CORE_IMAGE_EXTRA_INSTALL 有什么区别

What's the difference between IMAGE_INSTALL and CORE_IMAGE_EXTRA_INSTALL

似乎(IMAGE_INSTALLCORE_IMAGE_EXTRA_INSTALL)都可以将包添加到 yocto 图像中。

它们有什么区别?

我检查了这个问题:

Yocto: Difference between CORE_IMAGE_EXTRA_INSTALL and IMAGE_INSTALL

但是我还是不明白他们有什么区别

IMAGE_INSTALL 是控制任何图像中包含的内容的变量。

CORE_IMAGE_EXTRA_INSTALL 是一个方便的变量,使您能够根据核心图像 class [1].

向图像添加额外的包

因此,如果您使用的是基于 core-image 的图像,那么将某些内容添加到 CORE_IMAGE_EXTRA_INSTALL 只是将其添加到 IMAGE_INSTALL 的另一种方式。但是,如果您不使用基于核心图像的图像,则向 CORE_IMAGE_EXTRA_INSTALL 添加一些内容将无济于事。

有时在向 IMAGE_INSTALL 添加内容时很容易出错,例如如果您从 local.conf 执行 IMAGE_INSTALL += "foo" 它将有效地替换在 core-[= 中完成的默认惰性赋值31=] 导致无法启动映像。但是在 local.conf 中执行 CORE_IMAGE_EXTRA_INSTALL += "foo" 不会中断,因为它没有使用惰性运算符设置的基本内容。

  1. https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/classes/core-image.bbclass