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 (c) 1984, 1986, 1987, 1988, 1989 AT&T.
24 # All rights reserved.
25 #
26 #
27 # Copyright 2006 Sun Microsystems, Inc. All rights reserved.
28 # Use is subject to license terms.
29 #
30 # ident "%Z%%M% %I% %E% SMI"
31
32 . /lib/svc/share/smf_include.sh
33 . /lib/svc/share/net_include.sh
34
35 # Make sure that the libraries essential to this stage of booting can be found.
36 LD_LIBRARY_PATH=/lib; export LD_LIBRARY_PATH
37
38 #
39 # If DHCP was used on a primary interface then set the hostname
40 # that was returned. If no hostname was returned, set the name
41 # to be "unknown". The hostname must be set to something, because
42 # tooltalk will hang unless the name can be locally resolved.
43 # Sendmail also requires the name to be resolvable locally.
44 # Later, in inetsvc, we create a name "unknown" and create a entry
45 # in the local /etc/inet/hosts file pairing "unknown" with the IP
46 # address assigned by DHCP. The use of bootparams as a fallback
47 # for all non-DHCP cases provides compatibility with the
48 # behavior of the system before netstrategy was introduced.
49 #
50 # For non-global zones, fall back to the `uname -n` value provided by the
51 # kernel if /etc/nodename does not exist, as is expected on an initial boot.
52 #
53
54 smf_netstrategy
55
56 case "$_INIT_NET_STRATEGY" in
57 "dhcp") hostname=`/sbin/dhcpinfo Hostname` ;;
58 "rarp") hostname=`/sbin/hostconfig -h -p bootparams`
59 trap 'intr=1' 2 3
60 while [ -z "$hostname" -a ! -f /etc/.UNCONFIGURED -a \
61 -z "$intr" ]; do
62 echo "re-trying host configuration..."
63 # Restrict this to IPv4 interfaces.
64 /sbin/ifconfig -adD4 auto-revarp up
65 hostname=`/sbin/hostconfig -h -p bootparams`
66 done
67 trap 2 3 ;;
68 "none") hostname="`shcat /etc/nodename 2>/dev/null`"
69 if [ -z "$hostname" ]; then
70 if smf_is_globalzone; then
71 hostname=`/sbin/hostconfig -h -p bootparams`
72 else
73 hostname=`/sbin/uname -n`
74 fi
75 fi ;;
76 esac
77
|
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 (c) 1984, 1986, 1987, 1988, 1989 AT&T.
24 # All rights reserved.
25 #
26 #
27 # Copyright 2006 Sun Microsystems, Inc. All rights reserved.
28 # Use is subject to license terms.
29 #
30 # Copyright 2018 Nexenta Systems Inc.
31
32 . /lib/svc/share/smf_include.sh
33 . /lib/svc/share/net_include.sh
34
35 # Make sure that the libraries essential to this stage of booting can be found.
36 LD_LIBRARY_PATH=/lib; export LD_LIBRARY_PATH
37
38 #
39 # If DHCP was used on a primary interface then set the hostname
40 # that was returned. If no hostname was returned, set the name
41 # to be "unknown". The hostname must be set to something, because
42 # tooltalk will hang unless the name can be locally resolved.
43 # Sendmail also requires the name to be resolvable locally.
44 # Later, in inetsvc, we create a name "unknown" and create a entry
45 # in the local /etc/inet/hosts file pairing "unknown" with the IP
46 # address assigned by DHCP. The use of bootparams as a fallback
47 # for all non-DHCP cases provides compatibility with the
48 # behavior of the system before netstrategy was introduced.
49 #
50 # For non-global zones, fall back to the `uname -n` value provided by the
51 # kernel if /etc/nodename does not exist, as is expected on an initial boot.
52 #
53
54 smf_netstrategy
55
56 case "$_INIT_NET_STRATEGY" in
57 "dhcp") if [ -s /etc/nodename ]; then
58 hostname=`shcat /etc/nodename 2>/dev/null`
59 else
60 hostname=`/sbin/dhcpinfo Hostname`
61 fi
62 ;;
63 "rarp") hostname=`/sbin/hostconfig -h -p bootparams`
64 trap 'intr=1' 2 3
65 while [ -z "$hostname" -a ! -f /etc/.UNCONFIGURED -a \
66 -z "$intr" ]; do
67 echo "re-trying host configuration..."
68 # Restrict this to IPv4 interfaces.
69 /sbin/ifconfig -adD4 auto-revarp up
70 hostname=`/sbin/hostconfig -h -p bootparams`
71 done
72 trap 2 3 ;;
73 "none") hostname="`shcat /etc/nodename 2>/dev/null`"
74 if [ -z "$hostname" ]; then
75 if smf_is_globalzone; then
76 hostname=`/sbin/hostconfig -h -p bootparams`
77 else
78 hostname=`/sbin/uname -n`
79 fi
80 fi ;;
81 esac
82
|