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