DCONSCHAT(8) | FreeBSD System Manager's Manual | DCONSCHAT(8) |
名称
dconschat — dcons(4) へのユーザインタフェース書式
dconschat | [ -brvwRT1][ -e escape-char][ -h hz][ -C console_port][ -G gdb_port][ -M core][ -N system] |
dconschat | [ -brvwR1][ -h hz][ -C console_port][ -G gdb_port][ -a address][ -u bus_num] -t target_eui64 |
解説
dconschat ユーティリティは、ユーザがローカルまたはリモートシステムで dcons(4) (ダムコンソールデバイス) にアクセスする方法を提供するように設計されています。 dconschat ユーティリティは kvm(3) または firewire(4) を使用して、 dcons(4) と対話します、また TTY または TCP/IP の上のユーザと対話します。 firewire(4) を使用して、リモートの dcons(4) にアクセスするために、 -t オプションを使ってターゲット EUI64 アドレスを指定しなければなりません。物理的な DMA は、FireWire を通してアクセスされるターゲットマシンで有効にされるべきです。dconschat ユーティリティと dcons(4) ドライバは、コンソールポートのために 1 つと別のリモート gdb(1) ポートのための 2 つのポートを使用して通信します。ユーザは、TTY、 telnet(1) と gdb(1) を使用して、 dconschat にアクセスすることを想定されています。 -C と -G オプションそれぞれを使用してコンソールと gdb(1) ポートのためのリッスン (聞く) ポートを指定することができます。ポート番号 0 は、現在の TTY (stdin/stdout) は TCP/IP の代わりに使用されるという特別の意味を持っています、負のポート番号はポートを無効にします。 pty(4) デバイスから類推して、 dcons(4) は、スレーブデバイスの役割をします。また、 dconschat は、 telnetd(8) でマスタデバイスの役割をします。
タイプされた文字は、通常 dcons(4) に直接転送されます。行の最初の文字として現れるエスケープ文字 (デフォルトは‘ ~
’です) は、エスケープシグナルです。次の文字が、認識されます:
- ~.
- 接続を中止して、終了します。
- ~^G
- dconschat が実行されている端末で kgdb を呼び出します。
- ~^R
- リセットアドレスが設定 ROM に登録されているなら、FireWire を超えてターゲットをリセットします。
- ~^Z
- dconschat プロセスを中断 (suspend) します。
次のオプションがサポートされています。
- -b
-
gdb(1) ポートで Ctrl-C を ALT_BREAK (CR + ‘
~
’ + Ctrl-B) へ変換します。 - -r
- 接続中に古いバッファを再生します。
- -v
- 冗舌なデバッグ出力を行ないます。複数の -v は冗舌度を増します。
- -w
- localhost ではなくワイルドカードアドレスでリッスン (聞く) します。
- -R
- 読み込み専用です。 dcons(4) バッファに何も書き込みません。
- -T
- 不必要なバイトシーケンスを削除するために TELNET プロトコルのためのアドホックな回避方法を利用可能にします。 telnet(1) を使用して、利用者が dconschat にアクセスする場合、それが設定されるべきです。
- -1
- 1 回限りです。利用可能なバッファを読み込み、それから終了します。これは -r オプションを意味します。
- -e escape-char
- エスケープ文字を指定します。デフォルトは、'~' です。
- -h hz
- ポーリングレート (割合) を指定します。デフォルト値は 100 です。
- -C console_port
- コンソールポートを指定します。デフォルト値は 0 (stdin/stdout) です。
- -G gdb_port
- gdb(1) ポートを指定します。デフォルト値は -1 (無効) です。
- -M core
- コアファイルを指定します。
- -N system
- /boot/kernel/kernel のようなシステムファイルを指定します。
- -t target_eui64
- 64 ビットに拡張したターゲットのユニークな識別子を指定して、リモートの dcons(4) にアクセスするために FireWire (ファイヤワイヤ) を使用します。
- -a address
- dcons(4) バッファの物理的 I/O アドレス指定します。詳細に関しては、 dcons(4) を参照してください。このオプションが指定されない場合、 dconschat はターゲット上の構成 ROM からアドレスを得る試みをします。ターゲット上でこのオプションを省略するために dcons_crom(4) を利用可能にすることが想定されています。
- -u bus_num
- FireWire (ファイヤワイヤ) バス番号を指定します。デフォルトは 0 です。
関連ファイル
- /dev/fwmem0.0
- /dev/mem
- /dev/kmem
使用例
リモートの dcons(4) のために FireWire (ファイヤワイヤ) で dconschat を使用するために、ターゲットの EUI64 を指定しなければなりません。オプションなしで fwcontrol(8) を実行することにより EUI64 を得ることができます。最初の EUI64 は fwcontrol(8) を実行するホストであり、バス中の他のものは次の通りです。
# fwcontrol 2 devices (info_len=2) node EUI64 status 1 77-66-55-44-33-22-11-00 0 0 00-11-22-33-44-55-66-77 1
もし利用者が ethernet アドレスとしてハードウェアを変更しなければ、EUI64 は変わりません。
これで、 dconschat を実行することができます。
# dconschat -br -G 12345 -t 00-11-22-33-44-55-66-77
getty(8) が dcons(4) で実行している場合、ターゲットとログインプロンプトのコンソール出力を得ます。 DDB と ALT_BREAK_TO_DEBUGGER がターゲットのカーネルで利用可能になる場合、 ALT_BREAK (CR + ‘ ~
’ + Ctrl-B) で DDB のためにブレークできます。セッションを終了するために、コンソールポートで CR + ‘ ~
’ + ‘ .
’をタイプします。
gdb(1) ポートの使用は、 /dev/cu* の代わりに TCP/IP を使用する以外はシリアルラインの向こう側のリモート gdb(1) とほとんど同じです。詳しくは The FreeBSD Developers Handbook (FreeBSD 開発者ハンドブック) の On-line Kernel Debugging Using Remote GDB (リモート GDB を使用するオンラインカーネルデバッギング) セクションと gdb(4) を参照してください。
% gdb -k kernel.debug (kgdb) target remote :12345
いったん gdb(1) がアタッチされ、 dconschat に -b オプションを指定したならば、 gdb(1) で Ctrl-C をタイプしてデバッガにブレーク (中断) を起こさせます。
次のコマンドは、クラッシュダンプからコンソールログを得ます。
# dconschat -1 -M vmcore.0 -N kernel.0
telnet(1) を使用して、コンソールへのアクセスを望む場合は、次を試みてください。
# dconschat -rTC 5555 & # telnet localhost 5555
いくつかのマシンのコンソール出力をロギング (記録) し続けたいと思うかもしれません。 Ports コレクションの conserver-com は利用者を助けます。 conserver.cf に次の行を挿入します。
console local { master localhost; type exec; exec /usr/sbin/dconschat -rh 25; } console remote { master localhost; type exec; exec /usr/sbin/dconschat -rh 25 -t 00-11-22-33-44-55-66-77; }
関連項目
gdb(1), telnet(1), kvm(3), dcons(4), dcons_crom(4), ddb(4), firewire(4), fwohci(4), gdb(4), eui64(5), fwcontrol(8)作者
<simokawa@FreeBSD.org>バグ
このユーティリティは、現在開発中です。February 11, 2003 | FreeBSD |