【问题标题】:IMAGE_INSTALL and IMAGE_INSTALL_append fails to add packages in yocto buildIMAGE_INSTALL 和 IMAGE_INSTALL_append 在 yocto build 中添加包失败
【发布时间】:2018-04-24 13:10:15
【问题描述】:

我正在尝试为 PhyTec Mira Board with Freescale i.MX6 对于我希望开发的嵌入式应用程序,应该有 influxdbnode, npm

我按照上面提到的快速入门指南中的步骤,将各个存储库克隆到一个文件夹sources 中,该文件夹是通过 PHYTEC 提供的脚本自动生成的。

sources 文件夹包含用于创建 yocto 图像的所有其他 meta- 层。在这个文件夹中,我添加了以下meta 层:

  1. meta-influx by kraj 分公司kraj/develop
  2. oe-meta-go 并将文件夹重命名为 meta-go Branch: master
  3. meta-nodejs分公司:主人

我在bblayers.conf 中添加了相应的meta 文件夹

bblayers.conf

OEROOT := "/opt/PHYTEC_BSPs/yocto_fsl/sources/poky"
BBLAYERS  ?= " \
  ${OEROOT}/meta \
  ${OEROOT}/meta-poky \
  ${OEROOT}/../meta-phytec \
  ${OEROOT}/../meta-yogurt \
  ${OEROOT}/../meta-openembedded/meta-oe \
  ${OEROOT}/../meta-openembedded/meta-networking \
  ${OEROOT}/../meta-openembedded/meta-python \
  ${OEROOT}/../meta-openembedded/meta-multimedia \
  ${OEROOT}/../meta-qt5 \
  ${OEROOT}/../meta-openembedded/meta-ruby \
  /opt/PHYTEC_BSPs/yocto_fsl/sources/meta-go \
  /opt/PHYTEC_BSPs/yocto_fsl/sources/meta-nodejs \
  /opt/PHYTEC_BSPs/yocto_fsl/sources/meta-influx \
  "

初审

我在local.conf 文件中添加了以下内容

# Install Packages
PREFERRED_VERSION_nodejs ?= "6.10.3"
PACKAGECONFIG_append_pn-nodejs = " openssl"
IMAGE_INSTALL_append = " nano tmux ntp nodejs nodejs-npm packagegroup-core-buildessential"
IMAGE_INSTALL_append = " github.com-influxdata-influxdb"

并开始构建图像

bitbake -k phytec-headless-image

映像已成功构建,但是当我在板上启动映像时,我看不到要安装上述单个软件包。甚至没有nanotmuxnodejs

二审

这次我只用IMAGE_INSTALL +=重写了local.conf文件

# Install Packages
PREFERRED_VERSION_nodejs ?= "6.10.3"
PACKAGECONFIG_append_pn-nodejs = " openssl"
IMAGE_INSTALL += "nano tmux ntp nodejs nodejs-npm packagegroup-core-buildessential"
IMAGE_INSTALL += "github.com-influxdata-influxdb"

然后再次运行bitbake -k phytec-headless-image,但似乎没有需要运行的任务,因为上述所有步骤都已在初步试用

中完成

这里有什么问题?我怎样才能真正看到 influxdb 是否包含在包中。

以前的试验

我按照相同的步骤为 Raspberry pi 创建映像,并成功创建了我在 Pi 上键入 influxdtmux 等的图像,并且所有此类软件包都已正确安装

Nodejs 源码:

Nodejs on Yocto from EmbeddedArtists

【问题讨论】:

    标签: node.js embedded-linux yocto influxdb


    【解决方案1】:

    我希望 meta-nodejs 已经存在于 meta-openembedded 更改您的build/conf/bblayer.conf

     ${OEROOT}/../meta-openembedded/meta-networking \
     ${OEROOT}/../meta-openembedded/meta-python \
     ${OEROOT}/../meta-openembedded/meta-multimedia \
     ${OEROOT}/../meta-openembedded/meta-node-js \
      ${OEROOT}/../meta-go \
      ${OEROOT}/../meta-influx  \ "
    

    然后清理编译

    bitbake -c cleansstate phytec-headless-image
    bitbake -c clean phytec-headless-image
    bitbake  phytec-headless-image
    

    【讨论】:

    • meta-openembedded 中没有meta-nodejs 文件夹。你认为应该是meta-nodejs而不是meta-node-js
    • 从 yocto 2.0 版本 (jethro) 开始 meta-nodejs 存在于 meta-openembedded 中
    • Phytec 通常使用krogoth。但是你的解决方案奏效了。我认为OEROOT 是路径被识别的地方,而问题中的/opt/PHYTEC_BSPs/../ 完整路径不是
    猜你喜欢
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多