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的启动方式图