一旦安装了 fstab 条目,我就会尝试在引导期间启动 systemd 服务。
我已关注设置 systemd 服务在 fstab 挂载后执行并添加了以下详细信息
# cat /etc/fstab
/dev/mmcblk1p11 /data ext4 defaults 0 2
# systemctl list-units | grep '/data' | awk '{ print $1 }'
data.mount
# cat /usr/lib/systemd/system/data.service
[Unit]
Description=My system
After=data.mount
[Service]
Type=oneshot
ExecStartPre=mountpoint -q /data
ExecStart=/usr/etc/data.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
问题是,它不会在引导期间启动。不过,手动重启似乎有效。
# systemctl status data.service
data.service - My system
Loaded: loaded (/usr/lib/systemd/system/data.service; disabled; vendor preset: enabled)
Active: inactive (dead)
# systemctl enable data.service
Created symlink /etc/systemd/system/multi-user.target.wants/data.service ��→ /usr/lib/systemd/system/data.service.
# systemctl restart data.service
Starting My system...
[ OK ] Started My system.
我错过了什么吗?
答案1
我会尝试两件事。您说手动启动有效,但在您的示例中您显示
systemctl enable data.service
您在重新启动之前是否执行过此启用命令?必须启用它才能在引导时启动。
第二我认为 After= 行需要是服务名称。尝试改变
After=data.mount
到
After=data.service
看看会发生什么。