ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
デバイスドライバの記述 Oracle Solaris 10 8/11 Information Library (日本語) |
ソフトウェアの通常の提供手段は、すべてのソフトウェアコンポーネントを含むパッケージを作成することです。パッケージは、ソフトウェア製品のすべてのコンポーネントをインストールおよび削除するための制御された機構を提供します。パッケージには、製品を使用するためのファイルに加えて、アプリケーションのインストールとアンインストールを行うための制御ファイルが含まれています。インストール後と削除前の 2 つのインストールスクリプトは、そうした制御ファイルです。
ドライババイナリとともにパッケージがシステムにインストールされたあとは、add_drv(1M) コマンドを実行する必要があります。add_drv コマンドはドライバのインストールを完了します。通常、add_drv は次の例のように、インストール後スクリプトで実行されます。
#!/bin/sh # # @(#)postinstall 1.1 PATH="/usr/bin:/usr/sbin:${PATH}" export PATH # # Driver info # DRV=<driver-name> DRVALIAS="<company-name>,<driver-name>" DRVPERM='* 0666 root sys' ADD_DRV=/usr/sbin/add_drv # # Select the correct add_drv options to execute. # add_drv touches /reconfigure to cause the # next boot to be a reconfigure boot. # if [ "${BASEDIR}" = "/" ]; then # # On a running system, modify the # system files and attach the driver # ADD_DRV_FLAGS="" else # # On a client, modify the system files # relative to BASEDIR # ADD_DRV_FLAGS="-b ${BASEDIR}" fi # # Make sure add_drv has not been previously executed # before attempting to add the driver. # grep "^${DRV} " $BASEDIR/etc/name_to_major > /dev/null 2>&1 if [ $? -ne 0 ]; then ${ADD_DRV} ${ADD_DRV_FLAGS} -m "${DRVPERM}" -i "${DRVALIAS}" ${DRV} if [ $? -ne 0 ]; then echo "postinstall: add_drv $DRV failed\n" >&2 exit 1 fi fi exit 0
ドライバが含まれるパッケージを削除するときには、ドライバのバイナリとその他のコンポーネントを削除する前に、rem_drv(1M) コマンドを実行する必要があります。次の例では、ドライバの削除のために rem_drv コマンドを使用する削除前スクリプトを示します。
#!/bin/sh # # @(#)preremove 1.1 PATH="/usr/bin:/usr/sbin:${PATH}" export PATH # # Driver info # DRV=<driver-name> REM_DRV=/usr/sbin/rem_drv # # Select the correct rem_drv options to execute. # rem_drv touches /reconfigure to cause the # next boot to be a reconfigure boot. # if [ "${BASEDIR}" = "/" ]; then # # On a running system, modify the # system files and remove the driver # REM_DRV_FLAGS="" else # # On a client, modify the system files # relative to BASEDIR # REM_DRV_FLAGS="-b ${BASEDIR}" fi ${REM_DRV} ${REM_DRV_FLAGS} ${DRV} exit 0