【问题标题】:Yocto ERROR: Function failed: SYSTEMD_SERVICE_package value myservice.service does not existYocto 错误:函数失败:SYSTEMD_SERVICE_package 值 myservice.service 不存在
【发布时间】:2019-06-06 16:10:53
【问题描述】:

在 bitbake 配方中,我正在尝试安装一项服务。对我来说,Yocto 似乎没有接受它。以下是我在食谱中的内容:


SRC_URI = "file://dispatcherd.service \
           file://llc-check.sh \
           file://dispatcherd \
    "

<snip>

do_install(){
    # Install startup script
        install -d ${D}${systemd_system_unitdir}
        install -m 0644 ${WORKDIR}/dispatcherd.service ${D}${systemd_system_unitdir}
}

INITSCRIPT_NAME = "dispatcherd"
#INITSCRIPT_PARAMS = "defaults 90 10"

SYSTEMD_SERVICE_${PN} = "dispatcherd.service"
SYSTEMD_AUTO_ENABLE_${PN} = "disable"

inherit update-rc.d systemd

INSANE_SKIP_${PN} = "ldflags"

FILES_${PN} = "${libdir}/*  \
               ${bindir}/*  \
               ${sysconfdir}/init.d/dispatcherd \
              "

当尝试编译图像时,我得到:

ERROR: Function failed: SYSTEMD_SERVICE_ecdsa value dispatcherd.service does not exist

当我进行文件搜索时,服务文件出现在这里:

devon@VM ~/app/build/tmp-glibc $ find . -name "dispatcherd*.service"
./work/cortexa9hf-vfp-neon-phytec-linux-gnueabi/ecdsa/1.0.0-r0/dispatcherd.service
./work/cortexa9hf-vfp-neon-phytec-linux-gnueabi/ecdsa/1.0.0-r0/package/dispatcherd.service
./work/cortexa9hf-vfp-neon-phytec-linux-gnueabi/ecdsa/1.0.0-r0/image/dispatcherd.service

我已经尝试在谷歌上搜索解决方案,但到目前为止没有运气。关于可能有什么问题或 Yocto 似乎无法找到该文件的任何提示?

【问题讨论】:

    标签: yocto


    【解决方案1】:

    看来我在我的环境中使用的是旧版本的 yocto,不得不使用

    install -d ${D}${systemd_unitdir}/system
    install -m 0644 ${WORKDIR}/dispatcherd.service ${D}${systemd_unitdir}/system
    

    正如Enable systemd services using yocto所建议的那样

    我发现的唯一原因是将我的 repo 中的 systemd.bbclass 文件与 yocto repo 中的最新文件进行比较。我的缺少 searchpath systemd_system_unitdir 条目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 2020-05-09
      • 2021-11-18
      • 1970-01-01
      • 2021-05-24
      • 2011-08-24
      相关资源
      最近更新 更多