FreeBSD ハンドブック : シリアル通信 : ダイアルインサービス : Kernel の設定
Previous: 概要
Next: ディバイス スペシャル ファイル

13.3.3. Kernel の設定

通常, FreeBSD の kernel は, PC-DOS の世界で COM1:, COM2: , COM3: および COM4: と呼ばれる四つのシリアル ポートを探す ように設定されています. また, FreeBSD では, 現在のところ Boca の 1008 や 2016 のような, 単純なマルチポートのシリアル インタフェースもサポー トしています. (マルチポートのシリアル ボードに関しての kernel の設定 については, sio(4) のマニュアルを参照してください. ) デフォルト の kernel は, COM ポートだけを探します.

搭載されているシリアル ポートのいずれかを, kernel が認識しているかどう か確認したい場合は, kernel 起動時のメッセージを注意深く見ているか, あ るいは /sbin/dmesg コマンドを使って, ブート時の出力メッセージ を確認してください. 特に, sio で始まるメッセージをよく見てくださ い. 参考までに, 以下のコマンドで sio という文字列を含むメッセージ だけを表示することができます.

/sbin/dmesg | grep 'sio'

たとえば, シリアル ポートを四つ持つシステムの場合は, 以下のようなシリ アル ポートに関するメッセージが kernel によって表示されます.

sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A

もし, kernel に正常に認識されないポートがある場合は, おそらくカスタマ イズした kernel を構築する必要があるでしょう.

kernel 構築と構築のための設定に関しては, BSD System Manager's Manual の ``Building Berkeley Kernels with Config (config コマンドによる BSD kernel の構築) '' [ソース ファイルは /usr/src/share/doc/smm にあります]と ``FreeBSD Configuration Options'' [ /sys/conf/options および /sys/arch/conf/options.archarchの部分をたとえばi386としたファイル ] を参照 してください.

kernel の設定と構築をするためには, kernel のソース (FreeBSD 1.1 では srcdist/srcsys.??, FreeBSD 1.1.5.1 では srcdist/sys.??, またFreeBSD 2.0 では総てのソース)を展開 する必要があります.

まだ自分のシステムの kernel 用のコンフィギュレーション ファイルを作っ ていない場合は, /sys/i386/confcd して作成してくださ い. 初めてコンフィギュレーション ファイルを作る場合は, まず GENERICAH (FreeBSD 1.x で BusTek の SCSI コントローラを使っている場合は GENERICBT) というファイルを, YOURSYS にコピーしてください. ここ で, YOURSYS はあなたのシステム名で, 大文字である必要があります. このファイルを編集して, ディバイスに関する記述を変更します.

device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
device		sio2	at isa? port "IO_COM3" tty irq 5 vector siointr
device		sio3	at isa? port "IO_COM4" tty irq 9 vector siointr

システムに搭載されていないディバイスに関する記述は, コメントアウトまた は削除してしまってかまいません. Boca の BB2016 のようなマルチポートの シリアル ボードをお持ちの場合は, sio(4) のマニュアルを見て, マ ルチポートのボードのためのコンフィギュレーション ファイルの記述のし方 に関して確認してください. ディバイスのフラグの指定方法がバージョンによっ て異なりますので, 別のバージョンの FreeBSD で利用していたコンフィギュ レーション ファイルを流用する場合には十分注意してください.

なお, port "IO_COM1", "IO_COM2", "IO_COM3" および "IO_COM4" は, それぞれのポートの一般的なアドレスである 0x3f8,

0x2f8, 0x3e8 および 0x2e8 を表します. また, 割り込 み番号 4, 3, 5 と 9 は, それぞれ COM1: から COM4: のポー トで一般的に使用される IRQ です. また, ISA バスのコンピュータの場合, 一般的なシリアルポートは複数のポートで一つの IRQ を共有することが できませんので注意が必要です. (マルチポートのシリアル ボードの 場合は, 複数の 16550A ベースのポートで一つまたは二つの IRQ を共有する ための機構を備えています. )

コンフィギュレーション ファイルの編集が終わったら, ``Building Berkeley Kernels with Config (config コマンドによる BSD kernel の構築)'' および config(8) のマニュアルにしたがって, config コマンド を使って kernel 構築のためのディレクトリを作成した後, kernel の構築, インストールおよびテストを行ってください.


FreeBSD ハンドブック : シリアル通信 : ダイアルインサービス : Kernel の設定
Previous: 概要
Next: ディバイス スペシャル ファイル