ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
デバイスドライバの記述 Oracle Solaris 10 8/11 Information Library (日本語) |
ドライバを使用する前に、ドライバが存在することをシステムに通知する必要があります。add_drv(1M) ユーティリティーを使用して、デバイスドライバを正しくインストールする必要があります。ドライバがインストールされたら、add_drv コマンドを使用せずに、メモリーからそのドライバをロードおよびアンロードできます。
デバイスドライバモジュールのパスは次の 3 つの条件によって決まります。
ドライバが実行されるプラットフォーム
ドライバがコンパイルされる対象のアーキテクチャー
ブート時にパスが必要かどうか
デバイスドライバは次の場所に置かれます。
特定のプラットフォームでのみ実行される 32 ビットドライバが格納されます。
特定の SPARC ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。
特定の x86 ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。
特定ファミリのプラットフォームでのみ実行される 32 ビットドライバが格納されます。
特定ファミリの SPARC ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。
特定ファミリの x86 ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。
プラットフォームに依存しない 32 ビットドライバが格納されます。
プラットフォームに依存しない、SPARC ベースのシステムの 64 ビットドライバが格納されます。
プラットフォームに依存しない、x86 ベースのシステムの 64 ビットドライバが格納されます。
32 ビットドライバをインストールするには、モジュールパスの drv ディレクトリにドライバと設定ファイルをコピーする必要があります。たとえば、ドライバを /usr/kernel/drv にコピーするには、次のように入力します。
$ su # cp xx /usr/kernel/drv # cp xx.conf /usr/kernel/drv
SPARC ドライバをインストールするには、モジュールパスの drv/sparcv9 ディレクトリにドライバをコピーします。ドライバ設定ファイルは、モジュールパスの drv ディレクトリにコピーします。たとえば、ドライバを /usr/kernel/drv にコピーするには、次のように入力します。
$ su # cp xx /usr/kernel/drv/sparcv9 # cp xx.conf /usr/kernel/drv
64 ビット x86 ドライバをインストールするには、モジュールパスの drv/amd64 ディレクトリにドライバをコピーします。ドライバ設定ファイルは、モジュールパスの drv ディレクトリにコピーします。たとえば、ドライバを /usr/kernel/drv にコピーするには、次のように入力します。
$ su # cp xx /usr/kernel/drv/amd64 # cp xx.conf /usr/kernel/drv
注 - すべてのドライバ設定ファイル (.conf ファイル) はモジュールパスの drv ディレクトリに入れる必要があります。.conf ファイルを drv ディレクトリのサブディレクトリ内に入れることはできません。
ドライバをシステムにインストールするには、add_drv(1M) コマンドを使用します。ドライバが正しくインストールされると、 add_drv が devfsadm(1M) を実行し、/dev ディレクトリ内に論理名が作成されます。
# add_drv xx
この場合、デバイスが自身を xx だと識別します。デバイスの特殊ファイルにはデフォルトの所有権とアクセス権があります (0600 root sys)。add_drv コマンドでは、デバイスの追加の名前 (別名) を指定することもできます。別名を追加すること、およびファイルのアクセス許可を明示的に設定することについては、add_drv(1M) のマニュアルページを参照してください。
ドライバが、ディスク、テープ、ポートなどの端末デバイスを表さないマイナーノードを作成する場合、devfsadm が /dev 内に論理デバイス名を作成するように /etc/devlink.tab を変更できます。別の方法として、ドライバのインストール時に実行されるプログラムで論理名を作成できます。
インストールされているデバイスドライバに対する変更をシステムに通知するには、update_drv(1M) コマンドを使用します。デフォルトでは、システムはドライバ設定ファイルを再度読み込み、ドライバのバイナリモジュールを再ロードます。
ドライバをシステムから削除するには、rem_drv(1M) コマンドを使用し、次にモジュールパスから、ドライバモジュールと設定ファイルを削除します。add_drv(1M) を使用してドライバを再インストールするまで、ドライバを再使用することはできません。SCSI HBA ドライバの削除を有効にするにはリブートする必要があります。