RS-232C
AHCI や TRIM といった新しい技術から一転して、いわゆるレガシーなポートの代表格であるところの RS-232C の話を。
詳しい説明は Wikipedia などを見ていただくとして、サーバやネットワーク機器などのメンテナンス用には使い勝手がいいため、まだしばらくは生き残ると思われます。この Serial インタフェースの大御所は、子孫(笑)の USB, SATA, SAS などといった Serial な規格が猛烈に高速化している中で、じつは人間の手作業においては必要十分な速度を持っているのですね。
メンテナンス作業に GUI が前提となる Windows などの OS の場合は、VGA(Dsub-15pin)ポートに(それなりのグラフィック表示が可能な機能と大きさの)アナログモニタ、PS/2 もしくは USB ポートにキーボードとマウス、という3つのデバイスを接続する必要がありますが、CUI で済む OS の場合は基本的に文字端末とキーボードだけでいいので、デバイスとしては低速な Serial 接続の端末だけで済みます。ケーブル1本で済むという「使い勝手の良さ」が生き残っている理由の一つでしょう。
家の FreeBSD サーバでも活用しているので、OS 側の設定をメモ的に。BIOS 側は “Console Redirection” とかそのあたりを有効にしておけばなんとかなります(てきとう)。速度を指定できるなら無難に9600bpsで(てきとう)。以下、FreeBSD 8.2-RELEASE の例です。
/etc/ttys (一部書き換え)
ttyu0 “/usr/libexec/getty std.9600” dialup off secure
↓
ttyu0 “/usr/libexec/getty std.9600” vt100 on secure
#ttyu0 “/usr/libexec/getty std.9600” dialup off secure
/boot/loader.conf (追記)
console=comconsole
/boot/boot.config (なければ新規作成)
-Dh
このように設定して OS 再起動すれば、boot loader メニューを抜けた後、つまり kernel が読み込まれた後の表示から、RS-232C ポートを使って入出力できるようになります。さらに BIOS の Console Redirection がうまくいっていれば、それこそ最初のメモリカウントから表示され、BIOS setup 画面に入ってカーソル移動なんかもできると思います。
端末側は、VT100 そのものはもう買えないので(笑)、エミュレータを使います。Windows で動く端末エミュレータとしては TeraTerm や PuTTY などがあります。端末側も FreeBSD なら、tip コマンドや cu コマンドなどが使えます。このような一般的な PC を端末として使う場合は、ストレートではなくクロス(リバース)の接続ケーブルを使います。
もっと安いものもありますが、消耗品ではないですし、イザというときの機材なので、まあ600円ぐらいは出してもバチは当たらない(笑)でしょう。