Linux 的開機流程- ubuntu 10.10

想要了解linux開機過程, 我的OS為ubuntu 10.10 64bits
參考

Linux 開機:

第一個先執行/sbin/init
然後會執行 /etc/inittab, 但這個node以被移除分散到 /etc/event.d/底下 (ubuntu10.10後則是/etc/init/底下)

描述

在核心載入完畢、進行完硬體偵測與驅動程式載入後,此時你的主機硬體應該已經準備就緒了 (ready)
此時核心會主動的呼叫第一支程式,那就是 /sbin/init 囉
你會發現 init 的 PID 號碼是一號
/sbin/init 最主要的功能就是準備軟體執行的環境,包括系統的主機名稱、網路設定、語系處理、檔案系統格式及其他服務的啟動等。
而所有的動作都會透過 init 的設定檔,亦即是 /etc/inittab (10.10 但這個node以被移除分散到 /etc/event.d/底下) 來規劃,
而 inittab 內還有一個很重要的設定項目,那就是預設的 runlevel (開機執行等級) 啦!

/ etc / event.d /目錄 [10.10版本修改为/etc/init/目录]
是upstart核心,upstart将所有进程的触发、停止等看作事件,存在在此目录。主要有3种:rc-default,rcX(0..6,S),ttyX。
[10.10版本只有/etc/init/rc.conf rcS.conf (没有rcX(0..6))及其他*.conf,
rcS.conf最后:
# Switch, passing a magic flag
start –no-wait rc-sysinit FROM_SINGLE_USER_MODE=y
end script
]

rc-default类似inittab文件,设置默认运行级别。ubuntu默认级别2,可在此文件修改。
[10.10版本修改为rc-sysinit.conf?在该文件看到 env DEFAULT_RUNLEVEL=2,后面的
env RUNLEVEL=
env PREVLEVEL=


# Switch into the default rundevel
telinit “${DEFAULT_RUNLEVEL}”
end script
]

/ etc / init.d中/目錄

  • 系統啟動需要的腳本及安裝的服務的啟動腳本。
  • S啟動時運行的腳本 K啟動時不運行。
  • nn的運行優先級別,越小越先。

初始化進程啟動的工作

  1. 運行系統級別的自啟動腳本(/etc/ rcS.d)
  2. 確認運行級別的/ etc / event.d / RC -default,默認 2 [10.10版本修改为rc-sysinit.cong]
  3. 運行相應級別的RCX文件/ etc/event.d/rc2
  4. 運行 RC程序/ etc / init.d/ RC 2
  5. 運行用戶級的啟動腳本 / etc/rc2.d/中的腳本

然後就可以登錄了。

管理啟動項目

  1. 圖形界面管理自動加載程序
    • 系統 > 首選項 > 會話
  2. 圖形界面管理自動加載服務
    • 系統 > 系統管理 > 服務
  3. 編輯腳本實現程序自動加載
    • / etc / init.d中/ rc.local中是系統最後一個運行的腳本。sudo gedit /etc/init.d/rc.local 到最後加入要運行的程序
  4. 编辑自己的服务启动脚本
    • sudo gedit /etc/init.d/myscript
      #! /bin/sh
      case “$1” in
      start)

      ;;
      stop)

      ;;
      restart | force-reload)

      ;;
      *)
      exit 1
      esac
      ——-

      sudo chmod 755 /etc/init.d/myscript
      ls -s /etc/init.d/myscript /etc/rc2.d/S99myscript

  5. 使用其它工具进行管理

sysv-rc-conf 需要安装 手动编辑/自动编辑(sudo sysv-rc-conf myscript on)

分類: 未分類

發表迴響