1.走進Linux之systemd啓動過程 https://linux.cn/article-5457-1.htmlhtml
2.淺析 Linux 初始化 init 系統,第 3 部分: Systemd http://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/index.htmllinux
3.Linux 的啓動流程 http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.htmlcentos
4.CentOS7系統systemd詳解 http://www.centoscn.com/CentOS/2015/0408/5116.html網絡
1.1簡化過程centos7
1. 打開電源後,電腦所作的第一件事情就是BIOS初始化<檢測設備是否可用>。BIOS會讀取引導設備設定,定位並傳遞系統控制權給MBR(第一個磁道,第一個扇區)。spa
2. MBR從Grub或LILO引導程序讀取相關信息並初始化內核,將系統控制權給kernel。htm
3. kernel:探測硬件-->加載驅動(initrd)--->掛載根文件系統->rootfs(/sbin/init) 。blog
4. 經過 /sbin/init 鏈接到/etc/inittab腳本ci
5. 初始化系統,應用軟件get
(
1.系統初始化:用戶,網絡
2.應用軟件:經過chkconfig 添加的啓動軟件
經過/etc/rc.d/rcX.d 的文件來初始化(啓動等級),這個文件夾存放的是init.d文件的鏈接,而且以S<啓動>和K<關閉>開頭
)
6. 執行 rc.local
1.2 缺點:啓動時間過長
1.3 SysVinit和Upstart啓動方式的對比
2.1 簡化過程<centos7>
1. 打開電源後,電腦所作的第一件事情就是BIOS初始化<檢測設備是否可用>。BIOS會讀取引導設備設定,定位並傳遞系統控制權給MBR(第一個磁道,第一個扇區)。
2. MBR從Grub或LILO引導程序讀取相關信息並初始化內核,將系統控制權給kernel。
3. kernel:探測硬件-->加載驅動(initrd)--->掛載根文件系統->rootfs(/sbin/init)
4. 經過 /sbin/init 鏈接到 /usr/lib/systemd/systemd 腳本
5. /usr/lib/systemd/systemd 腳本初始化系統、用戶、應用
5.1 啓動 /usr/lib/systemd/system 文件夾下面的系統初始化(初始化等級)
5.2 /usr/lib/systemd/system/graphical.target
5.3 須要的 /usr/lib/systemd/system/multi-user.target
5.4 須要 /usr/lib/systemd/system/basic.target
5.5 須要 /usr/lib/systemd/system/sysinit.target
5.6 須要在local-fs.target 、swap.target 、emergency.service、emergency.target
6 啓動本地 rc.local
2.2 systemd的啓動方式圖