在创建udev符号链接后让systemd服务启动

时间:2019-03-12 07:51:12

标签: systemd udev

我有一个systemd服务将UFS LU的分区安装到/ mnt

## bt_mount.service ##
[Unit]
Description=Mount bt_firmware_a/b to /mnt

[Service]
Type=oneshot
PassEnvironment="SLOT"  ## "_a" or "_b", depends on the boot slot
ExecStart=/bin/mount -o noexec,nodev,ro /dev/disk/by-partlabel/bt_firmware${SLOT} /mnt

[Install]
WantedBy=local-fs.target

但是

有时会说失败 “特殊设备/ dev / disk / by-partlabel / bt_firmware_a不存在”

systemd-analyze 显示bt_mount.service在创建符号链接之前运行,这就是原因。

我在Google上搜索并了解到systemd-udevd.service在创建该符号链接方面起着重要作用,并且它将在udevadm --trigger时创建它们。

systemd-udevd.service
systemd-udevd-trigger.service

我曾尝试使用下面的语句为服务添加依赖项,但仍然相同。

After=systemd-udevd-trigger.service systemd-udevd.service

因此,在创建特定符号链接之后,有什么方法可以启动某些服务吗?

0 个答案:

没有答案