7.5. デバイスノードを作る

カーネル内のほとんどすべてのデバイスは対応する "node" エントリが /dev ディレクトリにあります. これらのノードは普 通のファイルのように見えますが, 実際にはプログラムがデバイスに アクセスするのに用いるカーネル内への特別なエントリです. シェルスクリプトである /dev/MAKEDEVはオペレーティング システムを最初にインストールする時に実行され, サポートされてい る大部分のデバイスのノードを作ります. しかし, すべての ノードが作られるわけではありませんので 新しいデバイスのサポートを加える時は対応するエントリがこのディ レクトリにあるかどうか確認してもしなければ, 作ってください. 以下に例を示します.

IDE CD-ROMのサポートをカーネルに加えるとします. 次の行 を加えます.

    device acd0

これにしたがって, /devディレクトリに acd0で始ま るエントリを捜してください. 1文字が後ろにつくかもしれません. 後 ろについた文字が cであるか先に rのつくエントリは "raw" デバ イスを示します. それらのファイルがないことが明らかになったとします. そこで /dev ディレクトリに移動して次のようにタイプします.

    # sh MAKEDEV acd0

スクリプトの実行が終ったら /devacd0cracd0c エントリがあることを確認してください. これによ り正しく実行されたことがわかります.

サウンドカードの場合, 以下のコマンドで対応する エントリが作成されます:

    # sh MAKEDEV snd0

Note: サウンドカードのようなデバイスのノードを作る場合で, もし他 の人がマシンにアクセスするようであれば, そのデバイスを /etc/fbtab ファイルに追加して外部からのアクセスから 保護するのが望ましいでしょう. このファイルの詳細については fbtab(5) を参照してください.

GENERIC に含まれていないデバイスはエントリがありませんから,以上 の簡単な手順をおこなうことになります.

Note: すべての SCSI コントローラは同じ /dev の エントリを使用しますのでノードを作る必要はありません. またネッ トワークカードと SLIP/PPP 疑似デバイスは /dev にはエント リがありませんのでこれらについても作る必要がありません.