在我的项目中,我们有多个核心图像(Core-Image-Vara,Core-image-Varb等)为我们的计算机配方。图像通常包含不同的食谱。但是对于某些食谱,我想安装...

问题描述 投票:0回答:1
打印了Preferred_version_somerecipe的所需值,Bitabke实际上包含在构建中的版本是不同的。

变量只能在conf文件中设置,如this Answer

所建议。也就是说,要么将其添加到
PREFERRED_VERSION

或中的食谱中:
yocto bitbake
1个回答
0
投票

local.conf
meta-something/conf/machine/currently-used-machine.conf

  • 因此,您的尝试解决方案不适用于当前的Yocto版本。幸运的是,您在评论中说明了自己的实际目标:
    
    
  • 其他事项,我们的设备有不同的发行版。
  • 这绝对是可能的。但是,Yocto总是如此,您有很多选择来实现您的目标:
    
    
  • 为每个设备添加一个单独的机器,

使用

yoctocooker

独立食谱
写自己的发行版。

1。单个机器 如果硬件有所不同,则更改计算机配置很有意义。因此,如果您运送的每个不同设备都有不同的硬件,请为每个设备创建一个。另一个优点是,能够在任何食谱或配置中使用
    MachineOverride
  1. 选择基于机器活动的功能(或版本)。
  2. 2。 Yoctocooker
  3. yocto cooker是管理不同构建配置的工具。一个很好的例子是PI3菜单
  4. 。您为每个设备变体编写一个
  5. meta-something/conf/distro/currently-used-distro.conf
  6. ,在其中添加:
  7. machine-foo.conf

menu.json

使用此命令运行构建时,将添加到构建中

...
  "builds": {
     "your-build-config-varA": {
        "local.conf": [
            "PREFERRED_VERSION_firewall-recipe = '1.2%'",
PREFERRED_VERSION_firewall-recipe = '1.2%'

3。个人食谱

local.conf文件中将共享代码输入。然后,您的食谱可以命名为

cooker cook path/to/menu.json
,看起来像这样:

firewall.inc

inside the

firewall-varA
图像,安装
require firewall.inc
PV = "1.2.3"

4。自己的发行版
为每个设备创建单独的发行版是没有意义的,要在设备之间共享发行版。从理论上讲,您可以编写自己的发行版,该发行版在图像中具有更改的机制,但是对于这个问题来说,这太细节了。
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.