FreeBSD ハンドブック
Prev | Chapter 8. FreeBSD カーネルのコンフィグレーション | Next

# 8.5. デバイスノードを作る

> Note: FreeBSD 5.0 以降を動かしているなら、 この節を飛ばして構いません。そのバージョンでは devfs(5) を用いて、ユーザに意識させずにデバイスノードを割り当てています。

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

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

    device acd0

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

    # sh MAKEDEV acd0

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

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

    # sh MAKEDEV snd0

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

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

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

Prev | Home | Next
コンフィグレーション ファイル | Up | 問題が起きた場合には