分シリアルコンソールデスクトップPCであれノートPCであれ,操作にはキーボードを使いますし,入出力の確認にはディスプレイを使います。デバイスによってはキーボードを接続するポートも,VGAポートも付いておらず,それらを接続するための拡張バスも用意されていないものがあります。いったデバイスではシリアルコンソールが提供されていることが多く,シリアルコンソール経由でシステムを起動し,そして操作します。ルータとして使うような小型のロジックボードや組込み機器として使うようなロジックボードにはVGAポートやUSBポートが付いていないものがあります。したマシンにはシリアルケーブルを接続して,ほかのマシンからログインや操作を行います。組込み機器のみならず,ラックマウントサーバでもシリアルコンソールを使うことがあります。通常,ラックマウントサーバはデータセンターに設置され,基本的に遠隔から操作することになります。なると,サーバに何か問題が発生してssh(1)経由でアクセスできなくなると,データセンターまで物理的に足を運ぶ必要がでてきます。ここで利用できるのがシリアルコンソールです。配置と接続方法はさまざまですが,たとえばラックマウントサーバを相互にシリアルコンソールで接続しておきます。あるマシンにssh(1)でログインできなくなったら,シリアルコンソールが接続されているもう1台のマシンにssh(1)でログインします。そこからシリアルコンソール経由で問題となっているマシンにアクセスして,再起動なり問題の解決などの操作を行うといったものです。コンシューマ向けのPCにはもうシリアルコンソールが付いていないことが多いので普段さわることは少ないと思いますが,方法を知っておくと何かと使えますので,今回はシリアルコンソール経由でシステムを起動したり,システムにログインする方法を紹介します。アクセスされる側の設定アクセスされる側の設定として,シリアルの通信速度(ボーレート(変調速度⁠)⁠)とポート番号を知る必要があります。通信速度はマニュアルやBIOSの設定などから拾ってください。ポート番号は,たとえば次のように起動時に出力されるメッセージや,devinfo(8)コマンドで出力される内容から知ることができます。uart(4)がシリアルに対応したデバイスドライバです。例に取り上げたマシンではCOM2に相当するシリアルを使うので,ここではuart1を使います。COM1に対応するのがuart0,COM2に対応するのがuart1です。uart1のポート番号のはじまりの値に注目してください。今回のケースでは「0x2f8」がポート番号です。この値は製品ごと(大抵はメーカごと)に異なります。16進数で出力されているので,これを10進数に変換しておきます。やって変換してもよいのですが,Google検索のついでに変換してしまうのが簡単でしょう。decimal」のように検索すると変換後の値が出力されます。16進数を10進数へ変更コマンドで変換するならprintf(1)を使うとか,やり方はいろいろあります。ブート時の出力をVGAにもシリアルコンソールにも流す場合には,/boot/loader.confに次のような設定を追加します。ポート番号と通信速度は適宜状況に合わせて書き換えてください。/boot/loader.confの設定(VGAコンソール/シリアルコンソール両用版)boot_multicons="YES"console="comconsole,vidconsole"comconsole_port="760"comconsole_speed="115200"そもそもVGAが提供されていないとか,シリアルコンソールしか使わないといった場合には次のように設定します。/boot/loader.confの設定(シリアルコンソールのみ使用版)boot_serial="YES"console="comconsole"comconsole_port="760"comconsole_speed="115200"最後に/etc/ttysのttyu1のエントリを次のように書き換えます。std.115200の数字の部分が通信速度になっていますので,状況に応じて書き換えてください。secureシリアルの設定はマシンによってはBIOSやUEFIで設定しないと使えないものがありますので,まず最初にそちらの設定を確認しておきましょう。アクセスする側シリアル経由でアクセスする方法はいくつかありますが,cu(1)コマンドを使うのが簡単でしょう。次のように通信速度と対応するシリアルを指定して接続します。cuau0がuart0に対応しています。/dev/cuau0シリアルポートが存在しないPCの場合,USBシリアルケーブルなどを使うことでアクセスできるようになります。USBシリアルケーブルを接続すると/dev/cuaU0といったデバイスが生えてきますので,これを指定して通信します。FusionをインストールしてそこにFreeBSDをゲストオペレーティングシステムとしてインストールしてある場合などは,MacBookに接続したUSBシリアルケーブルをゲストOS側に向けることで,ゲストのFreeBSDからシリアル通信できるようになります。接続を切る場合には「~.」と入力します。うまく接続が切れない場合には,何度かリターンキーを押してから「~.」と入力します。