【问题标题】:Can I make an image select a machine我可以让图像选择机器吗
【发布时间】:2016-04-26 17:35:01
【问题描述】:

我有一些仅与特定平台相关的图像(假设有些仅适用于英特尔核心,而另一些仅适用于 sabrelite)。

图像是否可以独立于 local.conf 自动设置构建的 MACHINE 变量?

如果没有,我至少可以让图像拒绝为其他机器构建吗?

我尝试进行一些谷歌搜索,但当然“yocto 图像选择机器”或类似请求只会返回通用 Yocto 教程。

谢谢。

【问题讨论】:

    标签: yocto


    【解决方案1】:

    不,图像不会影响您要为哪台机器构建。

    背景:在 OpenEmbedded 中,机器、图像和发行版的概念应该是相互正交的。 IE。任何图像都应该可以为发行版和机器的任何组合构建。 (当然,这在实践中可能并不总是正确的)。

    可以通过设置让镜像拒绝构建

     COMPATIBLE_MACHINE = "macha"
    

    在您的图像配方中。

    另一个想法是,如果映像非常相似,则仅在为正确的机器构建映像时才安装机器特定的包。这可以通过以下方式轻松完成:

     IMAGE_INSTALL_append_macha = " package1 package2"
    

    注意字符串中的前导空格。 (_append 不会在您的字符串前面加上空格)。

    后半部分,是通常所做的。将图像限制在特定机器上是很少做的事情,至少在公共层中是这样。

    注意:macha 是机器的想象名称。

    【讨论】:

      【解决方案2】:

      要根据机器添加包,您可以使用 python 函数base_containsbase-conditional。例如。 bitbake-how-to-add-package-depending-on-machine

      配方中有COMPATIBLE_MACHINE = " " 供输入以检查兼容机器。 building-yocto-image-for-dragonboard-410c-how-to-build-chromium

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多