参考文档
- systemd (简体中文)
- udev (简体中文)
- https://www.raspberrypi.org/documentation/linux/usage/systemd.md
- https://www.raspberrypi.org/documentation/linux/usage/rc-local.md
init真相
- stat /sbin/init
关于stat的这个命令解释参考:https://blog.csdn.net/yexiangcsdn/article/details/81012732
Systemd应用原理
在sysvinit中有明确定义的运行级别(如:0、1、3、5、6)与systemd中特定的 目标 存在一一对应的关系。然而,对于用户自定义运行级别(2、4)却没有。如需要同样功能,建议你以原有运行级别所对应的systemd目标为基础,新建一个/etc/systemd/system/<目标名>.target(可参考/usr/lib/systemd/system/graphical.target), 然后创建目录/etc/systemd/system/<目标名>.wants,并向其中加入需启用的服务链接(指向/ur/lib/systemd/system/)。
"SysV 运行级别" 与 "systemd 目标" 对照表
SysV 运行级别 | Systemd 目标 | 注释 |
---|---|---|
0 | runlevel0.target, poweroff.target | 中断系统(halt) |
1, s, single | runlevel1.target, rescue.target | 单用户模式 |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | 用户自定义运行级别,通常识别为级别3。 |
3 | runlevel3.target, multi-user.target | 多用户,无图形界面。用户可以通过终端或网络登录。 |
5 | runlevel5.target, graphical.target | 多用户,图形界面。继承级别3的服务,并启动图形界面服务。 |
6 | runlevel6.target, reboot.target | 重启 |
emergency | emergency.target | 急救模式(Emergency shell) |
- systemctl get-default
- cd /etc/systemd
- find * -iname default.target
- ls -al system/default.target
- cat /lib/systemd/system/graphical.target
rc.local启动分析
- systemctl status rc.local
Wifi配置启动分析
- cat /etc/systemd/system/multi-user.target.wants/raspberrypi-net-mods.service
SSH开启设置分析
- cat /etc/systemd/system/multi-user.target.wants/sshswitch.service
ps:systemctl命令