Ben*_*min 6 linux boot arch-linux initramfs systemd
systemd-analyze plot
只显示切换根发生后所有单元的时间图。交换机根单元(定义为 initrd 引导序列中的最后一个单元)状态:
[Service]
# ...
ExecStart=/usr/bin/systemctl --no-block --force switch-root /sysroot
# ...
Run Code Online (Sandbox Code Playgroud)switch-root 系统命令上的 systemctl 手册页有这样的说法:
switch-root ROOT [初始化]
切换到不同的根目录并在其下执行一个新的系统管理器进程。这旨在用于初始 RAM 磁盘(“initrd”),并将从 initrd 的系统管理器进程(又名“init”进程)过渡到从实际主机卷加载的主系统管理器进程。此调用需要两个参数:将成为新根目录的目录,以及在其下作为 PID 1 执行的新系统管理器二进制文件的路径。如果省略后者或空字符串,将自动搜索 systemd 二进制文件用于并用作初始化。如果省略系统管理器路径,等于空字符串或与 systemd 二进制文件的路径相同,则 initrd 的系统管理器进程的状态将传递给主系统管理器,这允许稍后对所涉及服务的状态进行自省在 initrd 启动阶段。
然后在 initrds 问题上保持沉默......
启动后,我如何内省 initrd 启动阶段所涉及的服务状态,如上面推断的那样,或者发现什至运行了哪些单元(因为有些是动态生成的)?