Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

シリアル接続を使用したテスト

シリアル接続を使用することは、ドライバをテストするための良い方法です。ホストシステムとテストシステムの間でシリアル接続を確立するには、tip(1) コマンドを使用します。このアプローチでは、ホストコンソールの tip ウィンドウがテストマシンのコンソールとして使用されます。詳細については、tip(1) のマニュアルページを参照してください。

    tip ウィンドウには次のような利点があります。

  • テストシステムやカーネルデバッグとの対話内容をモニターできます。たとえば、ドライバが原因でテストシステムがクラッシュした場合、このウィンドウは使用中のセッションのログを記録できます。

  • tip ホストマシンにログインし、tip(1) を使用してテストマシンに接続することにより、テストマシンにリモートアクセスできます。


注 - Oracle Solaris デバイスドライバのデバッグに tip 接続や 2 台目のマシンの使用が必須というわけではありませんが、それでもこの手法をお勧めします。

tip 接続用にホストシステムを設定するには

  1. ホストシステムとテストマシンとを、両マシン上のシリアルポート A を使用して接続します。

    この接続を行う際にはヌルモデムケーブルを使用する必要があります。

  2. ホストシステム上で、/etc/remote 内に接続用のエントリが存在していることを確認します。詳細は、remote (4) のマニュアルページを参照してください。

    この端末エントリは、使用するシリアルポートに一致している必要があります。シリアルポート B については、オペレーティングシステムに適切なエントリが含まれていますが、シリアルポート A については端末エントリを追加する必要があります。

    debug:\
            :dv=/dev/term/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:

    注 - ボーレートは 9600 に設定する必要があります。
  3. ホストのシェルウィンドウで tip (1) を実行し、エントリの名前を指定します。
    % tip debug
    connected

    これによって、そのシェルウィンドウがテストマシンのコンソールへの接続を含む tip ウィンドウになります。


    Caution

    注意  - テストマシンを停止するためにホストマシン上で、STOP-A キー (ホストマシンが SPARC マシンの場合) または F1-A キー (x86 アーキテクチャーマシンの場合) を使用しないでください。この操作を行うと、実際にはホストマシンが停止されます。テストマシンに BREAK 信号を送信するには、tip ウィンドウで ~# と入力します。~# などのコマンドが認識されるのは、それらの文字が行の先頭にある場合のみです。このコマンドで効果がない場合は、Return キーまたは Control-U キーを押してください。


SPARC プラットフォームのターゲットシステムの設定

SPARC プラットフォームのテストマシンを設定する簡単な方法は、マシンの電源を入れる前にキーボードを取り外すことです。これによって、マシンのシリアルポート A が自動的にコンソールとして使用されます。

テストマシンを設定するもう 1 つの方法は、ブート PROM コマンドを使用してシリアルポート A をコンソールにすることです。テストマシンのブート PROM の ok プロンプトで、コンソール入出力をシリアル回線に転送します。テストマシンの起動時に必ずシリアルポート A がコンソールとして使用されるようにするには、環境変数 input-device と output-device を設定します。

使用例 23-1  ブート PROM コマンドによる input-device と output-device の設定
ok setenv input-device ttya
ok setenv output-device ttya

eeprom コマンドを使用すると、シリアルポート A をコンソールにすることもできます。スーパーユーザーとして次のコマンドを実行し、input-device および output-device パラメータがシリアルポート A を指すようにします。次の例はその eeprom コマンドを示したものです。

使用例 23-2  eeprom コマンドによる input-device と output-device の設定
# eeprom input-device=ttya
# eeprom output-device=ttya

この eeprom コマンドにより、その後システムがブートされるたびにコンソールがシリアルポート A にリダイレクトされます。

x86 プラットフォーム上のターゲットシステムの設定

x86 プラットフォームでは、eeprom コマンドを使用してシリアルポート A をコンソールにします。その手順は、SPARC プラットフォームの手順と同じです。Setting Up a Target System on the SPARC Platformを参照してください。この eeprom コマンドにより、リブート中にコンソールがシリアルポート A (COM1) に切り替わります。


注 - x86 マシンでは、BIOS がシリアルポートへのコンソールリダイレクションをサポートしていないかぎり、ブート処理のある初期段階に達するまでコンソールの制御が tip 接続に移りません。SPARC マシンではブート処理の全体を通じて、tip 接続がコンソールの制御を維持します。