xref: /illumos-gate/usr/src/cmd/svc/milestone/devices-local (revision 3ee0e49223f178da635734759b9167f924321ff0)
1#!/sbin/sh
2#
3# CDDL HEADER START
4#
5# The contents of this file are subject to the terms of the
6# Common Development and Distribution License (the "License").
7# You may not use this file except in compliance with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T.
27# All rights reserved.
28#
29#
30# ident	"%Z%%M%	%I%	%E% SMI"
31
32# Initiate the device reconfiguration process in case we need some
33# device links established so that we can successfully perform our
34# remaining standard mounts.
35
36. /lib/svc/share/smf_include.sh
37
38smf_is_globalzone || exit $SMF_EXIT_OK
39
40svcprop -q -p system/reconfigure system/svc/restarter:default
41if [ $? -eq 0 ]; then
42	echo 'Configuring devices.' > /dev/msglog 2>&1
43	/usr/sbin/devfsadm >/dev/msglog 2>&1
44        if [ -x /usr/ucb/ucblinks -a -f /usr/ucblib/ucblinks.awk ]; then
45                /usr/ucb/ucblinks >/dev/null 2>&1
46        fi
47
48	#
49	# Flush any existing socket mappings since the major numbers of
50	# the device files may have changed.
51	#
52	/usr/bin/awk '/^[^#]/ { print $1, $2, $3 }' /etc/sock2path | \
53		/sbin/soconfig -f /dev/fd/0 >/dev/null 2>&1
54	/sbin/soconfig -f /etc/sock2path >/dev/null 2>&1
55
56	#
57	# Update kernel driver.conf cache.
58	#
59	/usr/sbin/devfsadm -I
60fi
61
62# Establish the default framebuffer name.
63
64fbdev=`/usr/sbin/prtconf -F 2>/dev/null`
65
66if [ $? -eq 0 ]; then
67	set -- /devices$fbdev*
68	if [ -c $1 ]; then
69		if [ -h /dev/fb ]; then
70			fblink=`ls -l /dev/fb | /usr/bin/awk '{ print $11 }'`
71
72			if [ "$1" != "$fblink" ]; then
73				rm -f /dev/fb
74				ln -s $1 /dev/fb
75			fi
76		else
77			rm -f /dev/fb
78			ln -s $1 /dev/fb
79		fi
80        fi
81fi
82
83# Create any zvol devices
84if [ -x /usr/sbin/zfs ]; then
85	/usr/sbin/zfs volinit || exit $SMF_EXIT_ERR_FATAL
86	#
87	# Add swap again to allow for swapping to zvols.
88	#
89	/sbin/swapadd
90fi
91
92exit $SMF_EXIT_OK
93