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

印刷ビューの終了

更新: 2016 年 11 月
 
 

ドライバのインストール、更新、および削除

ドライバを使用する前に、ドライバが存在することをシステムに通知する必要があります。add_drv(1M) ユーティリティーを使用して、デバイスドライバを正しくインストールする必要があります。ドライバがインストールされたら、add_drv コマンドを使用せずに、メモリーからそのドライバをロードおよびアンロードできます。

モジュールディレクトリへのドライバのコピー

    デバイスドライバモジュールのパスは次の 3 つの条件によって決まります。

  • ドライバが実行されるプラットフォーム

  • ドライバがコンパイルされる対象のアーキテクチャー

  • ブート時にパスが必要かどうか

デバイスドライバは次の場所に置かれます。

/platform/`uname -i`/kernel/drv

特定のプラットフォームでのみ実行される 32 ビットドライバが格納されます。

/platform/`uname -i`/kernel/drv/sparcv9

特定の SPARC ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。

/platform/`uname -i`/kernel/drv/amd64

特定の x86 ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。

/platform/`uname -m`/kernel/drv

特定ファミリのプラットフォームでのみ実行される 32 ビットドライバが格納されます。

/platform/`uname -m`/kernel/drv/sparcv9

特定ファミリの SPARC ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。

/platform/`uname -m`/kernel/drv/amd64

特定ファミリの x86 ベースのプラットフォームでのみ実行される 64 ビットドライバが格納されます。

/usr/kernel/drv

プラットフォームに依存しない 32 ビットドライバが格納されます。

/usr/kernel/drv/sparcv9

プラットフォームに依存しない、SPARC ベースのシステムの 64 ビットドライバが格納されます。

/usr/kernel/drv/amd64

プラットフォームに依存しない、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 を使用したドライバのインストール

ドライバをシステムにインストールするには、add_drv(1M) コマンドを使用します。ドライバが正しくインストールされると、add_drvdevfsadm(1M) を実行し、/dev ディレクトリ内に論理名が作成されます。

# add_drv xx

この場合、デバイスが自身を xx だと識別します。デバイスの特殊ファイルにはデフォルトの所有権とアクセス権があります (0600 root sys)。add_drv コマンドでは、デバイスの追加の名前 (別名) を指定することもできます。別名を追加すること、およびファイルのアクセス許可を明示的に設定することについては、add_drv(1M) のマニュアルページを参照してください。


注 - add_drv コマンドを使用して STREAMS モジュールをインストールしないでください。詳細については、STREAMS Programming Guideを参照してください。

ドライバが、ディスク、テープ、ポートなどの端末デバイスを表さないマイナーノードを作成する場合、devfsadm によって /dev 内に論理デバイス名が作成されるように /etc/devlink.tab を変更できます。別の方法として、ドライバのインストール時に実行されるプログラムで論理名を作成できます。

ドライバ情報の更新

インストールされているデバイスドライバに対する変更をシステムに通知するには、update_drv(1M) コマンドを使用します。デフォルトでは、システムはドライバ構成ファイルを再度読み込み、ドライバのバイナリモジュールを再ロードます。

ドライバの削除

ドライバをシステムから削除するには、rem_drv(1M) コマンドを使用し、次にモジュールパスから、ドライバモジュールと構成ファイルを削除します。add_drv(1M) を使用してドライバを再インストールするまで、ドライバを再度使用することはできません。SCSI HBA ドライバの削除を有効にするにはリブートする必要があります。