Yocto中的IMAGE_FEATURES和IMAGE_INSTALL有何不同?

7

Yocto中IMAGE_INSTALL和IMAGE_FEATURES有什么区别?

我看到需要在Yocto中启用闪屏,我们需要写以下内容到local.conf中:

IMAGE_FEATURES += "splash"

为什么我不能在这里使用IMAGE_INSTALL?
IMAGE_INSTALL += "splash"

请问何时应该使用IMAGE_FEATURES和IMAGE_INSTALL?

2个回答

15
您可以将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变量只是保留要安装在目标图像中的软件包列表。
有关详细信息,请参见手册

2
IMAGE_FEATURES 旨在为您的镜像启用特殊功能,例如 root 的空密码、调试镜像、特殊软件包、x11、闪屏、ssh-server 等。您可以在 这里 找到描述和功能列表。
splash 为例,此功能会添加一个配方 psplash
引用: 闪屏:启用在启动过程中显示闪屏的功能。默认情况下,该屏幕由 psplash 提供,并允许自定义。如果您更喜欢使用另一个闪屏软件包,则可以通过在镜像配方或发行版配置级别设置 SPLASH 变量来实现。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接