postinstall revision 6f45ec7b0b964c3be967c4880e8867ac1e7763a5
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#!/sbin/sh
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# CDDL HEADER START
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# The contents of this file are subject to the terms of the
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# Common Development and Distribution License (the "License").
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# You may not use this file except in compliance with the License.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# or http://www.opensolaris.org/os/licensing.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# See the License for the specific language governing permissions
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# and limitations under the License.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# When distributing Covered Code, include this CDDL HEADER in each
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# If applicable, add the following below this CDDL HEADER, with the
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# fields enclosed by brackets "[]" replaced with your own identifying
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# information: Portions Copyright [yyyy] [name of copyright owner]
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# CDDL HEADER END
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# Use is subject to license terms.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# ident "%Z%%M% %I% %E% SMI"
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftset -u
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftPATH="/usr/bin:/usr/sbin:${PATH}"
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftexport PATH
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# Driver info
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftDRV=nxge
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftDRVALIAS=" \"pciex108e,abcd\" \"SUNW,niusl\""
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftDRVPERM='* 0600 root sys'
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# POLICY='read_priv_set=net_rawaccess write_priv_set=net_rawaccess'
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftMAJORDEV=11
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# Select the correct add_drv options to execute.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftif [ "${BASEDIR}" = "/" ]; then
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift #
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # Irrespective of whether hardware exists
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # or not don't attempt to attach driver
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # to the hardware. This is to avoid problems
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # with installing a 32 bit driver on a 64 bit
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # running system.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift #
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift ADD_DRV="add_drv -n"
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftelse
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift #
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # On a client,
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # modify the system files and touch/reconfigure
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift # for reconfigure reboot
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift #
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift ADD_DRV="add_drv -b ${BASEDIR}"
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftfi
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# Make sure add_drv has *not* been previously executed
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift# before attempting to add the driver.
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift#
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftgrep -w "${DRV}" ${BASEDIR}/etc/name_to_major > /dev/null 2>&1
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftif [ $? -eq 1 ]; then
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift ${ADD_DRV} -m "${DRVPERM}" -i "${DRVALIAS}" ${DRV}
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift if [ $? -ne 0 ]; then
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift echo "\nFailed add_drv!\n" >&2
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift exit 1
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift fi
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swiftelse
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift echo " add_drv Failed; ${DRV} is already in ${BASEDIR}/etc/name_to_major"
7ce59cffdb903ce1661537ac78892e0ca8a79dd2matthew_swift exit 0
fi
exit 0