Linux初始化

Linux的初始化

0.参考

    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.SysV init 初始化

1.1简化过程centos7

    1. 打开电源后,电脑所作的第一件事情就是BIOS初始化<检测设备是否可用>。BIOS会读取引导设备设定,定位并传递系统控制权给MBR(第一个磁道,第一个扇区)。spa

    2. MBR从Grub或LILO引导程序读取相关信息并初始化内核,将系统控制权给kernelhtm

    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.Systemd 的初始化

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

相关文章
相关标签/搜索