Go to main content
Oracle® Solaris 11.3 デバイスドライバの記述

印刷ビューの終了

更新: 2016 年 11 月
 
 

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

ドライバをテストするときには、シリアル接続を使用することをお勧めします。ホストとテストシステムの間でシリアル接続を確立するには、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

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


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

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

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

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

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

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

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

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

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


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