システムが起動するまでの流れ
- BIOS
2. ハードウェアのチェックと初期化
3. ディスクのブートセクタを読み込んで、ブートローダーに制御を渡す - ブートローダー
3. ハードウェアからカーネルを読み込む - カーネル
4. メモリの初期化、システムクロックの設定
5. initプログラムを実行 - init
5. システムの初期化スクリプトを実行
6. ランレベルにしたがって、システムサービスや、デーモンの起動
7. OSの起動が終わったって状態になったら、ログインプロンプトを表示する
起動時のイベントの確認
起動時のログの確認方法は3つある。
- dmesgコマンド
- /var/log/messagesを確認する
- /var/log/boot.logを確認する
/sbin/initについて
initは何をしているのか。
/etc/inittabファイルの設定にしたがってデーモンを起動する
-
/sbin/initのやってること
- /etc/inittabを読み込む
- /etc/rc.sysinitスクリプトを実行
- /etc/rcスクリプトを実行
-
/etc/rcスクリプトがやってること
- /etc/rcランレベル.dディレクトリ以下のスクリプトを実行する。
SysVinitとは
Unix系OSで広く使われてきたOS起動の仕組み。
ただ、サービスを順番に起動し、の並列起動が出来ないという欠点がある。
最近では、Upstartやsystemdを採用するケースがある。
ランレベルとは
ランレベルについては後で追記します