ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
デバイスドライバの記述 Oracle Solaris 10 8/11 Information Library (日本語) |
この章と、第 22 章デバイスドライバのデバッグ、テスト、およびチューニングおよび第 23 章推奨されるコーティング方法の 2 つの章では、デバイスドライバの開発について詳しく説明します。
デバイスドライバを構築するには、次の手順に従います。
新しいコードを記述、コンパイル、リンクします。
ファイルの命名規則については、「ドライバコードの配置」を参照してください。C コンパイラを使用してドライバをコンパイルします。ld(1) を使用してドライバをリンクします。「ドライバのコンパイルとリンク」と「モジュールの依存関係」を参照してください。
必要なハードウェア設定ファイルを作成します。
デバイスに固有の、xx .conf という名前のハードウェア設定ファイルを作成します。xx にはデバイスの接頭辞が入ります。このファイルは driver.conf(4) ファイルを更新するために使用されます。「ハードウェア設定ファイルの記述」を参照してください。擬似デバイスドライバの場合は、pseudo(4) ファイルを作成します。
適切なモジュールディレクトリにドライバをコピーします。
「モジュールディレクトリへのドライバのコピー」を参照してください。
add_drv(1M) を使用してデバイスドライバをインストールします。
add_drv を使用したドライバのインストールは、通常はインストール後スクリプトの一部として実行されます。「add_drv を使用したドライバのインストール」を参照してください。update_drv(1M) コマンドを使用して、必要な変更をドライバに加えます。「ドライバ情報の更新」を参照してください。
ドライバをロードします。
デバイスにアクセスすることでドライバを自動的にロードできます。「ドライバのロードとアンロード」と「パッケージのインストール後処理」を参照してください。ドライバは modload(1M) コマンドを使用してもロードできます。modload コマンドはモジュール内のどのルーチンも実行しないので、テストの際に役立ちます。「テストモジュールのロードとアンロード」を参照してください。
ドライバをテストします。
ドライバは次の領域で厳しくテストする必要があります。
ドライバ固有のその他のテストについては、「特定の種類のドライバのテスト」を参照してください。
必要に応じてドライバを削除します。
rem_drv(1M) コマンドを使用してデバイスドライバを削除します。「ドライバの削除」と「パッケージの削除前処理」を参照してください。