开机流程简介--init 处理系统初始化流程 (/etc/rc.d/rc.sysinit)

init 处理系统初始化流程 (/etc/rc.d/rc.sysinit)
  还记得上面提到 /etc/inittab 里头有这一句‘ si::sysinit:/etc/rc.d/rc.sysinit ’吧? 这表示:‘我开始载入各项系统服务之前,得先做好整个系统环境,我主要利用 /etc/rc.d/rc.sysinit 这个 shell script 来设定好我的系统环境的。’够清楚了吧? 所以,我想要知道到底 FC4 开机的过程当中帮我进行了什么动作, 就得要仔细的分析 /etc/rc.d/rc.sysinit 啰。
  Tips:
  老实说,这个档案的档名在各不同的 distributions 当中都不相同, 例如 SuSE server 9 就使用 /etc/init.d/boot 与 /etc/init.d/rc 来进行的。 所以,你最好还是自行到该档案去察看一下系统的工作喔! ^_^     
  /etc/rc.d/rc.sysinit 主要的工作大抵有这几项:
  1. 取得网路环境与主机类型:
  首先读取网路设定档 /etc/sysconfig/network ,取得主机名称与预设通讯闸 (gateway) 等网路环境。
  2. 测试与挂载记忆体装置 /proc 及 USB 装置 /sys:
  除挂载记忆体装置 /proc 之外,还会主动侦测系统上是否具有 usb 的装置, 若有则会主动载入 usb 的驱动程式,并且尝试挂载 usb 的档案系统。
  3. 决定是否启动 SELinux :
  近期以来,很多 distributions 都加入了美国国家安全局发展的 Security Enhance Linux 套件, 这个 SELinux 可以更加强化 Linux 操作环境的安全性,不过,由于安全挂帅, 对于新手来说,不是很容易上手。因此,我们才会建议大家先不要启动啊。无论如何, 在这个阶段我们可以分析 SELinux 是否要启动。
  4. 周边设备的侦测与 Plug and Play (PnP) 参数的测试:
  根据核心在开机时侦测的结果 (/proc/sys/kernel/modprobe ) 开始进行 ide / scsi / 网路 / 音效 等周边设备的侦测,以及利用以载入的核心模组进行 PnP 装置的参数测试。
  5. 使用者自订模组的载入
  使用者可以在 /etc/sysconfig/modules/*.modules 加入自订的模组, 则此时会被载入到系统当中喔!
  6. 载入核心的相关设定:
  系统会主动去读取 /etc/sysctl.conf 这个档案的设定值,使核心功能成为我们想要的样子。
  7. 设定系统时间 (clock):
  8. 设定终端机 (console) 字形:
  9. 设定 RAID 与 LVM 等硬碟功能:
  10. 以 fsck 检验磁碟档案系统:
  11. 进行磁碟配额 quota 的转换 (非必要):
  12. 重新以可读取模式挂载系统磁碟:
  13. 启动 quota 功能:
  14. 启动系统乱数装置 (产生乱数功能):
  15. 清除开机过程当中的暂存档案:
  16. 将开机相关资讯载入 /var/log/dmesg 档案中。
  如此一来,在 /etc/rc.d/rc.sysinit 就已经将基本的系统设定资料都写好了,也将系统的资料设定完整! 而如果你想要知道到底开机的过程中发生了什么事情呢?那么就使用 dmesg 就可以知道啰。 另外,基本上,在这个档案当中所进行的很多工作的预设设定档,其实都在 /etc/sysconfig 当中呢! 所以,请记得将 /etc/sysconfig 内的档案好好的瞧一瞧喔! ^_^
  在这个过程当中,比较值得注意的是自订模组的载入!在 FC4 当中,如果我们想要载入核心模组的话, 可以将整个模组写入到 /etc/sysconfig/modules/*.modules 当中,在该目录下, 只要记得档名最后是以 .modules 结尾即可。 这个过程是非必要的,因为我们目前的预设模组实在已经很够用了,除非是您的主机硬体实在太新了, 非要自己载入新的模组不可,否则,在经过 /etc/rc.d/rc.sysinit 的处理后, 你的主机系统应该是已经跑得很顺畅了啦!就等著你将系统相关的服务与网路服务启动啰!

posted on 2011-10-21 15:25  image eye  阅读(830)  评论(0编辑  收藏  举报