我可以把图像 select 做成机器吗
Can I make an image select a machine
我有一些图像仅与特定平台相关(假设一些仅适用于 intel core,其他仅适用于 sabrelite)。
图像是否可以独立于 local.conf 自动为构建设置 MACHINE 变量?
如果不行,我至少可以让镜像拒绝为其他机器构建吗?
我尝试进行一些谷歌搜索,但当然 "yocto image selects machine" 或仅类似请求 return 通用 Yocto 教程。
谢谢。
要根据机器添加包,您可以使用 python 函数 base_contains
或 base-conditional
。例如。
在配方中输入 COMPATIBLE_MACHINE = " "
以检查兼容机器。
building-yocto-image-for-dragonboard-410c-how-to-build-chromium
不,图像不会影响您为哪台机器构建。
背景:在 OpenEmbedded 中,机器、映像和发行版的概念应该是相互正交的。 IE。任何图像都应该可以为发行版和机器的任何组合构建。 (当然,这在实践中可能并不总是正确的)。
可以通过设置
让镜像拒绝构建
COMPATIBLE_MACHINE = "macha"
在你的图像配方中。
另一个想法,如果图像非常相似,那么如果图像是为正确的机器构建的,则只安装机器特定的包。这可以通过以下方式轻松完成:
IMAGE_INSTALL_append_macha = " package1 package2"
注意字符串中的前导 space。 (_append
不会在您的字符串前加上 space)。
这后一部分,是通常所做的。很少有人将图像限制在特定机器上,至少在 public 层中是这样。
注:macha
为机器想象的名字
我有一些图像仅与特定平台相关(假设一些仅适用于 intel core,其他仅适用于 sabrelite)。
图像是否可以独立于 local.conf 自动为构建设置 MACHINE 变量?
如果不行,我至少可以让镜像拒绝为其他机器构建吗?
我尝试进行一些谷歌搜索,但当然 "yocto image selects machine" 或仅类似请求 return 通用 Yocto 教程。
谢谢。
要根据机器添加包,您可以使用 python 函数 base_contains
或 base-conditional
。例如。
在配方中输入 COMPATIBLE_MACHINE = " "
以检查兼容机器。
building-yocto-image-for-dragonboard-410c-how-to-build-chromium
不,图像不会影响您为哪台机器构建。
背景:在 OpenEmbedded 中,机器、映像和发行版的概念应该是相互正交的。 IE。任何图像都应该可以为发行版和机器的任何组合构建。 (当然,这在实践中可能并不总是正确的)。
可以通过设置
让镜像拒绝构建 COMPATIBLE_MACHINE = "macha"
在你的图像配方中。
另一个想法,如果图像非常相似,那么如果图像是为正确的机器构建的,则只安装机器特定的包。这可以通过以下方式轻松完成:
IMAGE_INSTALL_append_macha = " package1 package2"
注意字符串中的前导 space。 (_append
不会在您的字符串前加上 space)。
这后一部分,是通常所做的。很少有人将图像限制在特定机器上,至少在 public 层中是这样。
注:macha
为机器想象的名字