Yocto中IMAGE_INSTALL和IMAGE_FEATURES有什么区别?
我看到需要在Yocto中启用闪屏,我们需要写以下内容到local.conf中:
IMAGE_FEATURES += "splash"
为什么我不能在这里使用IMAGE_INSTALL?
IMAGE_INSTALL += "splash"
请问何时应该使用IMAGE_FEATURES和IMAGE_INSTALL?
Yocto中IMAGE_INSTALL和IMAGE_FEATURES有什么区别?
我看到需要在Yocto中启用闪屏,我们需要写以下内容到local.conf中:
IMAGE_FEATURES += "splash"
IMAGE_INSTALL += "splash"
请问何时应该使用IMAGE_FEATURES和IMAGE_INSTALL?
IMAGE_FEATURES
(以及EXTRA_IMAGE_FEATURES
)视为包含一系列“开关”的变量(从预定义的功能列表中选择特定功能,这些功能取决于目标图像的基类),该变量告诉构建系统自动附加给定套件和/或不同的软件包配置到IMAGE_INSTALL
变量。配方可以检查(并附加)此变量中特定功能的信息,以便根据需要更改其默认配置/构建过程。IMAGE_FEATURES
添加“splash”,您告诉构建系统通过poky/meta/classes/image.bbclass
中的FEATURE_PACKAGES_splash = ${SPLASH}
语句向IMAGE_INSTALL
添加“psplash”软件包(默认情况下,您可以选择修改SPLASH
变量来提供此功能的其他软件包)。然而,您可以直接将“psplash”添加到IMAGE_INSTALL
中,但很可能会因为未能注意到与“splash”功能相关的一些附加软件包而使它们配置不正确(也许,在这种情况下,这并不是一个大问题...但在其他情况下,这肯定会导致问题)。这就是为什么您不能(不应该)简单地将“splash”添加到IMAGE_INSTALL
中(除了没有名为“splash”的软件包外);IMAGE_INSTALL
变量只是保留要安装在目标图像中的软件包列表。IMAGE_FEATURES
旨在为您的镜像启用特殊功能,例如 root 的空密码、调试镜像、特殊软件包、x11、闪屏、ssh-server 等。您可以在 这里 找到描述和功能列表。splash
为例,此功能会添加一个配方 psplash
: