Yocto 将多个系统服务添加到配方文件

Yocto 将多个系统服务添加到配方文件

我正在修改 Yocto .bb 配方文件以在我的映像中添加并启用 3 个 systemd 服务。下面显示了我的配方文件的底部,仅添加并启用了两项服务。这有效!

app1.service 是一次性基本服务,运行一次,app2.service 通过使用“首先等待 app1.service 完成”之后=app1.service”在 app2.service 文件中。所有这些工作正常,没有问题:

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

SYSTEMD_SERVICE_${PN} = "app1.service app2.service"

现在,我添加了第三个服务,名为 app3.service,如下所示。该服务还应该以相同的方式等待 app1.service 首先完成

FILES_${PN} += "${sysconfdir} \
               ${systemd_unitdir}/system/app1.service \
               ${systemd_unitdir}/system/app2.service \
               ${systemd_unitdir}/system/app3.service \

"
inherit systemd

SYSTEMD_SERVICE_${PN} = "app1.service app2.service app3.service"

但是,当我启动设备时,只有 app3.service 运行,app1.service 和 app2.service 报告如下,这告诉我该服务未以某种方式启用:

app1.service - app1
Loaded: loaded (/lib/systemd/system/app1.service; disabled; vendor 
preset: enabled)
Active: inactive (dead)

这我无法理解。我希望所有三个服务都被启用,因为我将它们添加到了 SYSTEMD_SERVICE_${PN}。

按照我在 .bb 配方文件中添加三个服务的方式是否有问题?谢谢

相关内容