initrd的启动过程

1.init的启动过程,首先调用配置文件inittab,确定运行级别

2.sysinit 的作用

    

  1.initrd 调用/etc/rc.sysinit

  1. mount所有文件系统,以读写的方式挂载

      1. mount -a   从 /etc/fstab mount所有文件系统

          mount -o rw,remount /dev/sdax

      2.如果这里出问题,那么要手动执行fsck.ext4 检测文件系统,检测文件系统必须只读加载

    2. 加载SWAP分区

    3. 加载驱动

3. rc   脚本程序在/etc/rc.d/,rc负责在系统启动时启动服务和关闭服务

  1. inittab中确定运行级别X

  2. 调用/etc/init/rc.conf   ----->调用rc脚本以X运行级别执行 /etc/rc.d/rc X

  3. rc运行/etc/rc.d/rcX.d中所有脚本

    1.rcX.d中以K开头的脚本执行   

    2.rcX.d中以S开头的脚本执行

    3.数字表示执行顺序的先后例如:/etc/rc.d/rc3.d/s08ip6tables  和  /etc/rc.d/rc3.d/s20kdump,20在08之后执行

  4.所有的/etc/rc.d/rcX.d中的所有脚本都是/etc/rc.d/init.d中脚本的软链接,例如上面就是init.d/中ip6tables和kdump的软链接

  5.POSIX规范

    1./etc/init.d也是/etc/rc.d/init.d中服务的软链接

    2.所有以d结尾的服务名表示该服务是daemon,守护进程

    3.所有sysV的守护进程都符合POSIX标准

    4.符合POSIX标准都可以使用 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}

      1.例如 /etc/init.d/sshd  start 启动ssh

    5.UNIX的两种体系 sysV体系和BSD体系

  6.最后调用rc.local,一般我们把自己需要开机执行的脚本写入rc.local  

4.mingetty  initrd调用mingetty

  1.mingetty 调用/dev/tty1-6 打开6个tty控制台

  2.tty调用login,由login验证用户名密码

  3.audit通过后调用bash

  4.bash按顺序调用4个配置文件

    1./etc/bash_profile

    2.~/bashrc

    3.~/bash_profile

    4./etc/bashrc

    5.bash退出时调用~/.bash_logout

 

posted @ 2013-04-05 18:46  屁屁熊  阅读(864)  评论(0编辑  收藏  举报