.....(
省略
).....
├─
slices.target
├─
-
.slice
└─
system.slice
├─
sockets.target
├─
dbus.socket
.....(
省略
).....
└─
systemd
-
udevd
-
kernel.socket
├─
sysinit.target
├─
dev
-
hugepages.mount
.....(
省略
).....
├─
local
-
fs.target
├─
-
.mount
├─
boot.mount
.....(
省略
).....
└─
swap.target
├─
dev
-
centos
-
swap.swap
.....(
省略
).....
└─
dev
-
mapper
-
centos
\
x2dswap.swap
└─
timers.target
└─
systemd
-
tmpfiles
-
clean.timer
├─
initrd
-
fs.target
└─
initrd
-
root
-
fs.target
#
systemd
的方式,一
½
所有的
侦测
与服
中!
透过上面½开
initramfs
的½果,你会知道其实
initramfs
就是一个小型的根目录,这个小型根目录
里面也是透过
systemd
来½行管理,同时观察
default.target
的链½,会发现其实这个小型系统就是
透过
initrd.target
来开机,而
initrd.target
也是需要读入一堆例如
basic.target, sysinit.target
等等的硬
件侦测、核心功能启用的流程,
然后开始让系统顺利运作。最终才又卸除
initramfs
的小型文件系
统,实际挂载系统的根目录!
此外,
initramfs
并没有包山包海,它½是带入开机过程会用到的核心模块而已。所以如果你在
initramfs
里面去找
modules
这个关键词的话,
就可以发现主要的核心模块大概就是
SCSI
virtio
RAID
等等跟磁盘相关性比½高的模块就是了!现在由于磁盘大部分都是使用
SATA
这玩意儿,
没有
IDE
的格式啰!所以,没有
initramfs
的话,你的
Linux
几乎就是不能顺利开机的啦!除非你
½
SATA
的模块直½编译到核心去了!
^_^
在核心完整的加载后,您的主机应该就开始正确的运作了,½下来,就是要开始执行系统的第一支程
序:
systemd
19.1.3
第一支程序
systemd
及使用
default.target
½入开机程序分析
在核心加载完毕、½行完硬件侦测与驱动程序加载后,此时你的主机硬件应该已经准备就绪了
(ready)
此时核心会主动的呼½第一支程序,那就是
systemd
啰。这也是为啥
第十六章的
pstree