Yocto 使用一个配方文件启用多个 systemd 服务

Eng*_*999 3 linux system systemd bitbake yocto

我接手了一个使用 Yocto 生成自定义 Linux 映像的项目。

我正在修改一个 .bb 配方文件,该文件已经创建并启用了 systemd 服务。我需要创建另一个 systemd 服务并从同一个配方文件中启用它。这可能吗?

下面显示了配方文件的底部。app2.service 是镜像中已经启用的服务。我也想添加 update.service 。如图所示,我已经将行:${systemd_unitdir}/system/update.service 附加到 FILES_${PN}

FILES_${PN} += "${sysconfdir} \
           ${systemd_unitdir}/system/app2.service \
           ${systemd_unitdir}/system/update.service \
"
inherit systemd

SYSTEMD_SERVICE_${PN} = "app2.service"
Run Code Online (Sandbox Code Playgroud)

但是,我相信 SYSTEMD_SERVICE_${PN} 是启用该服务的原因。我可以用同样的方式将带有 += 的 update.service 附加到 SYSTEMD_SERVICE_${PN} 吗?

我在网上寻找答案,但不清楚我是否可以启用这样的多项服务。

Flo*_*ndl 6

只是用它们之间的空间隔开

SYSTEMD_SERVICE_${PN} = "app2.service update.service"
Run Code Online (Sandbox Code Playgroud)

我在 nfs-utils配方中找到了解决方案

yocto 系统文档

除非您已将 SYSTEMD_AUTO_ENABLE 设置为“禁用”,否则服务将设置为在启动时自动启动。