今回から3回にわたり,自分Linuxのルート・ファイル・システムを完成させて,ハード・ディスク上から起動できることを試してみる(図1)。まず,以前に説明を持ち越した「(5)初期化プロセスの実行」から簡単に解説しよう。
図1●自分Linux作成作業の流れ 今回は,自分Linuxのルート・ファイル・システムを完成させる。 |
初期化プロセスの実行方法
初期化プロセスを理解するためには,まずUNIX系OSの2つの流れを知っておく必要がある。「System V」(「システムファイブ」と読む)系と「BSD」系という2種類である。それぞれの生い立ちは,別掲記事「System VとBSDの成り立ち」を見てほしい。
現在では,両者に機能面での大きな差はないが,設定ファイルの記法などに違いが見られる。特に,OS起動時に実行される「init」というプロセス(初期化プロセス)の動作や設定に大きな違いが存在する。
BSD系のinitは,「シングル・ユーザー・モード」と「マルチユーザー・モード」という2つの動作モードしか持たない。そして,/etc/rcという単一のスクリプトを実行してシステムの初期化処理を行う。そのため,初期化時の各種設定は,/etc/rcスクリプト内(あるいはそこから呼び出されるスクリプト)に記述しなければならない*1。
一方,System V系のinitでは,動作モードを拡張した「ラン・レベル」という概念を利用する。よってBSD系よりも多くの動作モードでOSを稼働できる。各ラン・レベルでどのような初期化処理を実行するかは,/etc/inittabファイルに設定される。ただし,同ファイル内に設定を直接記述するのではなく,各デーモンの起動や停止などに処理を細分化した設定ファイル(またはスクリプト)を用意することが多い*2。
L i n u x カーネルそのものは,System V系列にもBSD系列にも属さない独自のUNIX互換OSである。ただし一概には言えないが,現状では,System V系のinitを採用するLinuxディストリビューションが一般的だ。例えば,Vine LinuxやFedora Coreなどは,0から6までの7種類のラン・レベルを持ち,System V類似の設定ファイルを持つ*3。
以上のことから,自分L i n u x もSystem V系のinitを採用する。
|