http://pingbin.com/2012/12/30-cool-ideas-raspberry-pi-project/
真是有創意阿
來自http://eeepage.info/boot-ubuntu10-10/
Linux 的開機流程- ubuntu 10.10
想要瞭解linux開機過程, 我的OS為ubuntu 10.10 64bits
參考
然後會執行 /etc/inittab, 但這個node以被移除分散到 /etc/event.d/底下 (ubuntu10.10後則是/etc/init/底下)
此時核心會主動的呼叫第一支程式,那就是 /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
]
參考
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的運行優先級別,越小越先。
初始化進程啟動的工作
- 運行系統級別的自啟動腳本(/etc/ rcS.d)
- 確認運行級別的/ etc / event.d / RC -default,默認 2 [10.10版本修改為rc-sysinit.cong]
- 運行相應級別的RCX文件/ etc/event.d/rc2
- 運行 RC程序/ etc / init.d/ RC 2
- 運行用戶級的啟動腳本 / etc/rc2.d/中的腳本
管理啟動項目
- 圖形界面管理自動加載程序
- 系統 > 首選項 > 會話
- 圖形界面管理自動加載服務
- 系統 > 系統管理 > 服務
- 編輯腳本實現程序自動加載
- / etc / init.d中/ rc.local中是系統最後一個運行的腳本。sudo gedit /etc/init.d/rc.local 到最後加入要運行的程序
- 編輯自己的服務啟動腳本
-
sudo gedit /etc/init.d/myscript
sudo chmod 755 /etc/init.d/myscript
#! /bin/sh
case "$1" in
start)
...
;;
stop)
...
;;
restart | force-reload)
...
;;
*)
exit 1
esac
-------
ls -s /etc/init.d/myscript /etc/rc2.d/S99myscript - 使用其它工具進行管理