systemd 服务不会在启动时自动启动

systemd 服务不会在启动时自动启动

我已经努力解决这个问题两三天了。我正在使用 Yocto 来定制 Linux 构建。我有一个名为 app2.service 的 systemd 服务,如下所示。

[Unit]
Description=app2 
ConditionPathExists=/app
After=network.target uncrypte_app.service uncrypte_data.service 

[Service]
Type=simple
WorkingDirectory=/app
ExecStartPre=/bin/rm -f /var/run/appd.pid
ExecStartPre=/app/provisiondevice && /storage/revertupdate
ExecStart=/app/appd start
ExecStop=/app/appd stop
RemainAfterExit=yes
Restart=on-failure

[Install]
WantedBy=multi-user.target

下面是我的 .bb 配方文件的底部。

SYSTEMD_SERVICE_${PN} =“app2.service”Yocto 相当于systemctl 启用 app2.service

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

SYSTEMD_SERVICE_${PN} = "app2.service"

但是,当我的设备启动时,该服务没有启动。

当我检查我的服务状态时systemctl 状态 app2.service,我得到以下结果

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

我不明白这。当我手动启用它时systemctl 启用 app2.service,效果很好。

它应该按照我在配方文件中指定的方式自动启用。我将不胜感激任何帮助。

另外,将以下内容添加到我的配方文件的底部也不起作用:

SYSTEMD_AUTO_ENABLE_${PN} = "enable"

相关内容