systemd-analyze plot仅显示了切换根后发生的所有单元的时间图。 交换机根单元(根据定义,initrd引导序列中的最后一个单元)指出:
[Service] # ... ExecStart=/usr/bin/systemctl --no-block --force switch-root /sysroot # ...
在switch-root系统命令的systemctl手册页有这样的说:
switch-root ROOT [INIT]
切换到另一个根目录并在其下执行新的系统pipe理器进程。 这适用于初始RAM磁盘(“initrd”),并且将从initrd的系统pipe理器进程(又名“init”进程)转换到从实际主机卷加载的主系统pipe理器进程。 这个调用有两个参数:要成为新根目录的目录,以及在其下面的新系统pipe理器二进制文件的path,以便作为PID 1执行。如果后者被省略或者为空string,则会自动searchsystemd二进制文件并用作init。 如果省略系统pipe理器path,等于空string或与systemd二进制文件的path相同,initrd的系统pipe理器进程的状态被传递给主系统pipe理器,这允许稍后检查所涉及的服务的状态在initrd引导阶段。
然后在initrds的问题上是安静的… … –
启动后,如何反思上面推断的initrd引导阶段所涉及的服务的状态,或者发现甚至运行了哪些单元(如某些是dynamic生成的)?
https://freedesktop.org/wiki/Software/systemd/Debugging/build议使用journalctl -b从引导中查看日志消息。