#!/bin/sh # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # PATH="/usr/bin:/usr/sbin:$PATH"; export PATH # # SUNWcsd postinstall configuration # # This file supplies /dev links needed in the install miniroot. The link # targets are automatically created by devfs as driver attaches. # The prototype_com, prototype_sparc, and prototype_i386 variables defined # below each consist of two whitespace-delimited columns, defined as follows: # # 1. Device Path - Relative (should NOT begin with /) path to the device file # to be created. This base is interpreted relative to $BASEDIR (typically /a). # # 2. Symbolic Link - The symlink to the device path which should be created. # The link should be a relative path to which $BASEDIR can be prepended. # # # Common driver entries: # prototype_com=' devices/pseudo/arp@0:arp dev/arp devices/pseudo/clone@0:ibd dev/ibd devices/pseudo/dld@0:ctl dev/dld devices/pseudo/dlpistub@0:ipmpstub dev/ipmpstub devices/pseudo/icmp@0:icmp dev/icmp devices/pseudo/icmp@0:icmp dev/rawip devices/pseudo/icmp6@0:icmp6 dev/icmp6 devices/pseudo/icmp6@0:icmp6 dev/rawip6 devices/pseudo/ip@0:ip dev/ip devices/pseudo/ip6@0:ip6 dev/ip6 devices/pseudo/rts@0:rts dev/rts devices/pseudo/tcp@0:tcp dev/tcp devices/pseudo/tcp6@0:tcp6 dev/tcp6 devices/pseudo/udp@0:udp dev/udp devices/pseudo/udp6@0:udp6 dev/udp6 devices/pseudo/ipsecah@0:ipsecah dev/ipsecah devices/pseudo/ipsecesp@0:ipsecesp dev/ipsecesp devices/pseudo/keysock@0:keysock dev/keysock devices/pseudo/cn@0:console dev/console devices/pseudo/cn@0:syscon dev/syscon devices/pseudo/cn@0:systty dev/systty devices/pseudo/ksyms@0:ksyms dev/ksyms devices/pseudo/log@0:conslog dev/conslog devices/pseudo/log@0:log dev/log devices/pseudo/mm@0:mem dev/mem devices/pseudo/mm@0:kmem dev/kmem devices/pseudo/mm@0:null dev/null devices/pseudo/mm@0:allkmem dev/allkmem devices/pseudo/mm@0:zero dev/zero devices/pseudo/openeepr@0:openprom dev/openprom devices/pseudo/pm@0:pm dev/pm devices/pseudo/sad@0:admin dev/sad/admin devices/pseudo/sad@0:user dev/sad/user devices/pseudo/sy@0:tty dev/tty devices/pseudo/sysevent@0:sysevent dev/sysevent devices/pseudo/sysmsg@0:msglog dev/msglog devices/pseudo/sysmsg@0:sysmsg dev/sysmsg devices/pseudo/tl@0:ticots dev/ticots devices/pseudo/tl@0:ticotsord dev/ticotsord devices/pseudo/tl@0:ticlts dev/ticlts devices/pseudo/wc@0:wscons dev/wscons devices/pseudo/zfs@0:zfs dev/zfs ' # # SPARC-specific driver entries: # prototype_sparc=' ' # # Intel-specific driver entries: # prototype_i386=' devices/pseudo/conskbd@0:kbd dev/kbd ' # # SUNWcsd postinstall implementation # # Below this point is the code to process the above $prototype_* maps. # You should not need to modify any code below this point to configure # new drivers. You should also not need to add code here to remove # links created by a previous version of this package. All the links # can also be created by devfsadm link generators; the reason they # are also here is for the initial boot (miniroot or diskless client) # where certain devices must be present to get to the point when # devfsadm runs. # # # Determine an appropriate place for our private error log file. If $PKGSAV # is available, use that; otherwise use /tmp or /dev/null. We keep a private # error log primarily as a debugging facility. # errlog=/dev/null for file in $PKGSAV/SUNWcsd.err /tmp/SUNWcsd.err; do rm -f $file if touch $file >/dev/null 2>&1; then errlog=$file break fi done eval echo "\"\$prototype_com\"" "\"\$prototype_${ARCH}\"" | \ while read path symlink; do [ -z "$path" ] && continue # Skip blank lines # # The link destination must be specified as an absolute path # to installf. The source we modify to be relative to the # destination (each "/" becomes a "../" prefix); thus # linkdst "dev/foo/bar" yields prefix "../../". # lprefix=`echo "$symlink" | sed 's:[^/]*::g;s:/:../:g'` linksrc="$lprefix$path" linkdst="/$symlink" if [ ! -L ${BASEDIR}$linkdst ]; then echo "add link $linkdst=$linksrc" ln -s $linksrc ${BASEDIR}$linkdst fi done cat << EOF > ${BASEDIR}/devices/README Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. This installation of Solaris uses devfs to provide /devices. Warning: Do not change the content of this directory or its subdirectories. The directory containing this README file is typically hidden underneath the /devices devfs(7FS) mount point. All content at or below this directory is an implementation artifact and subject to incompatible change or removal without notification. Please reference devfs(7FS) for more information. EOF if [ -f ${BASEDIR}/devices/README ]; then chown root:sys ${BASEDIR}/devices/README chmod 444 ${BASEDIR}/devices/README fi exit 0