2009年12月7日

init process

這個process是核心載入之後第一個執行的process,一般他的PID為1,init會指引其他流程,尤其是執行/etc/rc.d/rc.sysinit,大致的流程如下

以fedora為例,rc.sysinit做了哪些事情呢?
  • /etc/sysconfig/network:網路設定
  • /proc/mounts:檢查主要系統檔案是否存在
  • /proc/bus/usb:usb drivers
  • /etc/init.d/functions:一個很重要的script,裡面有很多的環境變數跟設定
  • /etc/selinux/config:selinux設定值
  • /sbin/setsysfont:設定基本的字形
  • /etc/sysconfig/clock:系統時間
  • /bin/dmesg:系統訊息
  • sysctl:設定一些module所需要的值,後面才會載入module
  • /bin/taskset:設定cpu
  • /sbin/start_udev、/etc/rc.modules:載入modules
接著是GUI等等的相關階段,跟著有其他的工作
  • /dev/pts:產生第一個tty介面
  • sysctl:主要是一些/proc/sys下的開關(on/off)值的設定
  • /etc/sysconfig/keyboard:設定鍵盤
  • /etc/mdadm.conf:software RAID(如果沒有用到就沒有)
  • /dev/mapper:LVM機制,同上
  • /ect/crypttab:啟動區塊加密機制
  • /fastboot、/fsckoptions、/forcefsck、/.autofsck、/etc/sysconfig/autofsck:檢查磁碟動作
  • /etc/sysconfig/readonlyroot:是否將root dir設定為唯讀
  • ipaddr:啟動網路
  • /sbin/quotacheck:檢查disk quota
  • mount /:將root dir重新mount為read/write
  • restrecon:
  • /etc/mtab:
  • /sbin/quotaon:打開quota功能

  • /usr/bin/rhgb:
  • /.unconfigured:
接下來會清除一些產生出來的檔案跟lock
  • rm files:刪除由.unconfigured跟fsck產生的檔案
  • /var:刪除/var/lock跟/var/run下檔案,有些存在/var下
  • /tmp:刪除lock檔案
接著可能啟動x-win的相關事宜跟相關設定
  • /tmp/.ICE-unix:產生x-win所需的目錄
  • blkid:啟動swap
  • /usr/sbin/system-config-network-cmd:開機網路設定
  • dmesg:寫入訊息
  • /.autofsck:
  • /usr/bin/rhgb-client:
大致上rc.sysinit至此告一段落,由inittab開始決定執行那個run level

沒有留言: