usr/src/tools/scripts/bfu.sh
author th199096
Mon, 02 Apr 2007 21:38:04 -0700
changeset 3957 86c9dda5df37
parent 3948 b8d304c37bf9
child 3968 abb9a4c15e2f
permissions -rw-r--r--
PSARC/2007/052 In-kernel Sharetab 6371468 /etc/dfs/sharetab should be a mntfs style file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     1
#!/bin/ksh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     2
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     3
# CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     4
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
1106
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
     6
# Common Development and Distribution License (the "License").
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
     7
# You may not use this file except in compliance with the License.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     8
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    11
# See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    12
# and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    13
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    19
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    20
# CDDL HEADER END
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    21
#
132
e3f7eaf7dde4 PSARC/2005/362 Removal of <rpc/trace.h>
robinson
parents: 78
diff changeset
    22
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    23
#
3385
262d8d58ab35 6314953 stmsboot needed for x86
qh201292
parents: 3323
diff changeset
    24
# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
# Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    26
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
# ident	"%Z%%M%	%I%	%E% SMI"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    28
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    29
# Upgrade a machine from a cpio archive area in about 5 minutes.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
# By Roger Faulkner and Jeff Bonwick, April 1993.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
# (bfu == Bonwick/Faulkner Upgrade, a.k.a. Blindingly Fast Upgrade)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
# Usage: bfu    [-f] <archive_dir> [root-dir]	# for normal machines
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
#        bfu -c [-f] <archive_dir> <exec-dir>	# for diskless clients
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
# The -f flag is to override the built-in safety check which requires
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    37
# that the starting-point OS be a least a certain revision.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    38
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    39
# You have to be super-user.  It's safest to run this from the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    40
# system console, although I've run it under OW and even via
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    41
# remote login with no problems.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    43
# You will have to reboot the system when the upgrade is complete.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    44
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    45
# You should add any administrative files you care about to this list.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    46
# Warning: there had better be no leading '/' on any of these filenames.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    47
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    48
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    49
# The CDPATH variable causes ksh's `cd' builtin to emit messages to stdout
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    50
# under certain circumstances, which can really screw things up; unset it.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    51
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    52
unset CDPATH
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    53
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    54
export LC_ALL="C"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    55
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    56
if [ -z "$GATEPATH" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    57
	GATEPATH=/ws/onnv-gate
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    58
	test -d $GATEPATH || GATEPATH=/net/onnv.eng/export/gate
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    59
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    60
if [ -z "$ARCHIVEPATH" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    61
	ARCHIVEPATH=/ws/onnv-gate
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
	test -d $ARCHIVEPATH || ARCHIVEPATH=/net/onnv.eng/export
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
export GATE=${GATEPATH}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
export ARCHIVE=${ARCHIVEPATH}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
# NOTE:	Entries in *_files must expand to either the exact files required,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
#	or to directories that will be scoured for files.  Any directories
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
#	(and subdirectories) resulting from a wildcard expansion will be
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
#	fully recursed by BFU's searching for files.  (E.g. /etc/inet/* will
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
#	include all files in any of its directories, as well as any files in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
#	/etc/inet/ itself.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
#
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
    75
#	These lists should really be generated automatically from the
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
    76
#	pkgmap(4) metadata.
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
    77
#
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
    78
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
    79
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
# First list: files to be saved in global and non-global zones.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
all_zones_files="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    83
	etc/.login
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    84
	etc/acct/holidays
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    85
	etc/acctadm.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    86
	etc/auto_*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    87
	etc/cron.d/at.deny
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    88
	etc/cron.d/cron.deny
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    89
	etc/crypto/pkcs11.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    90
	etc/default/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    91
	etc/dfs/dfstab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    92
	etc/dumpdates
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
	etc/ftpd/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
	etc/ftpusers
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
	etc/group
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
	etc/gss/gsscred.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    97
	etc/gss/mech
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    98
	etc/gss/qop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    99
	etc/inet/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   100
	etc/init.d/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
	etc/inittab
3448
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3446
diff changeset
   102
	etc/ipf/ipf.conf
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3446
diff changeset
   103
	etc/iu.ap
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   104
	etc/krb5/kadm5.acl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   105
	etc/krb5/kdc.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   106
	etc/krb5/kpropd.acl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   107
	etc/krb5/krb5.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   108
	etc/krb5/warn.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   109
	etc/logadm.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   110
	etc/logindevperm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   111
	etc/lp/Systems
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   112
	etc/mail/*.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   113
	etc/mail/*.hf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   114
	etc/mail/*.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   115
	etc/mail/aliases
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   116
	etc/mail/helpfile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
	etc/mail/local-host-names
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
	etc/mail/trusted-users
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   119
	etc/named.conf
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
	etc/net/*/services
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   121
	etc/netconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   122
	etc/nfs/nfslog.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
	etc/nfssec.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   124
	etc/nscd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
	etc/nsswitch.*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   126
	etc/pam.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
	etc/passwd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
	etc/policy.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   129
	etc/printers.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   130
	etc/profile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   131
	etc/project
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   132
	etc/publickey
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   133
	etc/remote
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   134
	etc/resolv.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   135
	etc/rmmount.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   136
	etc/rpc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   137
	etc/rpld.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   138
	etc/saf/_sactab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   139
	etc/saf/_sysconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   140
	etc/saf/zsmon/_pmtab
2364
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   141
	etc/security/audit_class
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   142
	etc/security/audit_control
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   143
	etc/security/audit_event
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   144
	etc/security/audit_startup
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   145
	etc/security/audit_user
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   146
	etc/security/audit_warn
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   147
	etc/security/auth_attr
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   148
	etc/security/crypt.conf
2364
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   149
	etc/security/exec_attr
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   150
	etc/security/policy.conf
2364
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
   151
	etc/security/prof_attr
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   152
	etc/sfw/openssl/openssl.cnf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   153
	etc/shadow
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   154
	etc/skel/.profile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   155
	etc/skel/local.*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   156
	etc/smartcard/.keys
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   157
	etc/smartcard/desktop.properties
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   158
	etc/smartcard/ocf.classpath
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   159
	etc/smartcard/opencard.properties
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   160
	etc/ssh/ssh_config
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   161
	etc/ssh/sshd_config
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   162
	etc/syslog.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   163
	etc/ttydefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   164
	etc/ttysrch
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   165
	etc/user_attr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   166
	etc/uucp/[A-Z]*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   167
	etc/vfstab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   168
	var/spool/cron/crontabs/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   169
	var/yp/Makefile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   170
	var/yp/aliases
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   171
	var/yp/nicknames
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   172
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   173
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   174
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   175
# Second list: files to be saved in the global zone only.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   176
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   177
global_zone_only_files="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   178
	boot/grub/menu.lst
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   179
	boot/solaris/bootenv.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   180
	boot/solaris/devicedb/master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   181
	boot/solaris/filelist.ramdisk
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   182
	etc/aggregation.conf
3201
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
   183
	etc/dladm/*
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   184
	etc/bootrc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   185
	etc/crypto/kcf.conf
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   186
	etc/datalink.conf
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   187
	etc/devlink.tab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   188
	etc/driver_aliases
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   189
	etc/driver_classes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   190
	etc/lvm/devpath
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   191
	etc/lvm/lock
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   192
	etc/lvm/md.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   193
	etc/lvm/md.ctlrmap
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   194
	etc/lvm/md.tab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   195
	etc/lvm/mddb.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   196
	etc/lvm/runtime.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   197
	etc/mach
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   198
	etc/minor_perm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   199
	etc/name_to_major
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   200
	etc/name_to_sysnum
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   201
	etc/nca/nca.if
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   202
	etc/nca/ncakmod.conf
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   203
	etc/nca/ncalogd.conf
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   204
	etc/nca/ncaport.conf
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   205
	etc/openwin/server/etc/OWconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   206
	etc/path_to_inst
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   207
	etc/power.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   208
	etc/ppp/chap-secrets
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   209
	etc/ppp/options
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   210
	etc/ppp/pap-secrets
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   211
	etc/security/device_policy
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   212
	etc/security/extra_privs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   213
	etc/system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   214
	etc/zones/index
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   215
	kernel/drv/elxl.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   216
	kernel/drv/md.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   217
	kernel/drv/options.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   218
	kernel/drv/ra.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   219
	kernel/drv/scsa2usb.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   220
	kernel/drv/scsi_vhci.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   221
	kernel/drv/sd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   222
	platform/*/kernel/drv/*ppm.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   223
	platform/i86pc/kernel/drv/aha.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   224
	platform/i86pc/kernel/drv/asy.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   225
	platform/sun4u/boot.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   226
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   227
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   228
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   229
# Third list: files extracted from generic.root but which belong in the global
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
   230
# zone only: they are superfluous (and some even harmful) in nonglobal zones.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   231
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   232
# (note: as /etc/init.d scripts are converted to smf(5) "Greenline" services,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   233
# they (and their /etc/rc?.d hardlinks) should be removed from this list when
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   234
# they are added to smf_obsolete_rc_files, below)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   235
#
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
   236
superfluous_nonglobal_zone_files="
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   237
	dev/dsk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   238
	dev/fd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   239
	dev/pts
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   240
	dev/rdsk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   241
	dev/rmt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   242
	dev/stderr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   243
	dev/stdin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   244
	dev/stdout
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   245
	dev/swap
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   246
	dev/term
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   247
	devices
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   248
	etc/dacf.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   249
	etc/dat
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   250
	etc/default/metassist.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   251
	etc/default/power
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   252
	etc/flash/postdeployment/svm.cleanup
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   253
	etc/flash/predeployment/svm.save
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   254
	etc/inet/ipqosconf.1.sample
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   255
	etc/inet/ipqosconf.2.sample
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   256
	etc/inet/ipqosconf.3.sample
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   257
	etc/inet/sock2path
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   258
	etc/init.d/devlinks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   259
	etc/init.d/dodatadm.udaplt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   260
	etc/init.d/drvconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   261
	etc/init.d/llc2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   262
	etc/init.d/ncakmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   263
	etc/init.d/ncalogd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   264
	etc/init.d/pcmcia
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   265
	etc/init.d/pppd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   266
	etc/init.d/wrsmcfg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   267
	etc/llc2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   268
	etc/lvm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   269
	etc/nca
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   270
	etc/openwin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   271
	etc/ppp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   272
	etc/rc0.d/K34ncalogd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   273
	etc/rc0.d/K50pppd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   274
	etc/rc0.d/K52llc2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   275
	etc/rc1.d/K34ncalogd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   276
	etc/rc1.d/K50pppd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   277
	etc/rc1.d/K52llc2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   278
	etc/rc2.d/S40llc2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   279
	etc/rc2.d/S42ncakmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   280
	etc/rc2.d/S47pppd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   281
	etc/rc2.d/S81dodatadm.udaplt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   282
	etc/rc2.d/S94ncalogd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   283
	etc/rcS.d/K34ncalogd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   284
	etc/rcS.d/K44wrsmcfg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   285
	etc/rcS.d/K50pppd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   286
	etc/rcS.d/K52llc2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   287
	etc/rcS.d/S29wrsmcfg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   288
	etc/rcm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   289
	etc/sock2path
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   290
	etc/usb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   291
	etc/wrsm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   292
	etc/zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   293
	kernel
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   294
	lib/libmeta.so
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   295
	lib/libmeta.so.1
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   296
	lib/svc/method/sf880dr
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   297
	lib/svc/method/svc-cvcd
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   298
	lib/svc/method/svc-dcs
2309
a4369449abc5 6425012 LDoms CPU DR should be enhanced to interact with RCM
rsmaeda
parents: 2239
diff changeset
   299
	lib/svc/method/svc-drd
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   300
	lib/svc/method/svc-dscp
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   301
	lib/svc/method/svc-dumpadm
172
3f157d3c7622 PSARC/2004/199 intrd: Dynamic Interrupt Distribution
esolom
parents: 132
diff changeset
   302
	lib/svc/method/svc-intrd
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
   303
	lib/svc/method/svc-hal
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   304
	lib/svc/method/svc-mdmonitor
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   305
	lib/svc/method/svc-metainit
2239
ae485ed05e17 6440631 superfluous_local_zone_files needs an update
comay
parents: 2158
diff changeset
   306
	lib/svc/method/svc-metasync
ae485ed05e17 6440631 superfluous_local_zone_files needs an update
comay
parents: 2158
diff changeset
   307
	lib/svc/method/svc-oplhpd
1069
85bcc1f0665c 6359638 Remove pools clutter from the bfu archives
garypen
parents: 1011
diff changeset
   308
	lib/svc/method/svc-poold
85bcc1f0665c 6359638 Remove pools clutter from the bfu archives
garypen
parents: 1011
diff changeset
   309
	lib/svc/method/svc-pools
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   310
	lib/svc/method/svc-power
3247
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 3217
diff changeset
   311
	lib/svc/method/svc-resource-mgmt
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
   312
	lib/svc/method/svc-rmvolmgr
953
785d08a4a320 PSARC 2005/449 system/scheduler
rm88369
parents: 790
diff changeset
   313
	lib/svc/method/svc-scheduler
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   314
	lib/svc/method/svc-sckmd
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   315
	lib/svc/method/svc-syseventd
1991
f29baf5bf770 FWARC 2005/633 Project Q Logial Domaining Umbrella
heppo
parents: 1872
diff changeset
   316
	lib/svc/method/svc-vntsd
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   317
	lib/svc/method/svc-zones
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   318
	platform/*/kernel
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   319
	platform/SUNW,Sun-Fire-15000/lib/cvcd
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   320
	platform/SUNW,Ultra-Enterprise-10000/lib/cvcd
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   321
	platform/i86pc/biosint
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   322
	platform/i86pc/multiboot
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   323
	platform/sun4u/cprboot
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   324
	platform/sun4u/lib/libwrsmconf.so
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   325
	platform/sun4u/lib/libwrsmconf.so.1
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   326
	platform/sun4u/lib/sparcv9/libwrsmconf.so
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   327
	platform/sun4u/lib/sparcv9/libwrsmconf.so.1
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   328
	platform/sun4u/sbin
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   329
	platform/sun4u/ufsboot
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   330
	platform/sun4u/wanboot
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   331
	platform/sun4v/ufsboot
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   332
	platform/sun4v/wanboot
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   333
	sbin/metadb
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   334
	sbin/metadevadm
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   335
	sbin/metainit
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   336
	sbin/metarecover
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   337
	sbin/metastat
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   338
	usr/include/sys/dcam
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   339
	usr/lib/devfsadm/linkmod/SUNW_dcam1394_link.so
1991
f29baf5bf770 FWARC 2005/633 Project Q Logial Domaining Umbrella
heppo
parents: 1872
diff changeset
   340
	usr/lib/ldoms
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   341
	usr/platform/SUNW,SPARC-Enterprise/lib/dscp.ppp.options
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   342
	usr/platform/SUNW,SPARC-Enterprise/lib/libdscp.so
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   343
	usr/platform/SUNW,SPARC-Enterprise/lib/libdscp.so.1
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   344
	usr/platform/SUNW,SPARC-Enterprise/lib/llib-ldscp.ln
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   345
	usr/platform/SUNW,SPARC-Enterprise/sbin/prtdscp
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   346
	var/adm/pool
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   347
	var/log/pool
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   348
	var/svc/manifest/network/rpc/mdcomm.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   349
	var/svc/manifest/network/rpc/meta.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   350
	var/svc/manifest/network/rpc/metamed.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   351
	var/svc/manifest/network/rpc/metamh.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   352
	var/svc/manifest/platform/i86pc/eeprom.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   353
	var/svc/manifest/platform/sun4u/dcs.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   354
	var/svc/manifest/platform/sun4u/dscp.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   355
	var/svc/manifest/platform/sun4u/efdaemon.xml
2239
ae485ed05e17 6440631 superfluous_local_zone_files needs an update
comay
parents: 2158
diff changeset
   356
	var/svc/manifest/platform/sun4u/oplhpd.xml
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   357
	var/svc/manifest/platform/sun4u/sckmd.xml
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   358
	var/svc/manifest/platform/sun4u/sf880drd.xml
2239
ae485ed05e17 6440631 superfluous_local_zone_files needs an update
comay
parents: 2158
diff changeset
   359
	var/svc/manifest/platform/sun4v
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   360
	var/svc/manifest/system/cvc.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   361
	var/svc/manifest/system/dumpadm.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   362
	var/svc/manifest/system/fmd.xml
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
   363
	var/svc/manifest/system/hal.xml
172
3f157d3c7622 PSARC/2004/199 intrd: Dynamic Interrupt Distribution
esolom
parents: 132
diff changeset
   364
	var/svc/manifest/system/intrd.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   365
	var/svc/manifest/system/mdmonitor.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   366
	var/svc/manifest/system/metainit.xml
2239
ae485ed05e17 6440631 superfluous_local_zone_files needs an update
comay
parents: 2158
diff changeset
   367
	var/svc/manifest/system/metasync.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   368
	var/svc/manifest/system/picl.xml
1069
85bcc1f0665c 6359638 Remove pools clutter from the bfu archives
garypen
parents: 1011
diff changeset
   369
	var/svc/manifest/system/poold.xml
85bcc1f0665c 6359638 Remove pools clutter from the bfu archives
garypen
parents: 1011
diff changeset
   370
	var/svc/manifest/system/pools.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   371
	var/svc/manifest/system/power.xml
3247
e05001c14ea2 PSARC 2006/496 Improved Zones/RM Integration
gjelinek
parents: 3217
diff changeset
   372
	var/svc/manifest/system/resource-mgmt.xml
953
785d08a4a320 PSARC 2005/449 system/scheduler
rm88369
parents: 790
diff changeset
   373
	var/svc/manifest/system/scheduler.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   374
	var/svc/manifest/system/sysevent.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   375
	var/svc/manifest/system/zones.xml
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
   376
	var/svc/manifest/system/filesystem/rmvolmgr.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   377
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   378
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   379
#
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   380
# Fourth list: files to be preserved, ie unconditionally restored to
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   381
# "child" versions
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   382
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   383
preserve_files="
222
dd716cb7b870 6228039 bfu clobbers amd64 sysinit module
comay
parents: 196
diff changeset
   384
	kernel/misc/amd64/sysinit
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   385
	kernel/misc/amd64/usbs49_fw
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   386
	kernel/misc/sparcv9/usbs49_fw
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   387
	kernel/misc/sysinit
1197
ef99698eed22 6367872 usbs49_fw module should not be replaced when upgrading system.
yz147069
parents: 1177
diff changeset
   388
	kernel/misc/usbs49_fw
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   389
	var/adm/aculog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   390
	var/adm/spellhist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   391
	var/adm/utmpx
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   392
	var/adm/wtmpx
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   393
	var/log/authlog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   394
	var/log/syslog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   395
	var/saf/zsmon/log
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   396
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   397
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   398
realmode_files="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   399
	boot/solaris/bootenv.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   400
	boot/solaris/devicedb/master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   401
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   402
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   403
fail() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   404
	print "$*" >& 2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   405
	print "bfu aborting" >& 2
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
   406
	rm -f "$bfu_zone_list"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   407
	exit 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   408
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   409
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   410
filelist() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   411
	files="$all_zones_files $preserve_files"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   412
	if [ $1 = "global" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   413
		files="$global_zone_only_files $files"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   414
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   415
	find $files -depth -type f ! -name core -print 2>/dev/null | sort -u || {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   416
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   417
		# Force cpio to return non-zero by printing an error message
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   418
		# to stdout that it won't be able to lstat().
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   419
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   420
		echo 'filelist: sort failed'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   421
		fail "sort failed"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   422
	}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   423
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   424
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   425
realmode_filelist() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   426
	find $realmode_files -depth -type f ! -name core -print 2>/dev/null | sort
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   427
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   428
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   429
smf_inetd_conversions="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   430
	100134
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   431
	100150
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   432
	100155
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   433
	100229
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   434
	100230
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   435
	100234
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   436
	100242
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   437
	100422
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   438
	chargen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   439
	comsat
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   440
	daytime
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   441
	discard
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   442
	echo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   443
	eklogin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   444
	exec
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   445
	finger
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   446
	ftp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   447
	gssd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   448
	klogin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   449
	krb5_prop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   450
	kshell
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   451
	ktkt_warnd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   452
	login
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   453
	metad
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   454
	metamedd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   455
	metamhd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   456
	name
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   457
	ocfserv
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   458
	printer
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   459
	rexd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   460
	rquotad
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   461
	rstatd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   462
	rusersd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   463
	shell
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   464
	smserverd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   465
	sprayd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   466
	sun-dr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   467
	talk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   468
	telnet
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   469
	time
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   470
	uucp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   471
	walld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   472
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   473
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   474
enable_next_boot () {
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   475
	if [ -x /tmp/bfubin/svccfg ]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   476
	    svcadm disable -t $1
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   477
	    [ $? = 0 ] || echo "warning: unable to temporarily disable $1"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   478
	    svccfg -s $1 setprop general/enabled = true
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   479
	    [ $? = 0 ] || echo "warning: unable to enable $1 for next boot"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   480
	fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   481
}
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
   482
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   483
smf_inetd_disable() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   484
	inetconf=$rootprefix/etc/inet/inetd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   485
	inettmp=/tmp/inetd.tmp.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   486
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   487
	sed "$(for i in $smf_inetd_conversions; do 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   488
		echo "s:^[ 	]*$i[ 	/]:#SMFbfu# &:"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   489
	done)" $inetconf > $inettmp && ! cmp -s $inettmp $inetconf &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   490
	    cp $inettmp $inetconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   491
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   492
	rm -f -- $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   493
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   494
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   495
smf_inetd_reenable() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   496
	inetconf=$rootprefix/etc/inet/inetd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   497
	inettmp=/tmp/inetd.tmp.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   498
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   499
	sed 's/^#SMFbfu# //' $inetconf > $inettmp && cp $inettmp $inetconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   500
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   501
	rm -f -- $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   502
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   503
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   504
smf_tftp_reinstall() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   505
	inetconf=$rootprefix/etc/inet/inetd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   506
	inettmp=/tmp/inetd.tmp.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   507
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   508
	if grep '^#SMFbfu# tftp' $inetconf >/dev/null ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   509
		# BFU previously commented out, put it back in place
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   510
	    	sed 's/^#SMFbfu# tftp/tftp/' $inetconf > $inettmp &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   511
		    cp $inettmp $inetconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   512
	elif ! grep '^[#	 ]*tftp' $inetconf >/dev/null; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   513
		# No entry, append to end
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   514
		cat >>$inetconf <<EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   515
# TFTPD - tftp server (primarily used for booting)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   516
#tftp	dgram	udp6	wait	root	/usr/sbin/in.tftpd	in.tftpd -s /tftpboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   517
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   518
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   519
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   520
	rm -f -- $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   521
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   522
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   523
inetd_conf_svm_hack() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   524
	# Since inetd.conf is updated by SUNWmdr's postinstall script,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   525
	# we will update the actual inetd.conf here to reflect the postinstall
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   526
	# changes.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   527
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   528
	inetconf=$rootprefix/etc/inet/inetd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   529
	inettmp=/tmp/inetd.tmp.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   530
	inetnew=/tmp/inetd.new.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   531
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   532
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   533
	# only change inetd.conf if the rpc.metad entry is out of date
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   534
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   535
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   536
	if ! grep "^[# 	]*100229/1-2" $inetconf > /dev/null ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   537
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   538
		# Grab existing rpc entries for rpc.metad
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   539
		# and convert spaces to tabs within the rpc entry, as well as
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   540
		# the transport method; 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   541
		# or add a new entry in case there was none.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   542
		if grep "^[# 	]*100229/1" $inetconf > /dev/null ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   543
			grep "^# METAD - SLVM metadb" $inetconf > $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   544
			grep "^[# 	]*100229/1" $inetconf | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   545
			    sed -e 's/[ 	][ 	]*/	/g' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   546
				-e 's?100229/1?100229/1-2?' >> $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   547
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   548
			echo '# METAD - SVM metadb Daemon' > $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   549
			echo "100229/1-2\ttli\trpc/tcp\twait\troot\t/usr/sbin/rpc.metad\trpc.metad" >> $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   550
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   551
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   552
		grep -v '^# METAD - SLVM metadb' $inetconf | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   553
		    grep -v '^[# 	]*100229/1' > $inetnew
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   554
		cat $inettmp >> $inetnew
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   555
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   556
		if ! diff $inetnew $inetconf > /dev/null ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   557
			print "Updating inet.conf metad entry ... \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   558
			if cp $inetnew $inetconf ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   559
				print "done."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   560
			else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   561
				print "failed."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   562
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   563
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   564
		rm -f $inettmp $inetnew
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   565
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   566
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   567
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   568
	# only change inetd.conf if the rpc.mdcommd entry is out of date
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   569
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   570
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   571
	if ! grep "^[# 	]*100422/1" $inetconf > /dev/null ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   572
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   573
		# Grab existing rpc entries for rpc.mdcommd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   574
		# and convert spaces to tabs within the rpc entry,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   575
		# or add a new entry in case there was none.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   576
		if grep "^[#    ]*100422/1" $inetconf > /dev/null ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   577
			grep "^# MDMN_COMMD - SVM Multi node" $inetconf > $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   578
			grep "^[#       ]*100422/1" $inetconf | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   579
				sed -e 's/[         ][      ]*/     /g' >> $inettmp 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   580
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   581
			echo '# MDMN_COMMD - SVM Multi node communication daemon' >$inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   582
			echo '100422/1\ttli\trpc/tcp\twait\troot\t/usr/sbin/rpc.mdcommd\trpc.mdcommd' >> $inettmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   583
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   584
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   585
		grep -v '^# MDMN_COMMD - SVM Multi node' $inetconf | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   586
		grep -v '^[#        ]*100422/1' > $inetnew
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   587
		cat $inettmp >> $inetnew
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   588
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   589
		if ! diff $inetnew $inetconf > /dev/null ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   590
			print "Updating inetd.conf rpc.mdcommd entry ... \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   591
			if cp $inetnew $inetconf; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   592
				print "done."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   593
			else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   594
				print "failed."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   595
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   596
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   597
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   598
		rm -f $inettmp $inetnew
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   599
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   600
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   601
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   602
update_policy_conf() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   603
	# update /etc/security/policy.conf with the default
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   604
	# Solaris crypt(3c) policy.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   605
	
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   606
	dest=$rootprefix/etc/security/policy.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   607
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   608
	grep 'CRYPT_' $dest > /dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   609
	if [ $? = 1 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   610
		print "Updating entries for crypt(3c), see policy.conf(4)"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   611
	cat >> $dest <<EOM
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   612
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   613
# crypt(3c) Algorithms Configuration
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   614
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   615
# CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   616
# be used for new passwords.  This is enforced only in crypt_gensalt(3c).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   617
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   618
CRYPT_ALGORITHMS_ALLOW=1,2a,md5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   619
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   620
# To deprecate use of the traditional unix algorithm, uncomment below
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   621
# and change CRYPT_DEFAULT= to another algorithm.  For example,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   622
# CRYPT_DEFAULT=1 for BSD/Linux MD5.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   623
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   624
#CRYPT_ALGORITHMS_DEPRECATE=__unix__
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   625
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   626
# The Solaris default is the traditional UNIX algorithm.  This is not
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   627
# listed in crypt.conf(4) since it is internal to libc.  The reserved
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   628
# name __unix__ is used to refer to it.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   629
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   630
CRYPT_DEFAULT=__unix__
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   631
EOM
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   632
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   633
	grep PRIV_ $dest >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   634
	if [ $? = 1 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   635
		echo "Updating entries for privileges(5)," \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   636
		     "see policy.conf(4) for details."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   637
cat >> $dest <<EOM
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   638
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   639
# These settings determine the default privileges users have.  If not set,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   640
# the default privileges are taken from the inherited set.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   641
# There are two different settings; PRIV_DEFAULT determines the default
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   642
# set on login; PRIV_LIMIT defines the Limit set on login.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   643
# Individual users can have privileges assigned or taken away through
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   644
# user_attr.  Privileges can also be assigned to profiles in which case
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   645
# the users with those profiles can use those privileges through pfexec(1m).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   646
# For maximum future compatibility, the specifications should
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   647
# always include "basic" or "all"; privileges should then be removed using
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   648
# the negation.  E.g., PRIV_LIMIT=all,!sys_linkdir takes away only the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   649
# sys_linkdir privilege, regardless of future additional privileges.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   650
# Similarly, PRIV_DEFAULT=basic,!file_link_any takes away only the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   651
# file_link_any privilege from the basic privilege set; only that notation
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   652
# is immune from a future addition of currently unprivileged operations to
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   653
# the basic privilege set.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   654
# NOTE: removing privileges from the the Limit set requires EXTREME care
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   655
# as any set-uid root program may suddenly fail because it lacks certain
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   656
# privilege(s).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   657
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   658
#PRIV_DEFAULT=basic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   659
#PRIV_LIMIT=all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   660
EOM
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   661
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   662
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   663
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   664
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   665
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   666
# Cleanup nfsmapid configuration before extracting
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   667
# root bits.  Remove if they exist:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   668
#	nfsmapid entry in inetd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   669
#	nfsmapid entry in /etc/net/ti*/services
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   670
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   671
# Going forward neither should exist, but no harm if services entry exists
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   672
# Going way backwards (pre-04/28/2004), inetd.conf must exist but will
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   673
# be a conflict that should be merged in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   674
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   675
nfsmapid_cfg() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   676
	inetdconf=$rootprefix/etc/inet/inetd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   677
	tmpinetcf=/tmp/inetd.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   678
	cp -pf ${inetdconf} ${tmpinetcf}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   679
	cat /dev/null > ${inetdconf} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   680
       	sed -e "/^#[#	 ]*NFSv4/d"		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   681
	    -e "/^[#	 ]*100166\/1/d"		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   682
	    ${tmpinetcf} > ${inetdconf} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   683
	rm -f ${tmpinetcf}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   684
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   685
	tmpservices=/tmp/services.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   686
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   687
	services=$rootprefix/etc/net/ticotsord/services
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   688
	cp -pf ${services} ${tmpservices}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   689
	cat /dev/null > ${services} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   690
       	sed -e "/^[#	 ]*nfsmapid/d"		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   691
	    ${tmpservices} > ${services} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   692
	rm -f ${tmpservices}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   693
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   694
	services=$rootprefix/etc/net/ticots/services
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   695
	cp -pf ${services} ${tmpservices}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   696
	cat /dev/null > ${services} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   697
       	sed -e "/^[#	 ]*nfsmapid/d"		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   698
	    ${tmpservices} > ${services} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   699
	rm -f ${tmpservices}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   700
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   701
	services=$rootprefix/etc/net/ticlts/services
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   702
	cp -pf ${services} ${tmpservices}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   703
	cat /dev/null > ${services} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   704
       	sed -e "/^[#	 ]*nfsmapid/d"		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   705
	    ${tmpservices} > ${services} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   706
	rm -f ${tmpservices}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   707
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   708
2315
9b2a16330ba6 6445209 snv_43 build servers fail to build ON (rpcbind should no longer include nfsauth_prot.h)
rmesta
parents: 2311
diff changeset
   709
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   710
# Define global variables
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   711
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   712
CALL_DEVID_DESTROY=""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   713
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   714
# List of SDS commands that must be deleted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   715
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   716
SDSCMDLIST="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   717
growfs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   718
metaclear
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   719
metadb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   720
metadetach
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   721
metahs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   722
metainit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   723
metaoffline
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   724
metaonline
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   725
metaparam
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   726
metarename
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   727
metareplace
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   728
metaroot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   729
metaset
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   730
metastat
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   731
metasync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   732
metattach
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   733
rpc.metad
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   734
rpc.metamhd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   735
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   736
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   737
# List of SDS configuration files that must be deleted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   738
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   739
SDSCONFIGLIST="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   740
lock
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   741
md.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   742
mddb.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   743
md.tab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   744
devpath
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   745
md.ctlrmap
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   746
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   747
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   748
# List of rc scripts that must be deleted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   749
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   750
RCLIST="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   751
etc/init.d/SUNWmd.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   752
etc/init.d/SUNWmd.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   753
etc/init.d/lvm.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   754
etc/init.d/lvm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   755
etc/rcS.d/S35SUNWmd.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   756
etc/rcS.d/S35lvm.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   757
etc/rc2.d/S95SUNWmd.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   758
etc/rc2.d/S95lvm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   759
etc/rcS.d/S35slvm.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   760
etc/rc2.d/S95slvm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   761
etc/init.d/slvm.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   762
etc/init.d/slvm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   763
etc/init.d/init.mdlogd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   764
etc/rc3.d/S25mdlogd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   765
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   766
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   767
# List of flashprom-related files that must be deleted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   768
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   769
FLASHPROMLIST="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   770
etc/rc2.d/S75flashprom
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   771
etc/init.d/flashprom
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   772
usr/platform/SUNW,Ultra-2/lib/flash-update.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   773
usr/platform/SUNW,Ultra-4/lib/flash-update.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   774
usr/platform/SUNW,Ultra-Enterprise/lib/flash-update.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   775
usr/platform/sun4u/doc/flashupdate.txt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   776
usr/platform/sun4u/lib/flash-update.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   777
usr/platform/sun4u/lib/prom/SUNW,Ultra-2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   778
usr/platform/sun4u/lib/prom/SUNW,Ultra-4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   779
usr/platform/sun4u/lib/prom/SUNW,Ultra-Enterprise
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   780
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   781
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   782
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   783
# delete the entries associated with bootlist from /etc/system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   784
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   785
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   786
delete_system_bootlist() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   787
	sed -e /"Begin MDD database info"/,/"End MDD database info"/d \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   788
	    < ${SYSTEM_FILE} > /tmp/system.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   789
	cp /tmp/system.$$ ${SYSTEM_FILE} || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   790
	    echo "copy error: /tmp/system.$$ to ${SYSTEM_FILE}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   791
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   792
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   793
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   794
# Add entries in md.conf for bootlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   795
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   796
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   797
fix_mdconf() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   798
	cp ${mdconf} /tmp/md.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   799
	echo >> /tmp/md.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   800
	echo "# Begin MDD database info (do not edit)" >> /tmp/md.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   801
	sed -e 's/^set md://' -e 's/$/;/' ${SYSTEM_FILE} | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   802
	    grep mddb_bootlist >> /tmp/md.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   803
	echo "# End MDD database info (do not edit)" >> /tmp/md.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   804
	cp /tmp/md.conf.$$ ${mdconf} || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   805
	    echo "copy error: /tmp/md.conf.$$ to ${mdconf}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   806
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   807
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   808
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   809
# add_devid_destroy(filename)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   810
# returns contents in filename
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   811
# md_devid_destroy property is required when upgrading
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   812
# from pre SVM to SVM releases or when the device ID returned from
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   813
# the driver changes.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   814
# It is specifically placed between
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   815
# # Begin MDD database info and # End MDD database info because
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   816
# on the subsequent reboot, this line will be removed automatically when
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   817
# metadevadm is run in rc2.d.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   818
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   819
add_devid_destroy() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   820
	cat $1 | awk '{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   821
		if ( $2 == "End" && $4 == "database") {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   822
			print "md_devid_destroy=1;"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   823
		}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   824
		print $0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   825
	}' >> /tmp/t$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   826
	mv /tmp/t$$ $1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   827
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   828
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   829
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   830
# smf(5) "Greenline" doesn't install the init.d or rc*.d scripts for
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   831
# converted services.  Clean up previous scripts for such services.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   832
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   833
smf_obsolete_rc_files="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   834
	etc/init.d/ANNOUNCE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   835
	etc/init.d/MOUNTFSYS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   836
	etc/init.d/RMTMPFILES
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   837
	etc/init.d/audit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   838
	etc/init.d/autofs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   839
	etc/init.d/coreadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   840
	etc/init.d/cron
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   841
	etc/init.d/cryptosvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   842
	etc/init.d/cvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   843
	etc/init.d/devfsadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   844
	etc/init.d/dhcp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   845
	etc/init.d/dhcpagent
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   846
	etc/init.d/domainname
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   847
	etc/init.d/efcode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   848
	etc/init.d/inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   849
	etc/init.d/inetinit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   850
	etc/init.d/inetsvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   851
	etc/init.d/initboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   852
	etc/init.d/ipfboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   853
	etc/init.d/kdc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   854
	etc/init.d/kdc.master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   855
	etc/init.d/keymap
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   856
	etc/init.d/ldap.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   857
	etc/init.d/libc.mount
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   858
	etc/init.d/network
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   859
	etc/init.d/nfs.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   860
	etc/init.d/nodename
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   861
	etc/init.d/nscd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   862
	etc/init.d/perf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   863
	etc/init.d/picld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   864
	etc/init.d/power
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   865
	etc/init.d/rcapd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   866
	etc/init.d/rootusr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   867
	etc/init.d/rpc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   868
	etc/init.d/savecore
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   869
	etc/init.d/sckm
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   870
	etc/init.d/sf880dr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   871
	etc/init.d/slpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   872
	etc/init.d/sshd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   873
	etc/init.d/standardmounts
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   874
	etc/init.d/svm.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   875
	etc/init.d/svm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   876
	etc/init.d/sysid.net
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   877
	etc/init.d/sysid.sys
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   878
	etc/init.d/syslog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   879
	etc/init.d/utmpd
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
   880
	etc/init.d/volmgt
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   881
	etc/init.d/xntpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   882
	etc/init.d/zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   883
	etc/rc0.d/K00ANNOUNCE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   884
	etc/rc0.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   885
	etc/rc0.d/K03sshd
196
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
   886
	etc/rc0.d/K05volmgt
2118
b1619c8993f4 5004374 Ship with remote services disabled by default (fix build noise)
jjj
parents: 2117
diff changeset
   887
	etc/rc0.d/K07snmpdx
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   888
	etc/rc0.d/K10rcapd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   889
	etc/rc0.d/K21dhcp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   890
	etc/rc0.d/K28kdc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   891
	etc/rc0.d/K28kdc.master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   892
	etc/rc0.d/K28nfs.server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   893
	etc/rc0.d/K32cryptosvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   894
	etc/rc0.d/K33audit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   895
	etc/rc0.d/K33efcode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   896
	etc/rc0.d/K34svm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   897
	etc/rc0.d/K36sendmail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   898
	etc/rc0.d/K36utmpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   899
	etc/rc0.d/K37power
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   900
	etc/rc0.d/K40cron
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   901
	etc/rc0.d/K40inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   902
	etc/rc0.d/K40nscd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   903
	etc/rc0.d/K40sf880dr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   904
	etc/rc0.d/K40slpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   905
	etc/rc0.d/K40syslog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   906
	etc/rc0.d/K40xntpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   907
	etc/rc0.d/K41autofs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   908
	etc/rc0.d/K41ldap.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   909
	etc/rc0.d/K41nfs.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   910
	etc/rc0.d/K41rpc
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   911
	etc/rc0.d/K42sckm
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   912
	etc/rc0.d/K43inet
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   913
	etc/rc0.d/K68picld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   914
	etc/rc0.d/K83devfsadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   915
	etc/rc0.d/K90dhcpagent
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   916
	etc/rc1.d/K00ANNOUNCE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   917
	etc/rc1.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   918
	etc/rc1.d/K03sshd
196
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
   919
	etc/rc1.d/K05volmgt
2118
b1619c8993f4 5004374 Ship with remote services disabled by default (fix build noise)
jjj
parents: 2117
diff changeset
   920
	etc/rc1.d/K07snmpdx
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   921
	etc/rc1.d/K10rcapd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   922
	etc/rc1.d/K21dhcp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   923
	etc/rc1.d/K28kdc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   924
	etc/rc1.d/K28kdc.master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   925
	etc/rc1.d/K28nfs.server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   926
	etc/rc1.d/K33audit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   927
	etc/rc1.d/K33efcode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   928
	etc/rc1.d/K34svm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   929
	etc/rc1.d/K36sendmail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   930
	etc/rc1.d/K36utmpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   931
	etc/rc1.d/K37power
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   932
	etc/rc1.d/K40cron
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   933
	etc/rc1.d/K40inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   934
	etc/rc1.d/K40nscd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   935
	etc/rc1.d/K40sf880dr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   936
	etc/rc1.d/K40slpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   937
	etc/rc1.d/K40syslog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   938
	etc/rc1.d/K40xntpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   939
	etc/rc1.d/K41autofs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   940
	etc/rc1.d/K41ldap.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   941
	etc/rc1.d/K41rpc
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   942
	etc/rc1.d/K42sckm
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   943
	etc/rc1.d/K43inet
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   944
	etc/rc1.d/K99libc.mount
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   945
	etc/rc1.d/S01MOUNTFSYS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   946
	etc/rc2.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   947
	etc/rc2.d/K03sshd
196
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
   948
	etc/rc2.d/K05volmgt
2118
b1619c8993f4 5004374 Ship with remote services disabled by default (fix build noise)
jjj
parents: 2117
diff changeset
   949
	etc/rc2.d/K07snmpdx
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   950
	etc/rc2.d/K21dhcp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   951
	etc/rc2.d/K28kdc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   952
	etc/rc2.d/K28kdc.master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   953
	etc/rc2.d/K28nfs.server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   954
	etc/rc2.d/S01MOUNTFSYS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   955
	etc/rc2.d/S05RMTMPFILES
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   956
	etc/rc2.d/S21perf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   957
	etc/rc2.d/S30sysid.net
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   958
	etc/rc2.d/S65ipfboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   959
	etc/rc2.d/S69domainname
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   960
	etc/rc2.d/S69inet
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
   961
	etc/rc2.d/S70sckm
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   962
	etc/rc2.d/S71ldap.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   963
	etc/rc2.d/S71rpc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   964
	etc/rc2.d/S71sysid.sys
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   965
	etc/rc2.d/S72inetsvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   966
	etc/rc2.d/S72slpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   967
	etc/rc2.d/S73nfs.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   968
	etc/rc2.d/S74autofs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   969
	etc/rc2.d/S74syslog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   970
	etc/rc2.d/S74xntpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   971
	etc/rc2.d/S75cron
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   972
	etc/rc2.d/S75savecore
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   973
	etc/rc2.d/S76nscd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   974
	etc/rc2.d/S77inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   975
	etc/rc2.d/S77sf880dr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   976
	etc/rc2.d/S85power
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   977
	etc/rc2.d/S88sendmail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   978
	etc/rc2.d/S88utmpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   979
	etc/rc2.d/S95svm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   980
	etc/rc2.d/S98efcode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   981
	etc/rc2.d/S98libc.mount
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   982
	etc/rc2.d/S99audit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   983
	etc/rc2.d/S99rcapd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   984
	etc/rc3.d/S13kdc.master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   985
	etc/rc3.d/S14kdc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   986
	etc/rc3.d/S15nfs.server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   987
	etc/rc3.d/S34dhcp
2118
b1619c8993f4 5004374 Ship with remote services disabled by default (fix build noise)
jjj
parents: 2117
diff changeset
   988
	etc/rc3.d/S76snmpdx
196
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
   989
	etc/rc3.d/S81volmgt
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   990
	etc/rc3.d/S89sshd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   991
	etc/rc3.d/S99zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   992
	etc/rcS.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   993
	etc/rcS.d/K03sshd
196
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
   994
	etc/rcS.d/K05volmgt
2118
b1619c8993f4 5004374 Ship with remote services disabled by default (fix build noise)
jjj
parents: 2117
diff changeset
   995
	etc/rcS.d/K07snmpdx
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   996
	etc/rcS.d/K10rcapd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   997
	etc/rcS.d/K21dhcp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   998
	etc/rcS.d/K28kdc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   999
	etc/rcS.d/K28kdc.master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1000
	etc/rcS.d/K28nfs.server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1001
	etc/rcS.d/K33audit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1002
	etc/rcS.d/K33efcode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1003
	etc/rcS.d/K34svm.sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1004
	etc/rcS.d/K36sendmail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1005
	etc/rcS.d/K36utmpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1006
	etc/rcS.d/K37power
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1007
	etc/rcS.d/K40cron
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1008
	etc/rcS.d/K40inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1009
	etc/rcS.d/K40nscd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1010
	etc/rcS.d/K40sf880dr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1011
	etc/rcS.d/K40slpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1012
	etc/rcS.d/K40syslog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1013
	etc/rcS.d/K40xntpd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1014
	etc/rcS.d/K41autofs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1015
	etc/rcS.d/K41ldap.client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1016
	etc/rcS.d/K41rpc
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  1017
	etc/rcS.d/K42sckm
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1018
	etc/rcS.d/K43inet
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1019
	etc/rcS.d/K99libc.mount
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1020
	etc/rcS.d/S10cvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1021
	etc/rcS.d/S28network.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1022
	etc/rcS.d/S29nodename.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1023
	etc/rcS.d/S30rootusr.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1024
	etc/rcS.d/S33keymap.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1025
	etc/rcS.d/S35svm.init
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1026
	etc/rcS.d/S40standardmounts.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1027
	etc/rcS.d/S42coreadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1028
	etc/rcS.d/S45initboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1029
	etc/rcS.d/S50devfsadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1030
	etc/rcS.d/S72cryptosvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1031
	etc/rcS.d/S95picld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1032
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1033
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1034
# Obsolete smf manifests
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1035
smf_obsolete_manifests="
3781
41d7a70cdf1d PSARC 2006/647 PPD Manager
ceastha
parents: 3604
diff changeset
  1036
	var/svc/manifest/application/print/cleanup.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1037
	var/svc/manifest/network/tftp.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1038
	var/svc/manifest/network/lp.xml
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1039
	var/svc/manifest/system/filesystem/volfs.xml
2958
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1040
	var/svc/manifest/network/pfil.xml
3385
262d8d58ab35 6314953 stmsboot needed for x86
qh201292
parents: 3323
diff changeset
  1041
	var/svc/manifest/platform/sun4u/mpxio-upgrade.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1042
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1043
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1044
# smf services whose manifests have been renamed
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1045
smf_renamed_manifests="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1046
	var/svc/manifest/milestone/name-service.xml
25
83a8af2dd475 PSARC 2005/373 Contract for the Miniroot Repository
szhou
parents: 12
diff changeset
  1047
	var/svc/manifest/system/filesystem/boot-archive.xml
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1048
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1049
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1050
# Obsolete smf methods
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1051
smf_obsolete_methods="
3781
41d7a70cdf1d PSARC 2006/647 PPD Manager
ceastha
parents: 3604
diff changeset
  1052
	lib/svc/method/print-cleanup
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1053
	lib/svc/method/print-server
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1054
	lib/svc/method/svc-volfs
2958
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1055
	lib/svc/method/pfil
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1056
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1057
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1058
smf_cleanup () {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1059
	(
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1060
		cd $root;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1061
		print "Removing obsolete rc.d scripts ... \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1062
		rm -f $smf_obsolete_rc_files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1063
		print "done."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1064
	)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1065
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1066
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1067
smf_new_profiles () {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1068
	[[ "$bfu_isa" = "sparc" ]] || return 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1069
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1070
	[[ -x /tmp/bfubin/svccfg ]] || return 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1071
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1072
	print "Clearing platform profile hash ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1073
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1074
	# platform_SUNW,Sun-Fire.xml (and other new and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1075
	# corrected platforms) were delivered in Build 68.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1076
	if [ ! -f \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1077
		$rootprefix/var/svc/profile/platform_SUNW,Sun-Fire.xml \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1078
		]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1079
		for pfx in " " "v"; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1080
			for plname in \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1081
			    none \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1082
			    SUNW_Sun_Fire_880 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1083
			    SUNW_Sun_Fire_V890 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1084
			    SUNW_Sun_Fire_15000 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1085
			    SUNW_UltraEnterprise_10000; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1086
				svccfg -f - <<EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1087
select smf/manifest
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1088
delpg ${pfx}ar_svc_profile_platform_${plname}_xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1089
exit
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1090
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1091
			done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1092
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1093
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1094
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1095
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1096
smf_handle_new_services () {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1097
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1098
	# Detect, prior to extraction the arrival of new,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1099
	# default-enabled-in-profile services.  If so, add a command
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1100
	# such that they are enabled.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1101
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1102
	if [ ! -f $rootprefix/var/svc/profile/system/sac.xml ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1103
		echo /usr/sbin/svcadm enable system/sac >> \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1104
		    $rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1105
	fi
172
3f157d3c7622 PSARC/2004/199 intrd: Dynamic Interrupt Distribution
esolom
parents: 132
diff changeset
  1106
	if [[ $zone = global &&
3f157d3c7622 PSARC/2004/199 intrd: Dynamic Interrupt Distribution
esolom
parents: 132
diff changeset
  1107
            ! -f $rootprefix/var/svc/manifest/system/intrd.xml ]]; then
3f157d3c7622 PSARC/2004/199 intrd: Dynamic Interrupt Distribution
esolom
parents: 132
diff changeset
  1108
		echo /usr/sbin/svcadm enable system/intrd >> \
3f157d3c7622 PSARC/2004/199 intrd: Dynamic Interrupt Distribution
esolom
parents: 132
diff changeset
  1109
		    $rootprefix/var/svc/profile/upgrade
3f157d3c7622 PSARC/2004/199 intrd: Dynamic Interrupt Distribution
esolom
parents: 132
diff changeset
  1110
	fi
196
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
  1111
	if [[ $zone = global &&
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1112
	    ! -f $rootprefix/var/svc/manifest/system/scheduler.xml ]]; then
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1113
		echo /usr/sbin/svcadm enable system/scheduler >> \
196
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
  1114
		    $rootprefix/var/svc/profile/upgrade
2c158140ef85 PSARC/2005/402 volfs(7FS) service
frits
parents: 172
diff changeset
  1115
	fi
953
785d08a4a320 PSARC 2005/449 system/scheduler
rm88369
parents: 790
diff changeset
  1116
	if [[ $zone = global &&
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1117
	    ! -f $rootprefix/var/svc/manifest/system/hal.xml ]]; then
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1118
		echo /usr/sbin/svcadm enable system/hal >> \
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1119
		    $rootprefix/var/svc/profile/upgrade
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1120
	fi
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1121
	if [[ $zone = global &&
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1122
	    ! -f $rootprefix/var/svc/manifest/system/filesystem/rmvolmgr.xml ]]; then
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  1123
		echo /usr/sbin/svcadm enable system/filesystem/rmvolmgr >> \
953
785d08a4a320 PSARC 2005/449 system/scheduler
rm88369
parents: 790
diff changeset
  1124
		    $rootprefix/var/svc/profile/upgrade
785d08a4a320 PSARC 2005/449 system/scheduler
rm88369
parents: 790
diff changeset
  1125
	fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1126
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1127
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1128
smf_copy_manifest() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1129
	mfstbase=`basename $1`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1130
	mymfs=$rootprefix/var/svc/manifest/$2/$mfstbase
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1131
	if [[ ! -f $mymfs ]] || ! cmp -s $manifest_src/$1 $mymfs ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1132
		cp $manifest_src/$1 $mymfs ||
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1133
		    echo "bfu: could not copy $manifest_src/$1"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1134
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1135
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1136
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1137
smf_copy_method() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1138
	cp $manifest_src/$1 $rootprefix/lib/svc/method ||
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1139
	    echo "bfu: could not copy $manifest_src/$1"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1140
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1141
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1142
smf_cleanup_initd() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1143
	rm -f $rootprefix/etc/rc?.d/[SK]??$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1144
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1145
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1146
smf_delete_manifest() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1147
	(
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1148
		mfst=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1149
		cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1150
		[ -f $mfst ] || return;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1151
		if [ -r /etc/svc/volatile/repository_door ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1152
			ENTITIES=`/tmp/bfubin/svccfg inventory $mfst`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1153
			for fmri in $ENTITIES; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1154
				/tmp/bfubin/svccfg delete -f $fmri
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1155
			done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1156
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1157
		rm $mfst
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1158
	)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1159
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1160
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1161
smf_delete_methods() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1162
	(
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1163
		cd $root;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1164
		rm -f $smf_obsolete_methods
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1165
	)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1166
}	
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1167
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1168
smf_delete_renamed_manifests() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1169
	(
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1170
		cd $root;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1171
		rm -f $smf_renamed_manifests
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1172
	)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1173
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1174
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1175
smf_gldv3_manifests="
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1176
	var/svc/manifest/network/aggregation.xml
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1177
	var/svc/manifest/network/datalink.xml
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1178
	var/svc/manifest/network/datalink-init.xml
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1179
"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1180
smf_gldv3_methods="
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1181
	lib/svc/method/aggregation
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1182
	lib/svc/method/datalink
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1183
	lib/svc/method/datalink-init
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1184
"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1185
smf_cleanup_gldv3() {
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1186
	(
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1187
		for f in $smf_gldv3_manifests; do
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1188
			smf_delete_manifest $f
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1189
		done
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1190
		cd $root;
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1191
		rm -f $smf_gldv3_methods
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1192
	)
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1193
}
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1194
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1195
old_mfst_dir="var/svc/manifest.orig"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1196
new_mfst_dir="var/svc/manifest"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1197
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1198
smf_enable() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1199
	echo "svcadm enable $*" >> $rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1200
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1201
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1202
smf_check_repository() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1203
	repository=etc/svc/repository.db
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1204
	[[ -f $rootprefix/$repository ]] || return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1205
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1206
	print -n "$rootprefix/$repository: " >&2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1207
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1208
	sqlite="${SQLITEBIN-$GATE/public/bin/$bfu_isa/sqlite}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1209
	[[ -x $sqlite ]] || sqlite=/lib/svc/bin/sqlite
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1210
	if [[ ! -x $sqlite ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1211
		echo "no sqlite binary: skipped integrity check" >&2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1212
		return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1213
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1214
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1215
	rm -f /tmp/bfurepo.db;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1216
	cp $rootprefix/$repository /tmp/bfurepo.db
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1217
	bad_errors=`echo "PRAGMA integrity_check;" |
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1218
	    $sqlite /tmp/bfurepo.db 2>&1 | grep -v '^ok$'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1219
	if [[ $? -eq 0 ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1220
		echo "integrity check failed:" >&2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1221
		echo "$bad_errors" >&2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1222
		echo >&2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1223
		if [[ $force_override = no ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1224
			cat >&2 <<EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1225
Reseed the repository (see http://greenline.eng/quickstart.shtml#newrep)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1226
before BFUing (or use the -f flag to force BFU to continue).  Re-seeding
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1227
will lose all smf(5) customizations.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1228
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1229
			echo >&2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1230
			exit 2;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1231
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1232
			echo "driving on anyway" >&2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1233
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1234
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1235
		echo "passed integrity check" >&2;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1236
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1237
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1238
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1239
smf_bkbfu_warning() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1240
	print ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1241
	print "*************************************************************"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1242
	print " WARNING: BFU'ing $1 backwards across 5090532."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1243
	print " Fixes have been made but the services cannot be refreshed"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1244
	print " on the $1's inactive repository. Next boot for the"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1245
	print " $1 will probably result in maintenance mode due to"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1246
	print " dependency cycles. If so, at the $1's console, run:"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1247
	print ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1248
	print " /usr/sbin/svcadm refresh system/sysidtool:system"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1249
	print " /usr/sbin/svcadm refresh system/sysidtool:net"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1250
	print " /usr/sbin/svcadm clear milestone/single-user"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1251
	print " /usr/sbin/svcadm clear system/sysidtool:system"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1252
	print " /usr/sbin/svcadm clear system/sysidtool:net"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1253
	print ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1254
	print " to resolve."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1255
	print " To avoid these problems, reseed the zone's repository."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1256
	print " See http://greenline.eng/quickstart.shtml#newrep ."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1257
	print " Note: Re-seeding will lose all smf(5) customization."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1258
	print "*************************************************************"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1259
	print ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1260
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1261
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1262
smf_is_sysconfig() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1263
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1264
	# Return success if going to post-5090532, i.e. post-sysconfig bits
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1265
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1266
	# By now, we're going to post-smf bits - so multi-user.xml must
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1267
	# exist (since it was introduced by first SMF putback).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1268
	# 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1269
	# Function return status is return status of last command executed.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1270
	# So, no need to check return status from grep below.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1271
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1272
	grep sysconfig $rootprefix/var/svc/manifest/milestone/multi-user.xml \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1273
		>/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1274
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1275
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1276
smf_bkbfu_past_sysconfig() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1277
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1278
	# Check if bfu'ing back from post-5090532 to pre-5090532 bits.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1279
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1280
	if [[ -f $rootprefix/var/svc/manifest/milestone/sysconfig.xml ]] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1281
	    ! smf_is_sysconfig ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1282
		return 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1283
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1284
	return 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1285
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1286
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1287
smf_bkbfu_repair_sysconfig() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1288
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1289
	# Perform the necessary corrections when bfu'ing backwards
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1290
	# from post-5090532 to pre-5090532 bits.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1291
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1292
	# Get the pre-5090532 non-ON manifests, and issue minimal fixes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1293
	# to the repository, to enable re-boot.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1294
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1295
	smf_copy_manifest pre-5090532/sysidtool.xml system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1296
	if [[ $zone = global && $karch = i86pc ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1297
		smf_copy_manifest pre-5090532/kdmconfig.xml platform/i86pc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1298
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1299
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1300
	# Now, remove sysidtool:{system, net}'s dependency on
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1301
	# single-user and filesystem-local.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1302
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1303
	# If $rootprefix is not empty, this could be the global zone,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1304
	# with an alternate root BFU, or a non-global zone. For either
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1305
	# case, the repository to be updated is not the live one: use
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1306
	# SVCCFG_REPOSITORY to point to the repository to be updated.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1307
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1308
	# Note that in the alternate-root case, doing this seems better
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1309
	# than forcing the user to re-seed, or to dis-allow it. The
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1310
	# issue of svccfg and the repository not matching seems remote,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1311
	# given that from initial SMF integration (on10_64) to on10_74,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1312
	# there was no mismatch. In the remote possibility that there is a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1313
	# mis-match (in the future) causing these calls to be suspect,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1314
	# the user is already being advised, via the warning message, to
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1315
	# reseed the repository in case of trouble. If a mis-match is ever
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1316
	# introduced, code such as this would have to be fixed, so this
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1317
	# aspect of the warning is useful only during the interim period.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1318
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1319
	# NOTE that this is not an issue for non-global zones'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1320
	# repositories - they couldn't be out-of-sync with
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1321
	# /tmp/bfubin/svccfg.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1322
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1323
	if [[ -n $rootprefix ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1324
		export SVCCFG_REPOSITORY=$rootprefix/etc/svc/repository.db
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1325
		if [[ $zone = global ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1326
			smf_bkbfu_warning "alternate root"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1327
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1328
			smf_bkbfu_warning "zone"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1329
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1330
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1331
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1332
	# Using the newer "-s" option to svccfg in the following is OK
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1333
	# since its introduction preceded 5090532 (and this routine wouldn't
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1334
	# be called unless the machine is running post-5090532 bits).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1335
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1336
	/tmp/bfubin/svccfg -s system/sysidtool:net delpg single-user
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1337
	/tmp/bfubin/svccfg -s system/sysidtool:system delpg single-user
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1338
	/tmp/bfubin/svccfg -s system/sysidtool:net delpg filesystem_local
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1339
	/tmp/bfubin/svccfg -s system/sysidtool:system delpg filesystem_local
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1340
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1341
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1342
	# On a live system, issue the refresh; For alternate root or non-global
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1343
	# zone, the user was asked to issue the refreshes and "clear"s in the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1344
	# message above after a post-bfu reboot.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1345
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1346
	if [[ -z $rootprefix ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1347
		/tmp/bfubin/svcadm refresh system/sysidtool:system \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1348
		    system/sysidtool:net
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1349
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1350
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1351
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1352
	# Now, reset SVCCFG_REPOSITORY, if it was set
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1353
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1354
	[[ -n $rootprefix ]] && unset SVCCFG_REPOSITORY
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1355
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1356
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1357
	# Remove the sysconfig.xml manifest when going back.  So backward
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1358
	# bfu check continues to work, and all manifests are correct.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1359
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1360
	cat >> $rootprefix/var/svc/profile/upgrade <<-EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1361
	rm -f /var/svc/manifest/milestone/sysconfig.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1362
	EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1363
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1364
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1365
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1366
# Return true if $file exists in $archive.  $file may also be a pattern.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1367
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1368
archive_file_exists()
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1369
{
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1370
	archive=$1
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1371
	file=$2
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1372
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1373
	$ZCAT $cpiodir/${archive}${ZFIX} | cpio -it 2>/dev/null | \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1374
	    egrep -s "$file"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1375
}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1376
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1377
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1378
# If we're no longer delivering the eeprom service, remove it from the system,
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1379
# as eeprom -I is removed as well.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1380
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1381
smf_fix_i86pc_profile () {
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1382
	mfst="var/svc/manifest/platform/i86pc/eeprom.xml"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1383
	profile="var/svc/profile/platform_i86pc.xml"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1384
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1385
	if [ ! "$karch" = "i86pc" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1386
		return
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1387
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1388
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1389
	if ! archive_file_exists generic.root "^$profile"; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1390
		rm -f $rootprefix/$profile
3604
66c3c8c384a6 6521479 bfu leaves dangling /var/svc/profile/platform.xml link
johnlev
parents: 3529
diff changeset
  1391
		rm -f $rootprefix/var/svc/profile/platform.xml
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1392
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1393
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1394
	if [ ! -f $rootprefix/$mfst ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1395
		return
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1396
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1397
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1398
	if archive_file_exists generic.root "^$mfst"; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1399
		return
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1400
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1401
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1402
	rm -f $rootprefix/$mfst
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1403
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1404
	#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1405
	# we must disable via svccfg directly, as manifest-import runs after
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1406
	# this service tries to run
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1407
	#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1408
	[[ -n "$rootprefix" ]] &&
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1409
	    export SVCCFG_REPOSITORY=$rootprefix/etc/svc/repository.db
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1410
	/tmp/bfubin/svccfg delete -f platform/i86pc/eeprom
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1411
	[[ -n "$rootprefix" ]] && unset SVCCFG_REPOSITORY
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1412
}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1413
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1414
smf_apply_conf () {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1415
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1416
	# Go thru the original manifests and move any that were unchanged
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1417
	# (or are not system-provided) back to their proper location.  This
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1418
	# will avoid superfluous re-import on reboot, as the inode and mtime
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1419
	# are both part of the hash.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1420
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1421
	if [ -d $rootprefix/$old_mfst_dir ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1422
		for f in `cd $rootprefix/$old_mfst_dir ; find . -type f`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1423
		do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1424
			old=$rootprefix/$old_mfst_dir/$f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1425
			new=$rootprefix/$new_mfst_dir/$f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1426
			if [ ! -f $new ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1427
				mkdir -m 0755 -p `dirname $new`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1428
				mv $old $new
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1429
				continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1430
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1431
			cmp -s $old $new && mv $old $new
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1432
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1433
		rm -rf $rootprefix/$old_mfst_dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1434
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1435
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1436
	if [ -f $rootprefix/etc/init.d/inetd ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1437
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1438
		# BFUing to non-SMF system -- undo our previous changes,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1439
		# run an old hack, and skip the remainder of this function.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1440
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1441
		smf_inetd_reenable
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1442
		smf_tftp_reinstall
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1443
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1444
		# Update inetd.conf only if we find rpc.metad file.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1445
		[ -f $usr/sbin/rpc.metad ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1446
		    inetd_conf_svm_hack
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1447
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1448
		return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1449
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1450
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1451
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1452
	# At this point, the archive in question is a SMF version.  If
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1453
	# the smf(5) repository does not yet exist, create it by copying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1454
	# the appropriate seed repository.  Since updating of non-global
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1455
	# zones only occurs when the live system is bfu'ed, the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1456
	# appropriate seed is guaranteed to exist under the /lib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1457
	# directory.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1458
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1459
	repository=$rootprefix/etc/svc/repository.db
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1460
	if [ ! -f $repository ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1461
		print "Initializing service configuration repository ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1462
		if [ $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1463
			cp $rootprefix/lib/svc/seed/global.db $repository
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1464
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1465
			cp /lib/svc/seed/nonglobal.db $repository
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1466
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1467
		chmod 0600 $repository
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1468
		chown root:sys $repository
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1469
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1470
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1471
	print "Removing obsolete smf services ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1472
	for f in $smf_obsolete_manifests; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1473
		smf_delete_manifest $f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1474
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1475
	smf_delete_methods
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1476
	smf_delete_renamed_manifests
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1477
	if [ $need_datalink = no ]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1478
		smf_cleanup_gldv3
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1479
	fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1480
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1481
	print "Disabling unneeded inetd.conf entries ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1482
	smf_inetd_disable
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1483
	smf_tftp_reinstall
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1484
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1485
	print "Connecting platform and name service profiles ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1486
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1487
	rm -f $rootprefix/var/svc/profile/name_service.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1488
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1489
	grep ldap $rootprefix/etc/nsswitch.conf >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1490
	is_ldap=$?
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1491
	grep nisplus $rootprefix/etc/nsswitch.conf >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1492
	is_nisplus=$?
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1493
	grep nis $rootprefix/etc/nsswitch.conf >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1494
	is_nis=$?
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1495
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1496
	if [ $is_ldap  = 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1497
		ns_profile=ns_ldap.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1498
	elif [ $is_nisplus = 0  ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1499
		ns_profile=ns_nisplus.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1500
	elif [ $is_nis = 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1501
		ns_profile=ns_nis.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1502
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1503
		ns_profile=ns_files.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1504
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1505
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1506
	ln -s $ns_profile $rootprefix/var/svc/profile/name_service.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1507
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1508
	rm -f $rootprefix/var/svc/profile/inetd_services.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1509
	ln -s inetd_upgrade.xml $rootprefix/var/svc/profile/inetd_services.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1510
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1511
	print "Marking converted services as enabled ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1512
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1513
	[ -f $rootprefix/etc/resolv.conf ] && smf_enable network/dns/client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1514
	[ -f $rootprefix/etc/rcap.conf ] && smf_enable system/rcap
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1515
	[ -f $rootprefix/etc/inet/dhcpsvc.conf ] && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1516
	    smf_enable network/dhcp-server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1517
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1518
	if [ $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1519
		if [ -f $rootprefix/etc/dfs/dfstab ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1520
		    grep '^[ 	]*[^# 	]' $rootprefix/etc/dfs/dfstab \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1521
		    > /dev/null; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1522
		    	smf_enable network/nfs/server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1523
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1524
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1525
		echo "/usr/sbin/svcadm disable network/nfs/server" >> \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1526
		    $rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1527
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1528
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1529
	[ -f $rootprefix/etc/inet/ntp.conf ] && smf_enable network/ntp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1530
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1531
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1532
	domainname=`cat $rootprefix/etc/defaultdomain 2>/dev/null`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1533
        if [ ! -z "$domainname" -a -d $rootprefix/var/yp/$domainname ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1534
		smf_enable network/nis/server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1535
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1536
		# Determining whether we're a NIS master requires
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1537
		# looking through the maps.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1538
		cat >>$rootprefix/var/svc/profile/upgrade <<\_EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1539
# Determine whether we are a YP master.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1540
domain=`/usr/bin/domainname`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1541
hostname=`uname -n | cut -d. -f1 | tr '[A-Z]' '[a-z]'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1542
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1543
if [ -x /usr/sbin/makedbm ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1544
	if [ -f /var/yp/NISLDAPmapping ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1545
		master=`/usr/sbin/makedbm -u /var/yp/\$domain/LDAP_passwd.byname | grep YP_MASTER_NAME | nawk '{ print $2 }'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1546
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1547
		master=`/usr/sbin/makedbm -u /var/yp/\$domain/passwd.byname | grep YP_MASTER_NAME | nawk '{ print $2 }'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1548
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1549
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1550
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1551
# If we are the master server, enable appropriate services.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1552
if [ "$master" = "$hostname" -a "$YP_SERVER" = "TRUE" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1553
	/usr/sbin/svcadm enable network/nis/xfr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1554
	/usr/sbin/svcadm enable network/nis/passwd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1555
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1556
	if [ ! -f /var/yp/NISLDAPmapping ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1557
		[ -f /var/yp/updaters ] && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1558
		    /usr/svc/svcadm enable network/nis/update
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1559
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1560
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1561
_EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1562
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1563
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1564
	# Check if mddbs don't exist on the image.  If so, disable SVM services.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1565
	MDDB_STATUS=1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1566
	if [ -f $rootprefix/kernel/drv/md.conf ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1567
		sed -e 's/#.*$//' $rootprefix/kernel/drv/md.conf | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1568
		    egrep '^[        ]*mddb_bootlist' >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1569
		MDDB_STATUS=$?
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1570
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1571
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1572
	if [ $MDDB_STATUS -ne 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1573
		for svc in metainit mdmonitor; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1574
		    echo "/usr/sbin/svcadm disable system/$svc:default" >> \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1575
			$rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1576
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1577
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1578
		for svc in meta mdcomm metamed metamh; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1579
		    echo "/usr/sbin/svcadm disable network/rpc/$svc:default" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1580
			>> $rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1581
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1582
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1583
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1584
	# Workaround inetd's handling of "tcp6/udp6" when no IPv6 interfaces
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1585
	# are configured.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1586
	for svc in meta mdcomm metamed metamh; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1587
	    echo "/usr/sbin/inetadm -m network/rpc/$svc:default proto=tcp" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1588
		">/dev/null 2>&1" >> $rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1589
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1590
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1591
	manifest_src=${MANIFEST_SRC-$GATE/public/smf}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1592
	[[ -d $manifest_src ]] ||
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1593
	    manifest_src=/net/onnv.eng/export/gate/public/smf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1594
	[[ -d $manifest_src ]] || manifest_src=/net/greenline.eng/meta0/smf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1595
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1596
	if smf_bkbfu_past_sysconfig ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1597
		echo "BFU'ing backwards across 5090532! Now repairing..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1598
		smf_bkbfu_repair_sysconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1599
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1600
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1601
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1602
	# If bfu'ing milestone/sysconfig bits or onwards, update the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1603
	# corresponding non-ON manifests - sysidtool and kdmconfig.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1604
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1605
	sysidmfst=$rootprefix/var/svc/manifest/system/sysidtool.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1606
	kdmmfst=$rootprefix/var/svc/manifest/platform/i86pc/kdmconfig.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1607
	if smf_is_sysconfig ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1608
		if [[ ! -f $sysidmfst ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1609
			#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1610
			# if WOS build on machine is pre-greenline, and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1611
			# we're bfu'ing to the sysconfig bits.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1612
			#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1613
			smf_copy_manifest post-5090532/sysidtool.xml system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1614
			if [[ $zone = global ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1615
				smf_copy_method sysidtool-net
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1616
				smf_copy_method sysidtool-system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1617
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1618
			echo "Converted system/sysidtool (post-5090532)"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1619
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1620
			#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1621
			# If sysidtool.xml already exists, update it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1622
			# if necessary. Future updates of sysidtool.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1623
			# must occur in the dir: $manifest_src/post-5090532
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1624
			#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1625
			smf_copy_manifest post-5090532/sysidtool.xml system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1626
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1627
		if [[ $zone = global && $karch = i86pc ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1628
			if [[ ! -f $kdmmfst ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1629
				#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1630
				# if WOS build on machine is pre-greenline, and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1631
				# we're bfu'ing to the sysconfig bits.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1632
				#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1633
				smf_copy_manifest post-5090532/kdmconfig.xml \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1634
				    platform/i86pc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1635
				smf_copy_method   svc-kdmconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1636
				smf_cleanup_initd kdmconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1637
				echo "Converted platform/i86pc/kdmconfig"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1638
				echo "(post-5090532)"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1639
			else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1640
				#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1641
				# If kdmconfig.xml already exists, update
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1642
				# it if necessary. Future updates of
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1643
				# kdmconfig.xml must occur in the dir:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1644
				# $manifest_src/post-5090532
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1645
				#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1646
				smf_copy_manifest post-5090532/kdmconfig.xml \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1647
				    platform/i86pc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1648
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1649
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1650
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1651
		if [[ ! -f $sysidmfst ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1652
			smf_copy_manifest pre-5090532/sysidtool.xml system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1653
			if [[ $zone = global ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1654
				smf_copy_method sysidtool-net
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1655
				smf_copy_method sysidtool-system
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1656
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1657
			echo "Converted system/sysidtool"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1658
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1659
		if [[ $zone = global && $karch = i86pc && ! -f $kdmmfst ]];
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1660
		then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1661
			smf_copy_manifest pre-5090532/kdmconfig.xml \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1662
			    platform/i86pc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1663
			smf_copy_method   svc-kdmconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1664
			smf_cleanup_initd kdmconfig
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1665
			echo "Converted platform/i86pc/kdmconfig"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1666
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1667
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1668
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1669
	# If we've still got the old dtlogin manifest delivered by earlier
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1670
	# versions of bfu, delete it, as it was broken and should have
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1671
	# never been delivered.  A new version delivered by the CDE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1672
	# consolidation should be left alone.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1673
	if [[ -f $rootprefix/var/svc/manifest/application/dtlogin.xml &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1674
	    `grep -c GLXXX \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1675
	    $rootprefix/var/svc/manifest/application/dtlogin.xml` -gt 0 &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1676
	    -x /tmp/bfubin/svccfg ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1677
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1678
		# Delete the obsolete manifest.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1679
		rm -f $rootprefix/var/svc/manifest/application/dtlogin.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1680
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1681
		# Delete the service from repository, then use dtconfig -e to
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1682
		# revert to whatever the WOS bits are using if dtlogin was
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1683
		# enabled.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1684
		cat >> $rootprefix/var/svc/profile/upgrade <<-EOFA
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1685
if /usr/bin/svcprop -q application/cde-login; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1686
	if [ \`/usr/bin/svcprop -p general/enabled \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1687
		application/cde-login:default\` = "true" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1688
		do_dtconfig=1;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1689
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1690
		do_dtconfig=0;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1691
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1692
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1693
	/usr/sbin/svccfg delete -f application/cde-login
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1694
	type instance_refresh 2>&1 > /dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1695
	if [ \$? = 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1696
		instance_refresh system/console-login
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1697
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1698
		/usr/sbin/svcadm refresh system/console-login
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1699
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1700
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1701
	if [ \$do_dtconfig -eq 1 -a -x /usr/dt/bin/dtconfig ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1702
		/usr/dt/bin/dtconfig -e
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1703
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1704
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1705
EOFA
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1706
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1707
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1708
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1709
	# Enable the inetd-upgrade service to convert any changes to inetd.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1710
	smf_enable network/inetd-upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1711
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1712
	# If global zone, and bfu'ing from smf, and the inetd-upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1713
	# service has an obsolete dependency, then add a clear of inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1714
	# and inetd-upgrade to the upgrade file as either may drop into
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1715
	# maintenance due to a dependency loop resulting from the new
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1716
	# inetd manifest
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1717
	if [[ $zone = global && -x /tmp/bfubin/svccfg ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1718
		/tmp/bfubin/svcprop -q -p network/entities network/inetd-upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1719
		if [[ $? = 0 ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1720
		    	echo "/usr/sbin/svcadm clear network/inetd" >> \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1721
			    $rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1722
			echo "/usr/sbin/svcadm clear network/inetd-upgrade" >> \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1723
			    $rootprefix/var/svc/profile/upgrade
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1724
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1725
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1726
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1727
	# If we're in the global zone, and using an alternate root, see if
2958
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1728
	# we are in an smf root.  If so, import name-service-cache. If we're
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1729
	# not bfu'ing an alternate root, and we're post-smf, import
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1730
	# name-service-cache.  This is to get name-service-cache(with correct
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1731
	# dependencies) in the repository before reboot.  If we're bfu'ing
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1732
	# from pre-smf, this isn't an issue, as name-service-cache will be
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1733
	# installed with correct dependencies.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1734
	if [[ $zone = global &&
2958
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1735
	    -f $rootprefix/var/svc/manifest/system/name-service-cache.xml ]];
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1736
	    then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1737
		if [[ -n $rootprefix ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1738
			if [ -x /usr/sbin/svccfg ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1739
			SVCCFG_REPOSITORY=$rootprefix/etc/svc/repository.db
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1740
			/usr/sbin/svccfg import \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1741
		    $rootprefix/var/svc/manifest/system/name-service-cache.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1742
			else
2958
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1743
			echo "Warning: This system does not have SMF, so I "
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1744
			echo "cannot ensure the pre-import of "
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1745
			echo "name-service-cache.  If name-service-cache does "
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  1746
			echo "not work, reboot your alternate root to fix it."
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1747
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1748
		elif [ -x /tmp/bfubin/svccfg ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1749
			/tmp/bfubin/svccfg import \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1750
			    /var/svc/manifest/system/name-service-cache.xml
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1751
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1752
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1753
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1754
	# If we're in the global zone, and using an alternate root, see if
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1755
	# we are in an smf root.  If so, import datalink and aggregation svcs.
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1756
	# If we're not bfu'ing an alternate root, and we're post-smf,
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1757
	# import datalink and aggregation.  This is to get them 
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1758
	# in the repository before reboot.  If we're bfu'ing from pre-smf,
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1759
	# this isn't an issue, as they are in the seed repository.
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1760
	if [[ $zone = global &&
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1761
	    -f $rootprefix/var/svc/manifest/network/datalink.xml ]]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1762
		if [[ -n $rootprefix ]]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1763
			if [ -x /usr/sbin/svccfg ]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1764
			SVCCFG_REPOSITORY=$rootprefix/etc/svc/repository.db
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1765
			sed -e "s/enabled='true'/enabled='false'/" \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1766
			 $rootprefix/var/svc/manifest/network/aggregation.xml \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1767
			    | svccfg import -
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1768
			sed -e "s/enabled='true'/enabled='false'/" \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1769
			    $rootprefix/var/svc/manifest/network/datalink.xml \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1770
			    | svccfg import -
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1771
			sed -e "s/enabled='true'/enabled='false'/" \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1772
		       $rootprefix/var/svc/manifest/network/datalink-init.xml \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1773
			    | svccfg import -
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1774
			else
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1775
			echo "Warning: This system does not have SMF, so I"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1776
			echo "cannot ensure the pre-import of datalink and"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1777
			echo "network aggregation.  If they do not work"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1778
			echo "reboot your alternate root to fix it."
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1779
			fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1780
		elif [ -x /tmp/bfubin/svccfg ]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1781
			sed -e "s/enabled='true'/enabled='false'/" \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1782
			    /var/svc/manifest/network/aggregation.xml | \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1783
			    svccfg import -
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1784
			sed -e "s/enabled='true'/enabled='false'/" \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1785
			    /var/svc/manifest/network/datalink.xml | \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1786
			    svccfg import -
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1787
			sed -e "s/enabled='true'/enabled='false'/" \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1788
			    /var/svc/manifest/network/datalink-init.xml | \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1789
			    svccfg import -
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1790
		fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1791
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1792
		#
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1793
		# Make sure the services are enabled after reboot.
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1794
		#
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1795
		enable_next_boot svc:/network/aggregation:default
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1796
		enable_next_boot svc:/network/datalink:default
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1797
		enable_next_boot svc:/network/datalink-init:default
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1798
	fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1799
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1800
	# Enable new NFS status and nlockmgr services if client is enabled
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1801
	cat >> $rootprefix/var/svc/profile/upgrade <<-EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1802
	    cl="svc:/network/nfs/client:default"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1803
	    if [ \`/usr/bin/svcprop -p general/enabled \$cl\` = "true" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1804
		/usr/sbin/svcadm enable svc:/network/nfs/status:default
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1805
		/usr/sbin/svcadm enable svc:/network/nfs/nlockmgr:default
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1806
	    fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1807
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1808
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1809
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1810
	kpmani="$rootprefix/var/svc/manifest/network/security/krb5_prop.xml"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1811
	if grep svc-kdc.slave $kpmani > /dev/null 2>&1; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1812
		cat >> $rootprefix/var/svc/profile/upgrade <<EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1813
		# We are deleting and reimporting kpropd's manifest, because we
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1814
		# need to change the restarter.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1815
		kpfmri="svc:/network/security/krb5_prop"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1816
		kkfmri="svc:/network/security/krb5kdc:default"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1817
		lkpmani="/var/svc/manifest/network/security/krb5_prop.xml"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1818
		restarter=\`svcprop -c -p general/restarter \$kpfmri 2>&1\`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1819
		case \$restarter in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1820
			*network/inetd:default)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1821
				kken=\`svcprop -c -p general/enabled \$kkfmri\`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1822
				svccfg delete -f \$kpfmri
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1823
				svccfg import \$lkpmani 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1824
				# Enable kpropd if krb5kdc is enabled, since
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1825
				# krb5kdc would have run kpropd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1826
				if [ \$kken = "true" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1827
					svcadm enable \$kpfmri
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1828
				fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1829
				;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1830
		esac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1831
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1832
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1833
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1834
	# Enable print server if there are local queues
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1835
	queues=`echo $rootprefix/etc/lp/printers/*/configuration`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1836
	if [ "$queues" != "$rootprefix/etc/lp/printers/*/configuration" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1837
		smf_enable application/print/server
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1838
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1839
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1840
	# Enable rarpd and bootparamd if they would have been running pre-SMF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1841
	if [ -d $rootprefix/tftpboot ] || [ -d $rootprefix/rplboot ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1842
		smf_enable network/rarp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1843
		smf_enable network/rpc/bootparams
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1844
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1845
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1846
	# To handle the transition from pre-smf ipfilter to smf-aware ipfilter,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1847
	# check if ipfilter had been enabled with at least one rule, and if so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1848
	# enable the smf instance.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1849
	if grep '^[ \t]*[^# \t]' $rootprefix/etc/ipf/ipf.conf >/dev/null 2>&1 &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1850
	    [[ $zone = global ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1851
		smf_enable network/ipfilter
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1852
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1853
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1854
	touch $rootprefix/var/svc/profile/.upgrade_prophist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1855
1120
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1856
	cat >> $rootprefix/var/svc/profile/upgrade <<EOF
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1857
	# We are deleting and reimporting dcs's manifest, because we
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1858
	# need to change the restarter.
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1859
	dcsfmri="svc:/platform/sun4u/dcs:default"
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1860
	dcsmani="/var/svc/manifest/platform/sun4u/dcs.xml"
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1861
	restarter=\`svcprop -c -p general/restarter \$dcsfmri 2>&1\`
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1862
	case \$restarter in
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1863
		*network/inetd:default)
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1864
			en=\`svcprop -c -p general/enabled \$dcsfmri\`
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1865
			svccfg delete -f \$dcsfmri
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1866
			svccfg import \$dcsmani
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1867
			if [ \$en = "true" ]; then
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1868
				svcadm enable \$dcsfmri
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1869
			fi
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1870
			;;
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1871
	esac
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1872
EOF
f038ea42ae91 4792021 per-socket level IPsec policy for dynamic reconfiguration
mb158278
parents: 1106
diff changeset
  1873
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1874
	smf_fix_i86pc_profile
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1875
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1876
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1877
EXTRACT_LOG=/tmp/bfu-extract-log.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1878
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1879
rm -f $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1880
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1881
extraction_error() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1882
	echo error $* >> $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1883
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1884
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1885
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1886
# Make a local copy of bfu in /tmp and execute that instead.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1887
# This makes us immune to loss of networking and/or changes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1888
# to the original copy that might occur during execution.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1889
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1890
cd .
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1891
abspath=`[[ $0 = /* ]] && print $0 || print $PWD/$0`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1892
if [[ $abspath != /tmp/* ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1893
	localpath=/tmp/bfu.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1894
	print "Copying $abspath to $localpath"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1895
	cp $abspath $localpath
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1896
	chmod +x $localpath
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1897
	print "Executing $localpath $*\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1898
	exec $localpath $*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1899
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1900
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1901
export PATH=/usr/bin:/usr/sbin:/sbin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1902
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1903
usage() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1904
	echo "Usage:"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1905
	echo "    bfu    [-fh] <archive_dir> [root-dir]"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1906
	echo "\tUpdate a single machine by loading archives on root-dir."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1907
	echo "\troot-dir defaults to / (a live bfu).\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1908
	echo "    bfu -c [-fh] <archive_dir> <exec-dir>"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1909
	echo "\tUpdate all diskless clients by loading archives on each client"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1910
	echo "\tthat mounts exec-dir as /usr.  <exec-dir> must start with"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1911
	echo "\t/export/exec and each client's root must be in /export/root.\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1912
	echo "\t-f        force bfu to continue even if it doesn't seem safe"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1913
	fail "\t-h|-help  print this usage message and exit\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1914
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1915
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1916
diskless=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1917
force_override=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1918
while [ $# -gt 0 ]; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1919
	case $1 in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1920
		-c)		diskless=yes;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1921
		-f)		force_override=yes;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1922
		-h|-help)	usage;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1923
		*)      	break;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1924
	esac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1925
	shift
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1926
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1927
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1928
# Variables for x86 platforms
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1929
boot_is_pcfs=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1930
have_realmode=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1931
is_pcfs_boot=no
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  1932
need_datalink=no
3147
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  1933
new_dladm=no
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1934
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1935
# Set when moving to either directboot or multiboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1936
multi_or_direct=no
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1937
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1938
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1939
# Shows which type of archives we have, which type of system we are
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1940
# running on (before the bfu), and what the failsafe archives are
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1941
# (again, before the bfu).  failsafe_type is only needed on diskful
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1942
# bfu's, so it's not set in the diskless case.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1943
# Possible values: unknown, dca, multiboot, directboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1944
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1945
archive_type=unknown
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1946
system_type=unknown
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1947
failsafe_type=unknown
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1948
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1949
test $# -ge 1 || usage
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1950
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1951
if [ -x /usr/bin/ppriv ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1952
	# We prefer to use ppriv, as it is a more accurate test, and also
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  1953
	# has the benefit of preventing use from within a nonglobal zone.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1954
	ppriv $$ | grep -w "E: all" > /dev/null 2>&1 || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1955
	    fail "bfu requires all privileges"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1956
else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1957
	# Fall back to old id check if system does not yet have ppriv.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1958
	uid=`id | nawk '{print $1}'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1959
	[ "$uid" = "uid=0(root)" ] || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1960
	    fail "You must be super-user to run this script."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1961
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1962
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1963
bfu_isa=`uname -p`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1964
target_isa=$bfu_isa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1965
karch=`uname -m`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1966
plat=`uname -i`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1967
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1968
cpiodir=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1969
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1970
if [ "$cpiodir" = again ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1971
	cpiodir=`nawk '/^bfu.ed from / { print $3; exit }' /etc/motd`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1972
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1973
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1974
[[ "$cpiodir" = */* ]] || cpiodir=$ARCHIVE/archives/$target_isa/$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1975
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1976
[[ "$cpiodir" = /* ]] || fail "archive-dir must be an absolute path"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1977
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1978
cd $cpiodir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1979
case `echo generic.root*` in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1980
	generic.root)		ZFIX="";	ZCAT="cat";;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1981
	generic.root.gz)	ZFIX=".gz";	ZCAT="gzip -d -c";;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1982
	generic.root.Z)		ZFIX=".Z";	ZCAT="zcat";;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1983
	*) fail "generic.root missing or in unknown compression format";;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1984
esac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1985
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1986
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1987
# Determine what kind of archives we're installing, using the following rules:
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1988
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1989
# 1. If strap.com is present, the archives are pre-multiboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1990
# 2. If symdef is present, the archives are directboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1991
# 3. Otherwise, the archives are multiboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1992
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1993
if [ $target_isa = i386 ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1994
	if [ -f $cpiodir/i86pc.boot$ZFIX ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1995
	    archive_file_exists i86pc.boot "strap.com"; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1996
		archive_type=dca
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1997
	elif [ -f $cpiodir/i86pc.root$ZFIX ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1998
	    archive_file_exists i86pc.boot symdef; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  1999
		archive_type=directboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2000
		multi_or_direct=yes
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2001
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2002
		archive_type=multiboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2003
		multi_or_direct=yes
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2004
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2005
fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2006
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2007
if [ $diskless = no ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2008
	root=${2:-/}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2009
	[[ "$root" = /* ]] || fail "root-dir must be an absolute path"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2010
	usrroot=$root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2011
	usr=${usrroot%/}/usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2012
	rootlist=$root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2013
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2014
	[[ -f $root/etc/system ]] || \
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  2015
	    fail "$root/etc/system not found; nonglobal zone target not allowed"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2016
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2017
	if [ -f $root/boot/platform/i86pc/kernel/unix ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2018
		failsafe_type=directboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2019
	elif [ -f $root/boot/multiboot ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2020
		failsafe_type=multiboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2021
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2022
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2023
	# Make sure we extract the sun4u-us3 libc_psr.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2024
	if [ -d $root/platform/sun4u -a \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2025
	   ! -d $root/platform/sun4u-us3 ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2026
	then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2027
		mkdir $root/platform/sun4u-us3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2028
		chmod 755 $root/platform/sun4u-us3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2029
		chown root $root/platform/sun4u-us3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2030
		chgrp sys $root/platform/sun4u-us3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2031
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2032
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2033
	if [ $karch != $plat -a -f ${cpiodir}/${plat}.usr$ZFIX ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2034
		usrarchs="$karch $plat"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2035
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2036
		usrarchs="$karch"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2037
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2038
	if [ $karch != $plat -a -f ${cpiodir}/${plat}.root$ZFIX ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2039
		rootarchs="$karch $plat"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2040
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2041
		rootarchs="$karch"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2042
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2043
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2044
	if [ -h ${root}/platform/${plat} ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2045
		rm -f ${root}/platform/${plat}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2046
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2047
	if [ -h ${usr}/platform/${plat} ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2048
		rm -f ${usr}/platform/${plat}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2049
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2050
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2051
	if [ $plat != $karch -a -f ${cpiodir}/${plat}.root$ZFIX \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2052
	    -a -f ${cpiodir}/${plat}.usr$ZFIX ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2053
	then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2054
		cd $cpiodir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2055
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2056
		#  Look through all the archives we build and match
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2057
		#  the names of built archives with the names of
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2058
		#  directories installed on this machine.  We assume
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2059
		#  here that we can get the names of all architectures
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2060
		#  by pattern matching the names of .root archives - so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2061
		#  if we ever had a case where we had only a .usr archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2062
		#  we wouldn't find that archive.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2063
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2064
		for i in *.root*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2065
		do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2066
			platname=${i%.root*}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2067
			if [ -z "${platname}" -o ${platname} = $karch -o \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2068
			    $platname = generic -o ${platname} = $plat ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2069
				continue;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2070
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2071
			if [ -d ${root}/platform/${platname} -o \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2072
			    -h ${root}/platform/${platname} ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2073
				rootarchs="${rootarchs} ${platname}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2074
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2075
			if [ -d ${usr}/platform/${platname} -o \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2076
			    -h ${usr}/platform/${platname} ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2077
				usrarchs="${usrarchs} ${platname}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2078
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2079
			if [ -h ${root}/platform/${platname} ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2080
				rm -f ${root}/platform/${platname}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2081
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2082
			if [ -h ${usr}/platform/${platname} ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2083
				rm -f ${usr}/platform/${platname}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2084
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2085
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2086
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2087
	rootslice=`df -k $root | nawk 'NR > 1 { print $1 }' | sed s/dsk/rdsk/`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2088
	print "Loading $cpiodir on $root"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2089
else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2090
	usrroot=$2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2091
	usr=$2/usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2092
	[[ "$usr" = /export/exec/* ]] || fail "exec-dir $usrroot sounds bogus"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2093
	case $2 in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2094
	    *sparc*)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2095
		target_isa=sparc ;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2096
	    *i386*)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2097
		target_isa=i386 ;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2098
	esac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2099
	cd $cpiodir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2100
	test -f generic.root$ZFIX || fail "$cpiodir/generic.root$ZFIX missing"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2101
	allarchs=$(echo $(ls *.root$ZFIX | grep -v generic.root$ZFIX | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2102
		sed -e 's/.root.*//'))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2103
	# XXX Pick karch as last available root arch
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2104
	karch=${allarchs##* }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2105
	# XXX Pick plat as first available root arch
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2106
	plat=${allarchs%% *}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2107
	rootlist=""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2108
	for root in /export/root/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2109
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2110
		test -f $root/etc/vfstab &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2111
			egrep -s $usrroot $root/etc/vfstab &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2112
			rootlist="$rootlist $root"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2113
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2114
	test -n "$rootlist" || fail "no clients to upgrade"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2115
	print "Loading $cpiodir usr archives on:\n\t$usr\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2116
	print "Loading $cpiodir root archives on:"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2117
	for root in $rootlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2118
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2119
		print "\t$root"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2120
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2121
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2122
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2123
nss_lib="$usr/lib/mps/libnss3.so"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2124
nss_lib64="$usr/lib/mps/64/libnss3.so"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2125
valid_rpath="\$ORIGIN:/usr/lib/mps/secv1:/usr/lib/mps"
3529
99c1b84dcfe9 6519951 bfu is just another word for exit today (RPATH -> RUNPATH conversion bites us)
rie
parents: 3479
diff changeset
  2126
rpath_msg="R(UN)?PATH from file ${nss_lib}\)"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2127
if [ ! -x /usr/bin/ldd ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2128
	if [ "$force_override" = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2129
		echo "/usr/bin/ldd is missing but -f is set; continuing."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2130
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2131
		echo "/usr/bin/ldd is missing."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2132
		fail "Install the SUNWtoo package."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2133
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2134
fi
3529
99c1b84dcfe9 6519951 bfu is just another word for exit today (RPATH -> RUNPATH conversion bites us)
rie
parents: 3479
diff changeset
  2135
nss_rpath=`ldd -s $nss_lib | egrep "$rpath_msg" | head -1 | cut -d'=' -f2 | \
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2136
		awk '{print $1}'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2137
update_script="/ws/onnv-gate/public/bin/update_nsspkgs"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2138
if [ $valid_rpath != "$nss_rpath" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2139
	if [ "$force_override" = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2140
		echo "$nss_lib is not valid but -f is set; continuing."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2141
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2142
		echo "$nss_lib is not valid."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2143
		fail "Run $update_script to update the SUNWtls package."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2144
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2145
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2146
if [ $target_isa = i386 -a ! -f $nss_lib64 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2147
	echo "$nss_lib64 does not exist."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2148
	fail "Run $update_script to update the NSS packages."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2149
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2150
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2151
update_script="/ws/onnv-gate/public/bin/migrate_bind9"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2152
if [[ ! -f $usr/lib/dns/libdns.so ]] && ! $ZCAT $cpiodir/generic.usr$ZFIX | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2153
	    cpio -it 2>/dev/null |  egrep -s '^usr/sbin/ndc' ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2154
	if [ "$force_override" = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2155
		echo "BIND 9 has not been installed, but -f is set; continuing."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2156
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2157
		echo "BIND 8 has been removed from ON; BIND 9 is available from SFW."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2158
		fail "Run $update_script to migrate to BIND 9."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2159
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2160
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2161
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2162
update_script="/ws/onnv-gate/public/bin/update_ce"
741
40027a3621ac PSARC 2005/082 Yosemite: UDP Performance Enhancement
masputra
parents: 693
diff changeset
  2163
if ifconfig -a | egrep '^ce' >/dev/null 2>/dev/null; then
40027a3621ac PSARC 2005/082 Yosemite: UDP Performance Enhancement
masputra
parents: 693
diff changeset
  2164
	# CE version 1.148 or later is required
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2165
	cever=`modinfo | grep 'CE Ethernet' | sed 's/.*v1\.//' | tr -d ')' | \
741
40027a3621ac PSARC 2005/082 Yosemite: UDP Performance Enhancement
masputra
parents: 693
diff changeset
  2166
	    nawk '{ if ($1 < 148) print "BAD"; else print $1 }'`
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2167
	if [ "$cever" = "BAD" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2168
		fail "You must run $update_script to upgrade your ce driver."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2169
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2170
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2171
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  2172
update_script="/ws/onnv-gate/public/bin/update_dbus"
2919
f56e9aa9c109 6460497 Tamarack (ON) (fix bfu)
artem
parents: 2912
diff changeset
  2173
if [ ! -x $usr/lib/dbus-daemon ]; then
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  2174
	fail "Run $update_script to update D-Bus."
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  2175
fi
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  2176
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2177
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2178
# We need biosdev if we're moving from pre-multiboot to multiboot or directboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2179
# kernels.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2180
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2181
if [ $target_isa = i386 ] && [ $multi_or_direct = yes ] && [ $diskless = no ]
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2182
then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2183
	prtconf -v | grep biosdev >/dev/null 2>&1
2866
c4183dac96f1 PSARC 2006/340 Solaris Boot Support for EFI and LinuxBIOS
szhou
parents: 2805
diff changeset
  2184
	if [ $? -ne 0 ] && [ ! -f $rootprefix/platform/i86pc/multiboot ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2185
		echo "biosdev cannot be run on this machine."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2186
		echo "Transitioning from classic to multiboot requires a"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2187
		echo "bootconf which is compatible with biosdev."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2188
		echo "bfu to onnv_12 first, then to a build with multiboot."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2189
		fail ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2190
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2191
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2192
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2193
if $ZCAT $cpiodir/generic.root$ZFIX | cpio -it 2>/dev/null | \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2194
    grep datalink.conf > /dev/null 2>&1 ; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2195
	need_datalink=yes
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2196
fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2197
3147
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2198
#
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2199
# Check whether the archives have an etc/dladm directory; this is
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2200
# later used to determine if aggregation.conf needs to be moved.
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2201
#
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2202
if $ZCAT $cpiodir/generic.root$ZFIX | cpio -it 2>/dev/null | \
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2203
    grep etc/dladm > /dev/null 2>&1 ; then
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2204
	new_dladm=yes
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2205
fi
2789cc0027be PSARC/2006/406 WiFi for GLDv3
xc151355
parents: 3062
diff changeset
  2206
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2207
time_ref=/tmp/bfu.time_ref.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2208
rm -f $time_ref
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2209
touch $time_ref || fail "$time_ref: Unable to create time reference."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2210
time_ref_seconds=$SECONDS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2211
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2212
print "\nCreating bfu execution environment ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2213
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2214
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2215
# Save off a few critical libraries and commands, so that bfu will
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2216
# continue to function properly even in the face of major
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2217
# kernel/library/command incompatibilities during a live upgrade.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2218
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2219
bfucmd="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2220
	/usr/bin/awk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2221
	/usr/bin/cat
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2222
	/usr/bin/chgrp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2223
	/usr/bin/chmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2224
	/usr/bin/chown
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2225
	/usr/bin/cmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2226
	/usr/bin/cp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2227
	/usr/bin/cpio
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2228
	/usr/bin/csh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2229
	/usr/bin/cut
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2230
	/usr/bin/date
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2231
	/usr/bin/dd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2232
	/usr/bin/df
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2233
	/usr/bin/diff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2234
	/usr/bin/du
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2235
	/usr/bin/echo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2236
	/usr/bin/ed
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2237
	/usr/bin/egrep
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2238
	/usr/bin/env
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2239
	/usr/bin/ex
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2240
	/usr/bin/expr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2241
	/usr/bin/false
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2242
	/usr/bin/fgrep
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2243
	/usr/bin/file
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2244
	/usr/bin/find
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2245
	/usr/bin/gettext
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2246
	/usr/bin/grep
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2247
	/usr/bin/head
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2248
	/usr/bin/id
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2249
	/usr/bin/ksh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2250
	/usr/bin/line
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2251
	/usr/bin/ln
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2252
	/usr/bin/ls
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2253
	/usr/bin/mkdir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2254
	/usr/bin/mktemp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2255
	/usr/bin/more
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2256
	/usr/bin/mv
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2257
	/usr/bin/nawk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2258
	/usr/bin/pgrep
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2259
	/usr/bin/pkginfo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2260
	/usr/bin/pkill
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2261
	/usr/bin/printf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2262
	/usr/bin/ps
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2263
	/usr/bin/ptree
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2264
	/usr/bin/rm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2265
	/usr/bin/rmdir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2266
	/usr/bin/sed
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2267
	/usr/bin/sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2268
	/usr/bin/sleep
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2269
	/usr/bin/sort
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2270
	/usr/bin/strings
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2271
	/usr/bin/stty
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2272
	/usr/bin/su
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2273
	/usr/bin/sum
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2274
	/usr/bin/tail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2275
	/usr/bin/tee
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2276
	/usr/bin/touch
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2277
	/usr/bin/tr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2278
	/usr/bin/true
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2279
	/usr/bin/truss
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2280
	/usr/bin/tty
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2281
	/usr/bin/uname
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2282
	/usr/bin/uniq
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2283
	/usr/bin/uptime
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2284
	/usr/bin/vi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2285
	/usr/bin/w
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2286
	/usr/bin/wc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2287
	/usr/bin/xargs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2288
	/usr/bin/zcat
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2289
	/usr/sbin/add_drv
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2290
	/usr/sbin/chroot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2291
	/usr/sbin/halt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2292
	/usr/sbin/lockfs
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2293
	/usr/sbin/lofiadm
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2294
	/usr/sbin/mkfile
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2295
	/usr/sbin/mkfs
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2296
	/usr/sbin/mknod
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2297
	/usr/sbin/mount
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2298
	/usr/sbin/newfs
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2299
	/usr/sbin/pkgrm
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2300
	/usr/sbin/prtconf
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2301
	/usr/sbin/reboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2302
	/usr/sbin/sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2303
	/usr/sbin/tar
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2304
	/usr/sbin/uadmin
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2305
	/usr/sbin/umount
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2306
	/usr/sbin/wall
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  2307
	/usr/sbin/zonecfg
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2308
	${FASTFS-$GATE/public/bin/$bfu_isa/fastfs}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2309
	${GZIPBIN-$GATE/public/bin/$bfu_isa/gzip}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2310
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2311
997
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2312
#
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2313
# Scripts needed by BFU. These must be modified to use the interpreters in
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2314
# /tmp/bfubin. The interpreters in /usr/bin may not be compatible with the
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2315
# libraries in the archives being extracted.
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2316
#
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2317
bfuscr="
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2318
	${ACR-${GATE}/public/bin/acr}
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2319
"
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2320
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2321
#
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2322
# basename and dirname may be ELF executables, not shell scripts;
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2323
# make sure they go into the right list.
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2324
#
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2325
if `file /usr/bin/basename | grep ELF >/dev/null`
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2326
then	bfucmd="$bfucmd /usr/bin/basename"
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2327
else	bfuscr="$bfuscr /usr/bin/basename"
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2328
fi
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2329
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2330
if `file /usr/bin/dirname | grep ELF >/dev/null`
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2331
then	bfucmd="$bfucmd /usr/bin/dirname"
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2332
else	bfuscr="$bfuscr /usr/bin/dirname"
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2333
fi
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  2334
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2335
rm -rf /tmp/bfubin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2336
mkdir /tmp/bfubin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2337
set $bfucmd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2338
isalist=`isalist`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2339
while [ $# -gt 0 ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2340
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2341
	dir=${1%/*}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2342
	cmd=${1##*/}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2343
	cd $dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2344
	isacmd=`(find $isalist -name $cmd 2>/dev/null; echo $cmd) | head -1`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2345
	cp $dir/$isacmd /tmp/bfubin || fail "cannot copy $dir/$isacmd"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2346
	shift
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2347
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2348
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2349
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2350
# Optional commands.  We warn, but do not abort, if we are crossing a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2351
# feature boundary (where a command is not present in the parent).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2352
# Clauses requiring these commands must explicitly test for their
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2353
# presence in /tmp/bfubin.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2354
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2355
bfuoptcmd="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2356
	/sbin/biosdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2357
	/sbin/bootadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2358
	/sbin/installgrub
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2359
	/usr/sbin/fdisk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2360
	/usr/sbin/metastat
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2361
	/usr/bin/mkisofs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2362
	/usr/sbin/svcadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2363
	/usr/sbin/svccfg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2364
	/usr/bin/svcprop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2365
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2366
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2367
set $bfuoptcmd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2368
isalist=`isalist`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2369
while [ $# -gt 0 ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2370
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2371
	dir=${1%/*}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2372
	cmd=${1##*/}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2373
	cd $dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2374
	isacmd=`(find $isalist -name $cmd 2>/dev/null; echo $cmd) | head -1`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2375
	cp $dir/$isacmd /tmp/bfubin 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2376
	shift
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2377
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2378
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2379
#
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2380
# set up installgrub and friends if transitioning to multiboot or directboot
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2381
# do this now so ldd can determine library dependencies
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2382
#
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2383
# We split the binaries into two groups: the type where we want to make any
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2384
# effort to get the newest version (like symdef and bootadm), and the type
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2385
# where any old version will do (like installgrub and biosdev).
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2386
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2387
# If we're bfu'ing across the directboot/multiboot boundary, we need the new
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2388
# bootadm and symdef to properly handle menu.lst changes.  If the system is
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2389
# directboot, we can use the local copies.  If the system is multiboot but
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2390
# the archives are directboot, we extract the binaries early.  Otherwise,
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2391
# we're not crossing the boundary, and which one we use doesn't matter.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2392
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2393
# NB - if bootadm or symdef is ever changed to require a new library, the
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2394
# early extraction will blow up horribly.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2395
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2396
# For testing purposes, a user can set DIRECTBOOT_BIN_DIR in the environment,
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2397
# and we'll use that instead.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2398
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2399
MULTIBOOT_BIN_DIR=${MULTIBOOT_BIN_DIR:=${GATE}/public/multiboot}
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2400
have_new_bootadm=unknown
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2401
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2402
if [ -x $root/boot/solaris/bin/symdef ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2403
    $root/boot/solaris/bin/symdef $root/platform/i86pc/kernel/unix dboot_image
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2404
then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2405
	root_is_directboot=yes
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2406
else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2407
	root_is_directboot=no
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2408
fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2409
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2410
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2411
# A comma-separated list of the command and the archive it's in
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2412
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2413
multiboot_new_cmds="
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2414
	sbin/bootadm,generic.sbin
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2415
	boot/solaris/bin/symdef,i86pc.boot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2416
"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2417
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2418
if [ $multi_or_direct = yes ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2419
	for line in $multiboot_new_cmds
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2420
	do
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2421
		cmd=${line%,*}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2422
		file=${cmd##*/}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2423
		archive=${line#*,}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2424
		if [ -n "$DIRECTBOOT_BIN_DIR" ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2425
		    [ -f $DIRECTBOOT_BIN_DIR/$file ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2426
			cp $DIRECTBOOT_BIN_DIR/$file /tmp/bfubin/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2427
		else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2428
			if [ $root_is_directboot = yes ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2429
				cp $root/$cmd /tmp/bfubin/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2430
				have_new_bootadm=yes
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2431
			elif [ $archive_type = directboot ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2432
				DBOOT_TMPDIR=/tmp/dboot.$$
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2433
				trap "rm -rf $DBOOT_TMPDIR" EXIT
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2434
				OLD_PWD=$(pwd)
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2435
				rm -rf $DBOOT_TMPDIR
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2436
				mkdir $DBOOT_TMPDIR
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2437
				cd $DBOOT_TMPDIR
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2438
				$ZCAT $cpiodir/${archive}$ZFIX | \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2439
				    cpio -id "$cmd" 2>/dev/null
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2440
				if [ -x $cmd ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2441
					cp $cmd /tmp/bfubin/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2442
					have_new_bootadm=yes
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2443
				fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2444
				cd $OLD_PWD
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2445
				rm -rf $DBOOT_TMPDIR
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2446
				trap - EXIT
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2447
			fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2448
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2449
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2450
		#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2451
		# If all else fails, grab the local version
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2452
		#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2453
		if [ ! -x /tmp/bfubin/$file ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2454
			[ -x /$cmd ] && cp /$cmd /tmp/bfubin
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2455
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2456
	done
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2457
fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2458
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2459
multiboot_cmds="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2460
	/sbin/biosdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2461
	/sbin/installgrub
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2462
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2463
copying_mboot_cmds=no
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2464
if [ $multi_or_direct = yes ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2465
	for cmd in $multiboot_cmds
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2466
	do
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2467
		file=`basename $cmd`
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2468
		if [ -f $cmd ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2469
			cp $cmd /tmp/bfubin
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2470
		elif [ -n "$DIRECTBOOT_BIN_DIR" ] &&
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2471
		    [ -d $DIRECTBOOT_BIN_DIR ] &&
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2472
		    [ -x $DIRECTBOOT_BIN_DIR/$file ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2473
			cp $DIRECTBOOT_BIN_DIR/$file /tmp/bfubin/
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2474
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2475
			if [ ! -d $MULTIBOOT_BIN_DIR ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2476
				echo "$MULTIBOOT_BIN_DIR: not found"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2477
			elif [ ! -f $MULTIBOOT_BIN_DIR/$file ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2478
				echo "$MULTIBOOT_BIN_DIR/$file: not found"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2479
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2480
			if [ $copying_mboot_cmds = no ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2481
				echo "installing files from $MULTIBOOT_BIN_DIR"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2482
				copying_mboot_cmds=yes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2483
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2484
			cp $MULTIBOOT_BIN_DIR/$file /tmp/bfubin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2485
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2486
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2487
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2488
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2489
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2490
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2491
# If available, use ldd to determine which libraries bfu depends on.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2492
# Otherwise, just make an educated guess.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2493
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2494
if [ -x /usr/bin/ldd ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2495
	bfulib="`ldd /tmp/bfubin/* | nawk '$3 ~ /lib/ { print $3 }' | sort -u`"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2496
else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2497
	bfulib="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2498
		/lib/libc.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2499
		/lib/libm.so.2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2500
		/lib/libdoor.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2501
		/lib/libm.so.2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2502
		/lib/libmd5.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2503
		/lib/libnvpair.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2504
		/lib/libscf.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2505
		/lib/libuutil.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2506
		/usr/lib/libbsm.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2507
		/usr/lib/libc2.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2508
		/usr/lib/libdl.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2509
		/usr/lib/libelf.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2510
		/usr/lib/libkstat.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2511
		/usr/lib/libmapmalloc.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2512
		/usr/lib/libmp.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2513
		/usr/lib/libnsl.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2514
		/usr/lib/libpam.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2515
		/usr/lib/libsec.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2516
		/usr/lib/libsocket.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2517
		/usr/lib/libtecla.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2518
	"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2519
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2520
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2521
# add dlopen()'ed stuff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2522
bfulib="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2523
	$bfulib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2524
	/lib/ld.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2525
	/usr/lib/nss_*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2526
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2527
598
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2528
# add libc_psr.so.1, if available and not empty
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2529
if [ -s /platform/`uname -i`/lib/libc_psr.so.1 ]; then
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2530
	bfulib="
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2531
		$bfulib
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2532
		/platform/`uname -i`/lib/libc_psr.so.1
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2533
	"
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2534
fi
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  2535
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2536
rm -rf /tmp/bfulib /tmp/bl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2537
mkdir /tmp/bfulib /tmp/bl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2538
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2539
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2540
# Create 64 bit directory structure and determine 64 bit arch name.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2541
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2542
if [ -h /usr/lib/64 ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2543
then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2544
	link=`ls -dl /usr/lib/64  | awk '{print $NF}'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2545
	ln -s $link /tmp/bfulib/64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2546
	ln -s $link /tmp/bl/64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2547
	mkdir /tmp/bfulib/$link /tmp/bl/$link
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2548
	bfulib="$bfulib /usr/lib/64/nss_*"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2549
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2550
	# Copy libraries to proper directories
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2551
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2552
	for lib in $bfulib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2553
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2554
		case $lib in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2555
		*/64/* | */$link/*)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2556
			cp $lib /tmp/bfulib/64;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2557
		*)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2558
			cp $lib /tmp/bfulib;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2559
		esac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2560
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2561
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2562
	# Private 64 bit runtime linker.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2563
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2564
	cp /lib/64/ld.so.1 /tmp/bfulib/64/bf.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2565
	cp /lib/64/ld.so.1 /tmp/bl/64/bf.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2566
else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2567
	cp $bfulib /tmp/bfulib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2568
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2569
cp /lib/ld.so.1 /tmp/bfulib/bf.1	# bfu's private runtime linker
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2570
cp /lib/ld.so.1 /tmp/bl/bf.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2571
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2572
${BFULD-$GATE/public/bin/$bfu_isa/bfuld} /tmp/bfubin/* || fail "bfuld failed"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2573
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2574
for x in $bfuscr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2575
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2576
	sed -e 's/\/usr\/bin\//\/tmp\/bfubin\//g' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2577
	    -e 's/\/bin\//\/tmp\/bfubin\//g' < $x > /tmp/bfubin/`basename $x`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2578
	chmod +x /tmp/bfubin/`basename $x`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2579
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2580
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2581
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2582
# scripts used together with multiboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2583
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2584
multiboot_scr="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2585
	/boot/solaris/bin/create_ramdisk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2586
	/boot/solaris/bin/create_diskmap
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2587
	/boot/solaris/bin/root_archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2588
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2589
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2590
if [ $multi_or_direct = yes ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2591
	for cmd in $multiboot_scr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2592
	do
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2593
		file=`basename $cmd`
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2594
		if [ -f $cmd ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2595
			cp $cmd /tmp/bfubin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2596
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2597
			if [ ! -d $MULTIBOOT_BIN_DIR ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2598
				echo "$MULTIBOOT_BIN_DIR: not found"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2599
				fail ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2600
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2601
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2602
			if [ ! -f $MULTIBOOT_BIN_DIR/$file ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2603
				echo "$MULTIBOOT_BIN_DIR/$file: not found"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2604
				fail ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2605
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2606
			echo "copying $file from $MULTIBOOT_BIN_DIR"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2607
			cp $MULTIBOOT_BIN_DIR/$file /tmp/bfubin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2608
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2609
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2610
		#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2611
		# We do two substitutions here to replace references to
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2612
		# both /usr/bin/ and /bin/ with /tmp/bfubin/
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2613
		#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2614
		mv /tmp/bfubin/${file} /tmp/bfubin/${file}-
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2615
		sed -e 's/\/usr\/bin\//\/tmp\/bfubin\//g' \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  2616
		    -e 's/\/bin\//\/tmp\/bfubin\//g' \
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2617
		    < /tmp/bfubin/${file}- > /tmp/bfubin/${file}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2618
		chmod +x /tmp/bfubin/${file}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2619
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2620
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2621
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2622
create_datalink_conf()
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2623
{
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2624
	# /etc/datalink.conf needs to be populated.
744
a5be23ccdb68 PSARC 2005/348 Realtek Gigabit Ethernet driver
gs150176
parents: 741
diff changeset
  2625
	drivers="bge rge xge"
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2626
	conf=$rootprefix/etc/datalink.conf
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2627
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2628
	if [ ! -f $conf ]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2629
		# nothing to do if we bfu'ed from an archive that doesn't
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2630
		# provide /etc/datalink.conf
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2631
		return
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2632
	fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2633
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2634
	ls -1 $rootprefix/etc | egrep -e '^hostname.|^hostname6.|^dhcp.' | \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2635
	    cut -d . -f2 | sort -u > /tmp/ifnames.$$
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2636
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2637
	for driver in $drivers
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2638
	do
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2639
		grep $driver /tmp/ifnames.$$ | \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2640
		while read ifname
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2641
		do
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2642
			devnum=`echo $ifname | sed "s/$driver//g"`
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2643
			if [ "$driver$devnum" != $ifname -o \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2644
			    -n "`echo $devnum | tr -d '[0-9]'`" ]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2645
				echo "skipping invalid interface $ifname"
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2646
				continue
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2647
			fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2648
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2649
			vid=`expr $devnum / 1000`
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2650
			inst=`expr $devnum % 1000`
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2651
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2652
			awk '{ print $1 }' $conf | grep $ifname > /dev/null
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2653
			if [ $? -ne 0 ]; then 
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2654
				# An entry for that interface does not exist
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2655
				printf \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2656
				    "$ifname\t$driver$inst\t0\t$vid\n" \
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2657
				    >> $conf
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2658
			fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2659
		done
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2660
	done
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2661
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2662
	rm -f /tmp/ifnames.$$
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2663
}
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  2664
2311
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2665
revert_aggregation_conf()
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2666
{
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2667
	aggrconf=$rootprefix/etc/aggregation.conf
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2668
	nawk '
2479
8a306e868728 6453157 missing initialization of from_new_aggrconf variable in bfu.sh
seb
parents: 2385
diff changeset
  2669
		/^[ \t]*#/ || /^[ \t]*$/ || $4 ~ "/0" {
2311
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2670
			print;
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2671
			next;
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2672
		}
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2673
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2674
		{
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2675
			OFS="\t";
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2676
			gsub(/[^,]*/, "&/0", $4);
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2677
			print;
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2678
		}' $aggrconf > $aggrconf.bfutmp
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2679
	mv -f $aggrconf.bfutmp $aggrconf
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2680
}
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  2681
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2682
remove_initd_links()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2683
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2684
	# If we're delivering a new version of an existing /etc/init.d script,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2685
	# remove all hard links to the existing file in /etc/rc?.d whose
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2686
	# names begin with [SK][0-9][0-9].  Additionally, in case an S or K
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2687
	# file was previously delivered as a symbolic link or the hard link
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2688
	# was broken, remove any file in /etc/rc?.d whose name is
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2689
	# [SK][0-9][0-9] followed by the basename of the file we're going
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2690
	# to update in /etc/init.d.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2691
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2692
	print "Removing init.d links ... \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2693
	scripts=`$ZCAT $cpiodir/generic.root$ZFIX |
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2694
		cpio -it 2>/dev/null | grep '^etc/init\.d/'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2695
	if [ -n "$scripts" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2696
		inodes=`ls -li $scripts 2>/dev/null | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2697
			nawk '{ print "-inum " $1 " -o " }'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2698
		names=`ls -1 $scripts 2>/dev/null | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2699
			nawk -F/ '{ print "-name [SK][0-9][0-9]" $NF }'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2700
		find etc/rc?.d \( $inodes $names \) -print | xargs rm -f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2701
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2702
	print "done."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2703
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2704
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2705
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2706
# Remove the old 5.005_03 version of perl.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2707
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2708
remove_perl_500503()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2709
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2710
	# Packages to remove.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2711
	typeset -r perl_pkgs='SUNWopl5m SUNWopl5p SUNWopl5u'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2712
	typeset -r pkgroot=${rootprefix:+-R $rootprefix}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2713
	typeset pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2714
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2715
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2716
	# First, attempt to remove the packages cleanly if possible.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2717
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2718
	printf 'Removing perl 5.005_03 packages'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2719
	for pkg in $perl_pkgs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2720
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2721
		if pkginfo $pkgroot -q $pkg; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2722
			printf ' %s' $pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2723
			pkgrm $pkgroot -n $pkg >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2724
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2725
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2726
	printf '\n'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2727
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2728
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2729
	# In case that didn't work, do it manually.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2730
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2731
	printf 'Removing perl 5.005_03 from %s/var/sadm/install/contents' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2732
	    $rootprefix
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2733
	for pkg in $PKGS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2734
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2735
		printf ' %s' $pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2736
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2737
			rm -rf $rootprefix/var/sadm/pkg/$pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2738
			grep -vw $pkg $rootprefix/var/sadm/install/contents > \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2739
			    /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2740
			cp /tmp/contents.$$ /var/sadm/install/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2741
			rm /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2742
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2743
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2744
	printf '\n'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2745
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2746
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2747
	# Remove any remaining 5.005_03 files,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2748
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2749
	printf 'Removing perl 5.005_03 from %s/perl5\n' $usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2750
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2751
	# Directories.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2752
	rm -rf $usr/perl5/5.00503
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2753
	rm -rf $usr/perl5/site_perl/5.005
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2754
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2755
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2756
#
1433
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2757
# Remove ASET
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2758
#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2759
remove_eof_aset()
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2760
{
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2761
	# Packages to remove
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2762
	typeset -r aset_pkgs='SUNWast'
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2763
	typeset -r pkgroot=${rootprefix:+-R $rootprefix}
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2764
	typeset pkg
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2765
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2766
	printf 'Removing ASET... '
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2767
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2768
	#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2769
	# First, attempt to remove the packages cleanly if possible.
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2770
	#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2771
	for pkg in $aset_pkgs
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2772
	do
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2773
		if pkginfo $pkgroot -q $pkg; then
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2774
			printf ' %s' $pkg
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2775
			pkgrm $pkgroot -n $pkg >/dev/null 2>&1
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2776
		fi
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2777
	done
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2778
	printf '\n'
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2779
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2780
	#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2781
	# In case that didn't work, do it manually.
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2782
	# Remove ASET from $rootprefix/var/sadm/install/contents
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2783
	#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2784
	for pkg in $aset_pkgs
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2785
	do
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2786
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2787
			rm -rf $rootprefix/var/sadm/pkg/$pkg
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2788
			grep -vw $pkg $rootprefix/var/sadm/install/contents > \
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2789
			    /tmp/contents.$$
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2790
			cp /tmp/contents.$$ $rootprefix/var/sadm/install/contents.$$
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2791
			rm /tmp/contents.$$
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2792
		fi
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2793
	done
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2794
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2795
	#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2796
	# Cleanup any remaining ASET files, symlinks, and directories.
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2797
	#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2798
	rm -rf $usr/aset
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2799
}
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2800
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  2801
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2802
# Remove BIND 8 named server/tools packages
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2803
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2804
remove_eof_bind8()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2805
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2806
	# Packages to remove
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2807
	typeset -r bind8_pkg='SUNWinamd'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2808
	typeset -r pkgroot=${rootprefix:+-R $rootprefix}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2809
	typeset pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2810
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2811
	printf 'Removing BIND 8 named server/tools... '
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2812
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2813
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2814
	# We cann't pkgrm SUNWinamd at this time as the BIND 9 binaries are
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2815
	# already in /usr/sbin.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2816
	# Remove BIND 8 packages from $rootprefix/var/sadm/install/contents
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2817
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2818
	for pkg in $bind8_pkgs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2819
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2820
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2821
			rm -rf $rootprefix/var/sadm/pkg/$pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2822
			grep -vw $pkg $rootprefix/var/sadm/install/contents > \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2823
			    /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2824
			cp /tmp/contents.$$ /var/sadm/install/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2825
			rm /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2826
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2827
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2828
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2829
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2830
	# Cleanup any BIND 8 specific files, symlinks.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2831
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2832
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2833
	# files and symlinks.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2834
	rm -f $usr/sbin/named-xfer
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2835
	rm -f $usr/lib/nslookup.help
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2836
	rm -f $usr/sbin/dnskeygen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2837
	rm -f $usr/sbin/named-bootconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2838
	rm -f $usr/sbin/nstest
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2839
	rm -rf $rootprefix/var/run/ndc.d
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2840
	printf 'done.\n'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2841
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2842
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2843
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2844
# Remove the 5.8.3 version of perl.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2845
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2846
remove_perl_583()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2847
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2848
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2849
	# Copy perl 5.8.3 into the new 5.8.4 locations.  This will preserve
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2850
	# any add-on modules that might have been installed, and any 5.8.3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2851
	# core files that get copied over will be replaced by the new 5.8.4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2852
	# versions when the cpio archives are subsequently extracted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2853
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2854
	printf 'Preserving user-installed perl modules...\n'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2855
	mkdir -p $usr/perl5/5.8.4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2856
	cp -rp $usr/perl5/5.8.3/* \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2857
	    $usr/perl5/5.8.4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2858
	mkdir -p $usr/perl5/site_perl/5.8.4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2859
	cp -rp $usr/perl5/site_perl/5.8.3/* \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2860
	    $usr/perl5/site_perl/5.8.4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2861
	mkdir -p $usr/perl5/vendor_perl/5.8.4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2862
	cp -rp $usr/perl5/vendor_perl/5.8.3/* \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2863
	    $usr/perl5/vendor_perl/5.8.4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2864
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2865
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2866
	# Update the #! lines in any scripts in /usr/perl5/5.8.4/bin to refer
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2867
	# to 5.8.4 instead of 5.8.3.  Take care to edit only scripts.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2868
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2869
	typeset bindir="$usr/perl5/5.8.4/bin"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2870
	typeset script
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2871
	for script in $(ls $bindir); do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2872
		script="$bindir/$script"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2873
		if [[ $script = "$usr/perl5/5.8.4/bin/perl5.8.3" ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2874
			rm -f $script
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2875
		elif file $script | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2876
		    egrep -s 'executable .*perl .*script'; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2877
			sed -e \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2878
			    's!/usr/perl5/5.8.3/bin/perl!/usr/perl5/5.8.4/bin/perl!g' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2879
			    < $script > $script.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2880
			mv -f $script.tmp $script
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2881
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2882
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2883
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2884
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2885
	# Packages to remove.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2886
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2887
	typeset -r perl_pkgs='SUNWperl583man SUNWperl583usr SUNWperl583root'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2888
	typeset -r pkgroot=${rootprefix:+-R $rootprefix}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2889
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2890
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2891
	# First, attempt to remove the packages cleanly if possible.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2892
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2893
	typeset pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2894
	printf 'Removing perl 5.8.3 packages'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2895
	for pkg in $perl_pkgs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2896
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2897
		if pkginfo $pkgroot -q $pkg; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2898
			printf ' %s' $pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2899
			pkgrm $pkgroot -n $pkg >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2900
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2901
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2902
	printf '\n'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2903
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2904
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2905
	# In case that didn't work, do it manually.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2906
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2907
	printf 'Removing perl 5.8.3 from %s/var/sadm/install/contents' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2908
	    $rootprefix
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2909
	for pkg in $PKGS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2910
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2911
		printf ' %s' $pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2912
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2913
			rm -rf $rootprefix/var/sadm/pkg/$pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2914
			grep -vw $pkg $rootprefix/var/sadm/install/contents > \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2915
			    /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2916
			cp /tmp/contents.$$ /var/sadm/install/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2917
			rm /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2918
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2919
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2920
	printf '\n'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2921
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2922
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2923
	# Remove any remaining 5.8.3 files,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2924
	# and fix up the symlinks if necessary.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2925
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2926
	printf 'Removing perl 5.8.3 from %s/perl5\n' $usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2927
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2928
	# Directories.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2929
	rm -rf $usr/perl5/5.8.3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2930
	rm -rf $usr/perl5/site_perl/5.8.3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2931
	rm -rf $usr/perl5/vendor_perl/5.8.3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2932
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2933
	# bin symlink.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2934
	rm -f $usr/perl5/bin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2935
	ln -s ./5.8.4/bin $usr/perl5/bin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2936
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2937
	# pod symlink.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2938
	rm -f $usr/perl5/pod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2939
	ln -s ./5.8.4/lib/pod $usr/perl5/pod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2940
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2941
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2942
	# man symlink.  In earlier S10 builds the man symlink mistakenly points
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2943
	# to the 5.6.1 manpages, instead of 5.8.3.  Fix to point to 5.8.4.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2944
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2945
	rm -f $usr/perl5/man
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2946
	ln -s ./5.8.4/man $usr/perl5/man
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2947
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2948
	# Symlink /bin/perl to 5.8.4.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2949
	rm -f $usr/bin/perl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2950
	ln -s ../perl5/5.8.4/bin/perl $usr/bin/perl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2951
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2952
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2953
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2954
# Remove FNS/XFN packages
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2955
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2956
remove_eof_fns()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2957
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2958
	# Packages to remove
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2959
	typeset -r fns_pkgs='SUNWfnx5x SUNWfnsx5 SUNWfnsx SUNWfns'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2960
	typeset -r pkgroot=${rootprefix:+-R $rootprefix}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2961
	typeset pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2962
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2963
	printf 'Removing FNS/XFN ... '
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2964
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2965
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2966
	# First, attempt to remove the packages cleanly if possible.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2967
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2968
	for pkg in $fns_pkgs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2969
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2970
		if pkginfo $pkgroot -q $pkg; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2971
			printf ' %s' $pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2972
			pkgrm $pkgroot -n $pkg >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2973
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2974
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2975
	printf '\n'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2976
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2977
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2978
	# In case that didn't work, do it manually.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2979
	# Remove FNS/XFN from $rootprefix/var/sadm/install/contents
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2980
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2981
	for pkg in $fns_pkgs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2982
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2983
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2984
			rm -rf $rootprefix/var/sadm/pkg/$pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2985
			grep -vw $pkg $rootprefix/var/sadm/install/contents > \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2986
			    /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2987
			cp /tmp/contents.$$ $rootprefix/var/sadm/install/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2988
			rm /tmp/contents.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2989
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2990
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2991
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2992
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2993
	# Cleanup if any remaining FNS/XFN files, symlinks, and directories.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2994
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2995
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2996
	# directories.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2997
	rm -rf $rootprefix/etc/fn
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2998
	rm -rf $usr/include/xfn
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  2999
	rm -rf $usr/lib/fn
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3000
	rm -rf $rootprefix/var/fn
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3001
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3002
	# files and symlinks.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3003
	rm -f $rootprefix/etc/fn.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3004
	rm -f $usr/bin/fnattr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3005
	rm -f $usr/bin/fnbind
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3006
	rm -f $usr/bin/fncreate_printer
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3007
	rm -f $usr/bin/fnlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3008
	rm -f $usr/bin/fnlookup
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3009
	rm -f $usr/bin/fnrename
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3010
	rm -f $usr/bin/fnsearch
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3011
	rm -f $usr/bin/fnunbind
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3012
	rm -f $usr/sbin/fncheck
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3013
	rm -f $usr/sbin/fncopy
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3014
	rm -f $usr/sbin/fncreate
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3015
	rm -f $usr/sbin/fncreate_fs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3016
	rm -f $usr/sbin/fndestroy
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3017
	rm -f $usr/sbin/fnselect
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3018
	rm -f $usr/sbin/fnsypd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3019
	rm -f $usr/lib/libfn_p.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3020
	rm -f $usr/lib/libfn_p.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3021
	rm -f $usr/lib/libfn_spf.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3022
	rm -f $usr/lib/libfn_spf.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3023
	rm -f $usr/lib/libxfn.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3024
	rm -f $usr/lib/libxfn.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3025
	rm -f $usr/lib/libxfn.so.2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3026
	rm -f $usr/lib/sparcv9/libfn_p.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3027
	rm -f $usr/lib/sparcv9/libfn_p.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3028
	rm -f $usr/lib/sparcv9/libfn_spf.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3029
	rm -f $usr/lib/sparcv9/libfn_spf.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3030
	rm -f $usr/lib/sparcv9/libxfn.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3031
	rm -f $usr/lib/sparcv9/libxfn.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3032
	rm -f $usr/lib/sparcv9/libxfn.so.2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3033
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3034
765
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3035
remove_eof_face() {
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3036
	# Packages to remove
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3037
	typeset -r face_pkgs='SUNWfac'
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3038
	typeset -r pkgroot=${rootprefix:+-R $rootprefix}
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3039
	typeset pkg
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3040
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3041
	printf 'Removing AT&T FACE... '
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3042
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3043
	#
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3044
	# First, attempt to remove the packages cleanly if possible.
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3045
	#
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3046
	for pkg in $face_pkgs
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3047
	do
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3048
		if pkginfo $pkgroot -q $pkg; then
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3049
			printf ' %s' $pkg
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3050
			pkgrm $pkgroot -n $pkg >/dev/null 2>&1
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3051
		fi
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3052
	done
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3053
	printf '\n'
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3054
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3055
	#
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3056
	# In case that didn't work, do it manually.
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3057
	# Remove FACE from $rootprefix/var/sadm/install/contents
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3058
	#
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3059
	for pkg in $face_pkgs
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3060
	do
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3061
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3062
			rm -rf $rootprefix/var/sadm/pkg/$pkg
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3063
			grep -vw $pkg $rootprefix/var/sadm/install/contents > \
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3064
			    /tmp/contents.$$
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3065
			cp /tmp/contents.$$ $rootprefix/var/sadm/install/contents.$$
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3066
			rm /tmp/contents.$$
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3067
		fi
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3068
	done
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3069
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3070
	#
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3071
	# Cleanup any remaining FACE files, symlinks, and directories.
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3072
	#
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3073
	rm -rf $usr/oasys
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3074
	rm -rf $usr/vmsys
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3075
}
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  3076
1706
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3077
remove_eof_dmi() {
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3078
	# Packages to remove
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3079
	typeset -r dmi_pkgs='SUNWsadmi'
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3080
	typeset -r pkgroot=${rootprefix:+-R $rootprefix}
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3081
	typeset pkg
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3082
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3083
	printf 'Removing DMI... '
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3084
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3085
	#
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3086
	# First, attempt to remove the packages cleanly if possible.
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3087
	#
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3088
	for pkg in $dmi_pkgs
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3089
	do
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3090
		if pkginfo $pkgroot -q $pkg; then
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3091
			printf ' %s' $pkg
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3092
			pkgrm $pkgroot -n $pkg >/dev/null 2>&1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3093
		fi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3094
	done
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3095
	printf '\n'
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3096
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3097
	#
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3098
	# In case that didn't work, do it manually.
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3099
	# Remove DMI from $rootprefix/var/sadm/install/contents
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3100
	#
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3101
	for pkg in $dmi_pkgs
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3102
	do
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3103
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3104
			rm -rf $rootprefix/var/sadm/pkg/$pkg
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3105
			grep -vw $pkg $rootprefix/var/sadm/install/contents > \
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3106
			    /tmp/contents.$$
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3107
			cp /tmp/contents.$$ $rootprefix/var/sadm/install/contents.$$
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3108
			rm /tmp/contents.$$
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3109
		fi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3110
	done
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3111
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3112
	#
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3113
	# Cleanup any remaining DMI files, symlinks, and directories.
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3114
	#
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3115
	rm -rf $usr/lib/dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3116
	rm -rf $rootprefix/var/dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3117
	rm -rf $rootprefix/etc/dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3118
	rm -f $usr/lib/libdmi.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3119
	rm -f $usr/lib/libdmici.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3120
	rm -f $usr/lib/libdmimi.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3121
	rm -f $usr/lib/libdmi.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3122
	rm -f $usr/lib/libdmici.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3123
	rm -f $usr/lib/libdmimi.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3124
	rm -f $usr/lib/sparcv9/libdmi.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3125
	rm -f $usr/lib/sparcv9/libdmici.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3126
	rm -f $usr/lib/sparcv9/libdmimi.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3127
	rm -f $usr/lib/sparcv9/libdmi.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3128
	rm -f $usr/lib/sparcv9/libdmici.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3129
	rm -f $usr/lib/sparcv9/libdmimi.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3130
	rm -f $usr/lib/amd64/libdmi.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3131
	rm -f $usr/lib/amd64/libdmici.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3132
	rm -f $usr/lib/amd64/libdmimi.so
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3133
	rm -f $usr/lib/amd64/libdmi.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3134
	rm -f $usr/lib/amd64/libdmici.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3135
	rm -f $usr/lib/amd64/libdmimi.so.1
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3136
	rm -f $usr/sbin/dmi_cmd
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3137
	rm -f $usr/sbin/dmiget
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3138
	rm -f $rootprefix/etc/init.d/init.dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3139
	rm -f $rootprefix/etc/rc0.d/K07dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3140
	rm -f $rootprefix/etc/rc1.d/K07dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3141
	rm -f $rootprefix/etc/rc2.d/K07dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3142
	rm -f $rootprefix/etc/rcS.d/K07dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3143
	rm -f $rootprefix/etc/rc3.d/S77dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3144
}
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  3145
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3146
#
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3147
# Remove vold
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3148
#
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3149
remove_eof_vold()
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3150
{
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3151
	printf 'Removing vold... '
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3152
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3153
	rm -rf $usr/lib/vold
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3154
	rm -rf $usr/lib/rmmount
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3155
	rm -f $usr/lib/fs/hsfs/ident_hsfs.so.1
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3156
	rm -f $usr/lib/fs/pcfs/ident_pcfs.so.1
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3157
	rm -f $usr/lib/fs/udfs/ident_udfs.so.1
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3158
	rm -f $usr/lib/fs/ufs/ident_ufs.so.1
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3159
	rm -f $usr/sbin/vold
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3160
	rm -f $usr/kernel/drv/vol
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3161
	rm -f $usr/kernel/drv/amd64/vol
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3162
	rm -f $usr/kernel/drv/sparcv9/vol
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3163
	rm -f $usr/include/rmmount.h
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3164
	rm -f $usr/include/vol.h
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3165
	rm -f $rootprefix/etc/vold.conf
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3166
	rm -f $rootprefix/etc/rmmount.conf
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3167
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3168
	printf '\n'
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3169
}
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  3170
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3171
remove_properties() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3172
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3173
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3174
	# Remove obsolete smartii setprop from bootenv.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3175
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3176
	srcbootenvrc=$root/boot/solaris/bootenv.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3177
	tmpbootenvrc=/tmp/tmp.bootenvrc.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3178
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3179
	# Don't touch bootenv.rc unless it contains obsolete property
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3180
	egrep -s 'target-driver-for-smartii' $srcbootenvrc 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3181
	res=$?
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3182
	if [ -f $srcbootenvrc -a $res -eq 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3183
		egrep -v "target-driver-for-smartii"\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3184
			$srcbootenvrc > $tmpbootenvrc 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3185
		cp $tmpbootenvrc $srcbootenvrc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3186
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3187
	rm -f $tmpbootenvrc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3188
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3189
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3190
enable_crypto_unlimited()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3191
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3192
# This is a "copy" of the SUNWcry* postinstall scripts.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3193
# We enable the encryption kit aes256, arcfour2048, and blowfish448 modules.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3194
# This is needed to ensure bfu users continue to have the full strength of
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3195
# cryptographic algorithms they use.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3196
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3197
	print "Simulating SUNWcry* installation...\c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3198
	kcfconf=$rootprefix/etc/crypto/kcf.conf
1011
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3199
	ipsecalgs=$rootprefix/etc/inet/ipsecalgs
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3200
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3201
	cp $kcfconf ${kcfconf}.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3202
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3203
	sed -e 's/^aes:/aes256:/' -e 's/^blowfish:/blowfish448:/' -e \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3204
	    's/^arcfour:/arcfour2048:/'\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3205
        	$kcfconf > ${kcfconf}.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3206
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3207
	mv -f ${kcfconf}.tmp $kcfconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3208
1011
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3209
	cp $ipsecalgs ${ipsecalgs}.tmp
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3210
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3211
	sed -e 's/_CBC|128\/32-128,8/_CBC|128\/32-448,8/' \
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3212
	    -e 's/AES_CBC|128|/AES_CBC|128\/128-256,64|/' \
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3213
	    $ipsecalgs > ${ipsecalgs}.tmp
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3214
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3215
	mv -f ${ipsecalgs}.tmp $ipsecalgs
e334bc564330 4797442 Enable AES encryption for the IKE exchange
danmcd
parents: 997
diff changeset
  3216
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3217
	# Since we do that for the kernel we do it for userland as well.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3218
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3219
	# "Clone" the policy for pkcs11_softtoken to the encryption kit version
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3220
	# and "disable" pkcs11_softoken.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3221
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3222
	pkcs11conf=$rootprefix/etc/crypto/pkcs11.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3223
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3224
	cp $pkcs11conf ${pkcs11conf}.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3225
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3226
	sed 's/pkcs11_softtoken\.so/pkcs11_softtoken_extra.so/' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3227
        	$pkcs11conf > ${pkcs11conf}.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3228
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3229
	mv -f ${pkcs11conf}.tmp $pkcs11conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3230
	print "\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3231
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3232
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3233
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3234
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3235
# Add metaslot configuration to pkcs11.conf if it doesn't already exist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3236
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3237
enable_crypto_metaslot()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3238
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3239
	pkcs11conf=$rootprefix/etc/crypto/pkcs11.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3240
	egrep '^metaslot' ${pkcs11conf} > /dev/null 2>& 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3241
	if [ $? != 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3242
		print "Adding cryptographic framework's meta slot feature"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3243
		cp $pkcs11conf ${pkcs11conf}.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3244
		export metaslot_config=\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3245
"metaslot:metaslot_status=enabled;metaslot_auto_key_migrate=enabled;"\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3246
"metaslot_token=Sun Software PKCS#11 softtoken;"\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3247
"metaslot_slot=Sun Crypto Softtoken"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3248
		nawk '/^# End SUNWcsr/ \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3249
			{ print ENVIRON["metaslot_config"] } \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3250
			{ print } \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3251
		' ${pkcs11conf}	> ${pkcs11conf}.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3252
		mv -f ${pkcs11conf}.tmp $pkcs11conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3253
		print "\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3254
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3255
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3256
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3257
cleanup_kerberos_mechanisms()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3258
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3259
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3260
# This checks to see if the old 'gl' and 'do' directories
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3261
# for the Kerberos GSS-API mechanisms can be deleted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3262
# If the mechanism exists in /usr/lib/gss, then the old
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3263
# subdirs may be deleted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3264
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3265
	print "Cleaning up old Kerberos GSS-API mechanisms...\c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3266
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3267
	kerneldir=kernel/misc/kgss
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3268
	kerneldir_sparc=kernel/misc/kgss/sparcv9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3269
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3270
	newmech=no;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3271
	if [ -f $usr/lib/gss/mech_krb5.so.1 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3272
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3273
		# There is a mech  in the "new" location, so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3274
		# the old stuff can be deleted.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3275
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3276
		if [ -d $usr/lib/gss/gl ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3277
			rm -rf $usr/lib/gss/gl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3278
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3279
		if [ -d $usr/lib/gss/do ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3280
			rm -rf $usr/lib/gss/do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3281
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3282
		newmech=yes;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3283
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3284
	if [ -f $usr/lib/sparcv9/gss/mech_krb5.so.1 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3285
		if [ -d $usr/lib/sparcv9/gss/gl ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3286
			rm -rf $usr/lib/sparcv9/gss/gl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3287
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3288
		if [ -d $usr/lib/sparcv9/gss/do ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3289
			rm -rf $usr/lib/sparcv9/gss/do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3290
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3291
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3292
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3293
	# Cleanup kernel mechanisms from default location
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3294
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3295
	if [ -f $rootprefix/$kerneldir/kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3296
		if [ -f $rootprefix/$kerneldir/gl_kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3297
			rm -f $rootprefix/$kerneldir/gl_kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3298
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3299
		if [ -f $rootprefix/$kerneldir/do_kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3300
			rm -f $rootprefix/$kerneldir/do_kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3301
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3302
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3303
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3304
	# For SPARC, cleanup from 2 locations.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3305
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3306
	# 1.  /kernel/misc/kgss/sparcv9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3307
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3308
	if [ -f $rootprefix/$kerneldir_sparc/kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3309
		if [ -f $rootprefix/$kerneldir_sparc/gl_kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3310
			rm -f $rootprefix/$kerneldir_sparc/gl_kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3311
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3312
		if [ -f $rootprefix/$kerneldir_sparc/do_kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3313
			rm -f $rootprefix/$kerneldir_sparc/do_kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3314
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3315
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3316
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3317
	# 2.  /platform/sun4u/kernel/misc/kgss/sparcv9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3318
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3319
	kerneldir_sparc=platform/$karch/$kerneldir_sparc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3320
	if [ -f $rootprefix/$kerneldir_sparc/kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3321
		if [ -f $rootprefix/$kerneldir_sparc/gl_kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3322
			rm -f $rootprefix/$kerneldir_sparc/gl_kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3323
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3324
		if [ -f $rootprefix/$kerneldir_sparc/do_kmech_krb5 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3325
			rm -f $rootprefix/$kerneldir_sparc/do_kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3326
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3327
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3328
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3329
	# Make sure the GSS mechanism configuration file is correct
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3330
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3331
	if [ "$newmech" = "yes" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3332
		gssmechconf=$rootprefix/etc/gss/mech
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3333
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3334
		sed -e 's/gl\/mech_krb5\.so/mech_krb5\.so/' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3335
		-e 's/do\/mech_krb5\.so/mech_krb5\.so/' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3336
		-e 's/gl_kmech_krb5/kmech_krb5/' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3337
		-e 's/do_kmech_krb5/kmech_krb5/'\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3338
		$gssmechconf > ${gssmechconf}.tmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3339
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3340
		if [ $? -eq 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3341
			mv -f ${gssmechconf}.tmp $gssmechconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3342
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3343
			echo  "WARNING: update of $gssmechconf failed."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3344
			return 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3345
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3346
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3347
	print "\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3348
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3349
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3350
mpxiodisableno='^[ 	]*mpxio-disable[ 	]*=[ 	]*"no"[ 	]*;'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3351
mpxiodisableyes='^[ 	]*mpxio-disable[ 	]*=[ 	]*"yes"[ 	]*;'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3352
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3353
#
3217
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3354
# fix up audit permissions
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3355
#
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3356
fix_up_audit()
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3357
{
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3358
	chmod 644 $root/etc/security/audit_control
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3359
	chmod 644 $root/etc/security/audit_user
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3360
}
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3361
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  3362
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3363
# disable mpxio on fp(7D) ports using fp.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3364
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3365
disable_mpxio_using_fpconf()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3366
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3367
	conffile=$rootprefix/kernel/drv/fp.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3368
	test -f $conffile || return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3369
	egrep -s "$mpxiodisableyes" $conffile && return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3370
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3371
	print "To preserve device names, disabled mpxio on fp(7D) ports by"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3372
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3373
	if egrep -s "$mpxiodisableno" $conffile; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3374
		tmpfile=/tmp/fp.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3375
		sed "s/$mpxiodisableno/mpxio-disable=\"yes\";/" $conffile \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3376
		    > $tmpfile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3377
		cp $tmpfile $conffile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3378
		rm -f $tmpfile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3379
		print "changing the value of mpxio-disable to \"yes\" in" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3380
		  "$conffile"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3381
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3382
		echo 'mpxio-disable="yes";' >> $conffile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3383
		print "adding mpxio-disable=\"yes\" entry to $conffile"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3384
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3385
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3386
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3387
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3388
# enable mpxio in scsi_vhci
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3389
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3390
enable_mpxio_using_scsivhciconf()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3391
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3392
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3393
	# depending on whether the bfu restored the child's or parent's version
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3394
	# of scsi_vhci.conf file, we may already have the file with the change
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3395
	# we need in place. So make the change only if necessary.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3396
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3397
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3398
	conffile=$rootprefix/kernel/drv/scsi_vhci.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3399
	egrep -s "$mpxiodisableno" $conffile && return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3400
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3401
	print "To preserve device names, restored your current mpxio" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3402
	    "configuration by"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3403
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3404
	if egrep -s "$mpxiodisableyes" $conffile; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3405
		tmpfile=/tmp/scsi_vhci.conf.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3406
		sed "s/$mpxiodisableyes/mpxio-disable=\"no\";/" $conffile \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3407
		    > $tmpfile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3408
		cp $tmpfile $conffile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3409
		rm -f $tmpfile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3410
		print "changing the value of mpxio-disable to \"no\" in" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3411
		  "$conffile"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3412
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3413
		echo 'mpxio-disable="no";' >> $conffile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3414
		print "adding mpxio-disable=\"no\" entry to $conffile"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3415
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3416
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3417
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3418
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3419
# restore the pre-bfu MPxIO on/off setting to the post-bfued configuration
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3420
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3421
fixup_mpxio()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3422
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3423
	conffile=$rootprefix/kernel/drv/scsi_vhci.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3424
	parentconffile=$rootprefix/bfu.parent/kernel/drv/scsi_vhci.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3425
	childconffile=$rootprefix/bfu.child/kernel/drv/scsi_vhci.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3426
	ancestorconffile=$rootprefix/bfu.ancestor/kernel/drv/scsi_vhci.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3427
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3428
	# if scsi_vhci.conf doesn't exist return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3429
	test -f $conffile || return
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3430
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3431
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3432
	# Determine the mpxio setting in the child. If the system was bfued
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3433
	# before and running with mpxio on by deafult bits, can't rely on the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3434
	# mpxio-disable entry in the child's scsi_vhci.conf file as it may
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3435
	# contain stale left over entries.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3436
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3437
	mpxio_child=1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3438
	if [ -f $ancestorconffile ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3439
		if egrep -s "$mpxiodisableyes" $ancestorconffile; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3440
			#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3441
			# prior to the bfu the system was running with
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3442
			# mpxio off by default bits.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3443
			#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3444
			mpxio_child=0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3445
			egrep -s "$mpxiodisableno" $childconffile && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3446
			    mpxio_child=1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3447
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3448
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3449
		egrep -s "$mpxiodisableyes" $childconffile && mpxio_child=0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3450
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3451
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3452
	if egrep -s "$mpxiodisableyes" $parentconffile; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3453
		# these bits require explicit enabling of mpxio at in scsi_vhci
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3454
		if [ $mpxio_child -eq 1 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3455
			egrep -s "$mpxiodisableyes" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3456
			    $rootprefix/kernel/drv/fp.conf || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3457
			    enable_mpxio_using_scsivhciconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3458
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3459
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3460
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3461
		# these bits have mpxio enabled by default in scsi_vhci.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3462
		# if mpxio is disabled in the child, disable mpxio on all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3463
		# fp(7D) ports using fp.conf.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3464
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3465
		[ $mpxio_child -eq 0 ] && disable_mpxio_using_fpconf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3466
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3467
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3468
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3469
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3470
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3471
# Check to see if root in $1 has a mounted boot, and that
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3472
# it's mounted at the right place for bfu to handle it.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3473
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3474
# Returns 0 (true) if bfu can handle the upgrade; fails if not
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3475
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3476
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3477
boot_is_upgradeable()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3478
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3479
	ROOT=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3480
	if [ "$ROOT" = "/" ] ; then ROOT=""; fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3481
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3482
        BOOTPARTDEV="$(grep -s -v '^#' ${ROOT}/etc/vfstab | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3483
	    grep "[ 	]/boot[ 	]*pcfs[ 	]" | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3484
	    awk '{print $1}')"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3485
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3486
	# find out if, and where, boot is mounted
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3487
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3488
	if [ -n "$BOOTPARTDEV" ] ; then 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3489
		if [ -n "$ROOT" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3490
		
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3491
			BOOTMNT=$(mount | grep "$BOOTPARTDEV" | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3492
			    awk '{print $1}')
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3493
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3494
			BOOTMNT="/boot"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3495
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3496
		if [ "$BOOTMNT" != ${ROOT}/boot ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3497
			cat << BOOTMOUNTERR
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3498
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3499
${ROOT} refers to an x86 boot partition, but it's not mounted 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3500
at ${ROOT}/boot.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3501
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3502
BOOTMOUNTERR
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3503
			fail "Mount ${ROOT}s bootpart at ${ROOT}/boot.\n\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3504
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3505
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3506
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3507
	return 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3508
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3509
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3510
# update the realmode boot programs at $1 (root) 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3511
# from classic boot psm/stand/bootblks/ufs/i386/installboot.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3512
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3513
install_boot_i386()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3514
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3515
	PBOOT=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3516
	BOOTBLK=$2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3517
	DEVICE=$3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3518
	if [ ! -f $PBOOT ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3519
		echo "$PBOOT: File not found"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3520
		return 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3521
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3522
	if [ ! -f $BOOTBLK ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3523
		echo "$BOOTBLK: File not found"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3524
		return 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3525
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3526
	if [ ! -c $DEVICE ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3527
		echo "$DEVICE: Not a character device"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3528
		return 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3529
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3530
	if [ ! -w $DEVICE ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3531
		echo "$DEVICE: Not writeable"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3532
		return 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3533
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3534
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3535
	# pboot at block 0, label at blocks 1 and 2, bootblk from block 3 on
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3536
	dd if=$PBOOT of=$DEVICE bs=1b count=1 conv=sync >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3537
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3538
	dd if=$BOOTBLK of=$DEVICE bs=1b oseek=3 conv=sync >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3539
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3540
	return 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3541
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3542
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3543
update_realmode_booters()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3544
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3545
	ROOT=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3546
	
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3547
	TMPDIR=/tmp/rmupdate.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3548
	trap "rm -rf $TMPDIR" EXIT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3549
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3550
	# go get new versions of boot files into TMPDIR
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3551
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3552
	OLD_PWD=$(pwd)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3553
	mkdir $TMPDIR
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3554
	cd $TMPDIR
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3555
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3556
	# i86pc.boot archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3557
	REQFILES="boot/mdboot boot/strap.com"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3558
	$ZCAT $cpiodir/i86pc.boot$ZFIX |  cpio -id $REQFILES 2>/dev/null 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3559
	mv $REQFILES $TMPDIR
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3560
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3561
	# i86pc.usr archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3562
	REQFILES="usr/platform/i86pc/lib/fs/ufs/pboot"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3563
	REQFILES="$REQFILES usr/platform/i86pc/lib/fs/ufs/bootblk"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3564
	$ZCAT $cpiodir/i86pc.usr$ZFIX | cpio -id $REQFILES 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3565
	mv $REQFILES $TMPDIR
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3566
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3567
	cd $OLD_PWD
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3568
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3569
	grep -s -v '^#' ${ROOT}/etc/vfstab | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3570
	    grep "[ 	]/boot[ 	]*pcfs[ 	]" >/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3571
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3572
	if [ $? -eq 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3573
		echo 'Updating /boot on x86 boot partition.'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3574
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3575
		REQFILES="mdboot strap.com"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3576
		for f in ${REQFILES}; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3577
			if [ ! -f ${TMPDIR}/$f ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3578
				fail "Missing $f, aborting."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3579
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3580
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3581
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3582
		MDBOOT=${TMPDIR}/mdboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3583
		STRAP=${TMPDIR}/strap.com
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3584
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3585
		LUBIN=/usr/lib/lu
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3586
		TMP_FDFILE1=${TMPDIR}/fdfile1.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3587
		LOGFILE=${TMPDIR}/mkfs.log.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3588
		DDCOPY=${TMPDIR}/.dd_x86_boot_copy
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3589
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3590
		DISKID="$(grep -s -v '^#' ${ROOT}/etc/vfstab | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3591
		    grep "[ 	]/boot[ 	]*pcfs[ 	]" |\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3592
		    awk '{print $1}' | sed -e 's:p0\:boot::g')"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3593
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3594
		DISKID="$(basename ${DISKID})"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3595
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3596
		# Obtain the disk table; it will look something like the following:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3597
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3598
# * Id    Act  Bhead  Bsect  Bcyl    Ehead  Esect  Ecyl    Rsect    Numsect
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3599
#   130   128  27     28     0       242    9      553     1728     8897472
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3600
		# 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3601
		# Delete all blank lines, and all lines that begin with *,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3602
		# leaving only actual fdisk entries that we can scan
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3603
		# looking for the X86BOOT partition
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3604
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3605
		fdisk -W - /dev/rdsk/${DISKID}p0 | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3606
		    grep -v '^*' | grep -v '^$' > ${TMP_FDFILE1}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3607
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3608
		num=1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3609
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3610
		while read id act bhead bcyl ehead ecyl rsect numsect
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3611
		do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3612
			# Ignore entry if not X86 /boot partition
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3613
			# ID '190' is the X86BOOT partition (see man fdisk(1M))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3614
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3615
			if [ $id -ne "190" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3616
				num=$(expr $num + 1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3617
				continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3618
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3619
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3620
			# Found X86 boot partition - save contents to $DDCOPY
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3621
			BOOTPART=/dev/rdsk/${DISKID}p${num}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3622
			echo "Boot device is <${BOOTPART}>"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3623
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3624
			ERRMSG="$(dd if=${BOOTPART} of=${DDCOPY} 2>&1)"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3625
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3626
				[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3627
				fail "Unable to save copy of <${BOOTPART}>."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3628
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3629
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3630
			# mount copy of old /boot partition 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3631
			LOBOOTDEV=$(lofiadm -a ${DDCOPY} 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3632
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3633
				[ -n "${LOBOOTDEV}" ] && echo "${LOBOOTDEV}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3634
				fail "Unable to make lo-device <${DDCOPY}>"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3635
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3636
			SOURCE_BOOT_DEV="${TMPDIR}/tmpbootdev.$$"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3637
			mkdir ${SOURCE_BOOT_DEV}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3638
			ERRMSG=$(mount -F pcfs ${LOBOOTDEV} \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3639
			    ${SOURCE_BOOT_DEV})
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3640
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3641
				[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3642
				fail "Unable to mount lo-device <${LOBOOTDEV}>."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3643
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3644
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3645
			# recreate existing boot partition with updated 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3646
			# boot files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3647
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3648
			# umount ${ROOT}'s /boot if mounted
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3649
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3650
			BOOTMOUNTPT=$(mount | grep ${DISKID}p0:boot 2>&1 | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3651
			    awk '{print $1;}')
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3652
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3653
			if [ -n "${BOOTMOUNTPT}" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3654
				echo "unmounting /dev/dsk/${DISKID}p0:boot"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3655
				ERRMSG=$(umount \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3656
				    /dev/dsk/${DISKID}p0:boot 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3657
				if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3658
					[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3659
					fail "Unable to umount X86 boot device."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3660
				fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3661
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3662
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3663
			echo "Making new pcfs file system on ${DISKID}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3664
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3665
			echo y | /usr/lib/fs/pcfs/mkfs -F pcfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3666
			    -o S,s,B=$MDBOOT,b=BOOT,i=$STRAP \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3667
			    /dev/rdsk/${DISKID}p0:boot >> ${LOGFILE} 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3668
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3669
				echo "Unable to make pcfs:"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3670
				cat ${LOGFILE}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3671
				fail ""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3672
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3673
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3674
			echo "Copying x86 boot partition contents back\c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3675
			echo " to new /boot fs."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3676
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3677
			OLD_PWD=$(pwd)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3678
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3679
			echo "Remounting freshened /boot partition"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3680
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3681
			if [ -z "${BOOTMOUNTPT}" ] ; then 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3682
				# boot ptn wasn't mounted
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3683
				BOOTMOUNT="/tmp/bootpart"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3684
				mkdir ${BOOTMOUNT}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3685
			else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3686
				BOOTMOUNT=${BOOTMOUNTPT}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3687
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3688
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3689
			ERRMSG=$(mount -F pcfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3690
			    /dev/dsk/${DISKID}p0:boot ${BOOTMOUNT} 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3691
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3692
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3693
				[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3694
				fail "Unable to mount X86 boot device."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3695
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3696
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3697
			# copy old /boot contents
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3698
			cd ${SOURCE_BOOT_DEV}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3699
			find . -mount \! -type s -print | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3700
			    cpio -pcdum ${BOOTMOUNT} 2>&1 | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3701
			    ${LUBIN}/lustripcpioerr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3702
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3703
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3704
				fail "Unable to copy boot partition contents."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3705
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3706
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3707
			cd ${OLD_PWD}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3708
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3709
			# unmount and rm our boot mount, if we created it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3710
			if [ -z "${BOOTMOUNTPT}" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3711
				ERRMSG=$(umount ${BOOTMOUNT} 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3712
				if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3713
					[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3714
					fail "Unable to umount <$BOOTMOUNT>." 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3715
				fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3716
				rm -rf ${BOOTMOUNT}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3717
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3718
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3719
			# unmount, un-lofi, and rm SOURCE_BOOT_DEV
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3720
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3721
			ERRMSG=$(umount ${SOURCE_BOOT_DEV} 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3722
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3723
				[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3724
				fail "Cannot umount lo-device <${LOBOOTDEV}>." 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3725
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3726
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3727
			ERRMSG=$(lofiadm -d ${DDCOPY} 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3728
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3729
				[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3730
				fail "Cannot remove lo-device <${LOBOOTDEV}>." 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3731
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3732
		
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3733
			rm -rf ${SOURCE_BOOT_DEV}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3734
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3735
		done < ${TMP_FDFILE1}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3736
		rm ${TMP_FDFILE1} ${LOGFILE} ${DDCOPY}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3737
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3738
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3739
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3740
		# non boot-partition: use installboot to get pboot and bootblk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3741
		echo "Updating /boot on Solaris partition."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3742
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3743
		if [ -z "${ROOT}" ] ; then SEARCH="/"; else SEARCH="${ROOT}"; fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3744
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3745
		ROOTRAWDEV=$(mount | grep "^${SEARCH} on " | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3746
		    awk '{print $3}' | sed 's;/dsk;/rdsk;')
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3747
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3748
		if [ -z "${ROOTRAWDEV}" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3749
			[ -n "${ROOTRAWDEV}" && echo "${ROOTRAWDEV}" ] 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3750
			fail "${SEARCH} must be a mounted filesystem"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3751
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3752
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3753
		echo "Updating Solaris partition ${ROOTRAWDEV} with installboot"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3754
		REQFILES="pboot bootblk"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3755
		for f in ${REQFILES}; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3756
			if [ ! -f ${TMPDIR}/$f ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3757
				fail "Missing $f, aborting."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3758
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3759
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3760
		PBOOT=${TMPDIR}/pboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3761
		BOOTBLK=${TMPDIR}/bootblk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3762
		install_boot_i386 $PBOOT $BOOTBLK ${ROOTRAWDEV}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3763
		if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3764
			fail "Unable to installboot to <${ROOTRAWDEV}>." 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3765
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3766
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3767
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3768
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3769
print "Verifying archives ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3770
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3771
for a in generic $allarchs $rootarchs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3772
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3773
	test -r $cpiodir/$a.root$ZFIX ||
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3774
		fail "bfu archive $cpiodir/$a.root$ZFIX missing"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3775
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3776
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3777
if [ ! -r $cpiodir/generic.lib$ZFIX -o ! -r $cpiodir/generic.kernel$ZFIX -o \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3778
    ! -r $cpiodir/generic.sbin$ZFIX ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3779
	old_style_archives="true"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3780
	$ZCAT $cpiodir/generic.root$ZFIX | cpio -it 2>/dev/null | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3781
	    egrep -s '^etc/zones' && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3782
		fail "bfu archive $cpiodir/generic.{kernel,lib,sbin}$ZFIX" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3783
		     "missing;\npossible mkbfu version mismatch: pre-zones" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3784
		     "style archives with zones files."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3785
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3786
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3787
for a in generic $allarchs $usrarchs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3788
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3789
	test -r $cpiodir/$a.usr$ZFIX ||
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3790
		fail "bfu archive $cpiodir/$a.usr$ZFIX missing"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3791
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3792
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3793
for root in $rootlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3794
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3795
	cd $root || fail "Cannot cd $root"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3796
	prologue=${root%/}/bfu.prologue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3797
	if [ -f $prologue ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3798
		print "Executing $prologue"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3799
		$prologue || fail "$prologue failed with code $?"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3800
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3801
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3802
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3803
print "Performing basic sanity checks ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3804
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3805
for dir in $usr $rootlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3806
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3807
	test -d $dir || fail "$dir does not exist"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3808
	test -w $dir || fail "$dir is not writable"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3809
	cd $dir || fail "Cannot cd $dir"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3810
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3811
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3812
RM_32BIT_KERNEL=0;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3813
if [ "$karch" = "sun4u" ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3814
   ($ZCAT $cpiodir/sun4u.root$ZFIX | cpio -itv 2>&1 |
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3815
    grep "^l.*platform/sun4u/kernel/unix -> sparcv9/unix$" > /dev/null);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3816
    then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3817
	RM_32BIT_KERNEL=1;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3818
	if [ "$force_override" = "no" ] && 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3819
	   (prtconf -F 2>&1 | egrep '(cgthree|bwtwo)' > /dev/null);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3820
	    then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3821
		print "\n\nERROR: You are upgrading to a 64-bit-only OS. " \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3822
		      "Your frame buffer does not have a 64-bit driver and " \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3823
		      "will not work after reboot.  To proceed you must run " \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3824
		      "bfu with the -f flag.";
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3825
		exit;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3826
	fi;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3827
fi;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3828
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3829
if [ $plat = "SUNW,Ultra-1" ] && [ ! -f $cpiodir/SUNW,Ultra-1.root$ZFIX ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3830
   [ "$force_override" = "no" ];
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3831
   then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3832
	print "\nERROR: These archives do not have Ultra-1 platform support." \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3833
	      "\nProceeding with this BFU may render this machine unbootable." \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3834
	      "\nTo proceed anyway, you must run bfu with the -f flag.\n";
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3835
	exit;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3836
fi;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3837
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3838
for root in $rootlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3839
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3840
	rootprefix=${root%/}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3841
	smf_check_repository
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3842
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3843
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  3844
MINIMUM_OS_REV=10
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3845
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3846
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3847
# Perform additional sanity checks if we are upgrading the live system.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3848
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3849
if [ "$rootlist" = "/" ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3850
then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3851
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3852
	# Disallow from older releases
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3853
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3854
	os_rev=`uname -r | sed -e s/5.//`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3855
	if [ $os_rev -lt $MINIMUM_OS_REV -a "$force_override" = "no" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3856
		fail "Cannot bfu from pre-Solaris $MINIMUM_OS_REV"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3857
	fi
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  3858
	if [ ! -x /usr/sbin/svcadm ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  3859
		fail "This version of bfu cannot run on pre-Greenline " \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  3860
		    "(s10_64) systems"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  3861
	fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3862
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3863
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3864
	# Filesystem space checks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3865
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3866
	set $root 4 $usr 6
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3867
	while [ $# -gt 0 ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3868
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3869
		test "`df -b $1 | tail -1 | nawk '{ print $2 }'`" -ge ${2}000 ||
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3870
			fail "Less than $2 MB free on $1 -- bfu not safe."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3871
		shift 2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3872
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3873
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3874
	# Disable kernel module unloading
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3875
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3876
	print "Disabling kernel module unloading ... \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3877
	test -x /usr/bin/adb || fail "/usr/bin/adb not found: bfu not safe."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3878
	echo "moddebug/W20000" | adb -kw /dev/ksyms /dev/mem | grep moddebug
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3879
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3880
	# Load modules and drivers here not to reload them when you access
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3881
	# /devices or its subdirectories later.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3882
	#
2805
a4be0ff24d1f 6311701 /etc/minor_perm is ignored if it contains comments
eota
parents: 2712
diff changeset
  3883
	nawk '$1 !~ /^#|^$/ {print $1}' /etc/name_to_major | \
a4be0ff24d1f 6311701 /etc/minor_perm is ignored if it contains comments
eota
parents: 2712
diff changeset
  3884
	sed -e 's/#.*$//' | while read driver
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3885
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3886
		modload -p drv/${driver} >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3887
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3888
	ls $cpiodir >>/dev/null		# loads elfexec and networking
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3889
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3890
	# exec/intpexec and sys/kaio are needed by lofi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3891
	modload -p exec/intpexec >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3892
	modload -p sys/kaio >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3893
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3894
	# umount /lib/libc.so.1 if necessary
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3895
	if [ -n "`mount | grep '^/lib/libc.so.1'`" ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3896
	then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3897
		print "Unmounting /lib/libc.so.1 ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3898
		umount /lib/libc.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3899
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3900
1342
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3901
	PLAT=`/usr/bin/uname -i`
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3902
	ARCH=`/usr/bin/uname -m`
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3903
	# umount /platform/$PLAT/lib/libc_psr.so.1 if necessary
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3904
	if [ -n "`mount | grep "^/platform/$PLAT/lib/libc_psr.so.1"`" ]
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3905
	then
1342
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3906
		print "Unmounting /platform/$PLAT/lib/libc_psr.so.1 ..."
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3907
		umount /platform/$PLAT/lib/libc_psr.so.1
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3908
	else
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3909
		# umount /platform/$ARCH/lib/libc_psr.so.1 if necessary
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3910
		if [ -n "`mount | grep "^/platform/$ARCH/lib/libc_psr.so.1"`" ]
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3911
		then
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3912
			print "Unmounting /platform/$ARCH/lib/libc_psr.so.1 ..."
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3913
			umount /platform/$ARCH/lib/libc_psr.so.1
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3914
		fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3915
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3916
1342
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3917
	# umount /platform/$PLAT/lib/sparcv9/libc_psr.so.1 if necessary
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3918
	if [ -n "`mount | grep "^/platform/$PLAT/lib/sparcv9/libc_psr.so.1"`" ]
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3919
	then
1342
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3920
		print "Unmounting /platform/$PLAT/lib/sparcv9/libc_psr.so.1 ..."
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3921
		umount /platform/$PLAT/lib/sparcv9/libc_psr.so.1
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3922
	else
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3923
		# umount /platform/$ARCH/lib/sparcv9/libc_psr.so.1 if necessary
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3924
		if [ -n "`mount | grep \
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3925
		    "^/platform/$ARCH/lib/sparcv9/libc_psr.so.1"`" ]
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3926
		then
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3927
			print "Unmounting \c"
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3928
			print "/platform/$ARCH/lib/sparcv9/libc_psr.so.1 ..."
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3929
			umount /platform/$ARCH/lib/sparcv9/libc_psr.so.1
f161862f9539 6338660 sun4v libc_psr mount does not match the AUX vector in libc.so.1
ae112802
parents: 1253
diff changeset
  3930
		fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3931
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3932
1177
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3933
	# umount /platform/sun4u-us3/lib/libc_psr.so.1 if necessary
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3934
	if [ -n "`mount | grep '^/platform/sun4u-us3/lib/libc_psr.so.1'`" ]
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3935
	then
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3936
		print "Unmounting /platform/sun4u-us3/lib/libc_psr.so.1 ..."
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3937
		umount /platform/sun4u-us3/lib/libc_psr.so.1
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3938
	fi
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3939
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3940
	# umount /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1 if necessary
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3941
	if [ -n "`mount | grep '^/platform/sun4u-us3/lib/sparcv9/libc_psr.so.1'`" ]
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3942
	then
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3943
		print "Unmounting /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1 ..."
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3944
		umount /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3945
	fi
60e77f92e7c8 PSARC 2005/749 Panther libc_psr
ck142721
parents: 1120
diff changeset
  3946
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3947
	if [ -x /usr/sbin/zoneadm ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3948
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3949
		# Stop any running zones: the init script will print a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3950
		# message if needed.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3951
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3952
		if [ -x /etc/init.d/zones ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3953
			/etc/init.d/zones stop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3954
		elif [ -x /lib/svc/method/svc-zones ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3955
			#
2622
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3956
			# We need all zones to be down before proceeding.
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3957
			# We can't accomplish this by just disabling the
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3958
			# zones service, since it might already be disabled.
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3959
			# So we pretend to be SMF, and invoke the stop method.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3960
			#
2622
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3961
			# When zones are someday independently managed as
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3962
			# service instances, this will need to be revised.
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3963
			#
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3964
			export SMF_FMRI="svc:/system/zones:default"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3965
			/lib/svc/method/svc-zones stop
2622
ffef85cab3c3 6464209 bfu shouldn't use .../method/svc-zones directly (6402848 broke bfu)
dp
parents: 2621
diff changeset
  3966
			unset SMF_FMRI
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3967
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3968
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3969
		[ -z `zoneadm list | grep -v global` ] || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3970
		    fail "zone(s) failed to halt"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3971
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3972
		# Determine the installed zones, which we will want to do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3973
		# after we're done with the global zone.  This is done now
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3974
		# rather than later in case bfu'ing the global zone causes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3975
		# the zone configuration to become unreadable (e.g., via a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3976
		# DTD flag day).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3977
		#
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  3978
		bfu_zone_list=$root/.bfu_zone_list
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  3979
		rm -f $bfu_zone_list
2364
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
  3980
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3981
		zoneadm list -pi | nawk -F: '{
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  3982
			if ($3 == "installed" &&
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  3983
			    ($6 == "native" || $6 == "" || $6 == "sn1")) {
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3984
				printf "%s %s\n", $2, $4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3985
			}
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  3986
		}' > $bfu_zone_list
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3987
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3988
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3989
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3990
	# Stop sendmail so that mail doesn't bounce during the interval
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3991
	# where /etc/mail/aliases is (effectively) empty.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3992
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3993
	# (note that unlike other services here, /etc/init.d/sendmail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3994
	# remains post-smf(5) because it is a public interface.)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3995
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3996
	if [ -r /etc/svc/volatile/repository_door ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3997
		print "Disabling sendmail temporarily ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3998
		svcadm disable -t network/smtp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  3999
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4000
		print "Killing sendmail ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4001
		/etc/init.d/sendmail stop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4002
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4003
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4004
	print "Disabling remote logins ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4005
	echo "bfu in progress -- remote logins disabled" >/etc/nologin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4006
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4007
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4008
	# Stop syslogd so it doesn't interfere with saving preserved files.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4009
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4010
	if [ -f /etc/init.d/syslog ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4011
		print "Killing syslogd ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4012
		/etc/init.d/syslog stop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4013
	elif [ -r /etc/svc/volatile/repository_door ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4014
		print "Disabling syslog temporarily ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4015
		svcadm disable -t system/system-log
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4016
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4017
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4018
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4019
	# Stop apache so it doesn't get upset when the entire world changes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4020
	# out from underneath it.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4021
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4022
	if [ -f /etc/init.d/apache ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4023
		print "Killing httpd ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4024
		/etc/init.d/apache stop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4025
	elif [ -r /etc/svc/volatile/repository_door ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4026
		print "Disabling httpd temporarily ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4027
		svcadm disable -t network/http
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4028
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4029
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4030
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4031
	# Kill off fmd so it doesn't get upset when the entire world changes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4032
	# out from underneath it.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4033
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4034
	if [ -f /etc/init.d/savecore ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4035
		print "Killing fmd ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4036
		pkill -x fmd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4037
	elif [ -r /etc/svc/volatile/repository_door ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4038
		print "Disabling fmd temporarily ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4039
		svcadm disable -t system/fmd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4040
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4041
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4042
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4043
	# Stop nscd so it doesn't interfere with stuff.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4044
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4045
	if [ -x /etc/init.d/nscd ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4046
		print "Killing nscd ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4047
		/etc/init.d/nscd stop
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4048
	elif [ -r /etc/svc/volatile/repository_door ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4049
		print "Disabling nscd temporarily ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4050
		svcadm disable -t system/name-service-cache:default
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4051
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4052
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4053
	if grep -v "^#" $rootprefix/etc/vfstab | grep boot | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4054
		grep "[ 	]pcfs[ 	]" >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4055
	then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4056
		boot_is_pcfs=yes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4057
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4058
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4059
	smf_new_profiles
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4060
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4061
else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4062
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4063
	# Check ${root}/etc/motd for SunOS value to get `uname -r`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4064
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4065
	os_rev=`head -1 ${root}/etc/motd | sed -e 's/^.*SunOS //' | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4066
		awk '{print $1}' | sed -e s/5.//`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4067
	if [ $os_rev -lt $MINIMUM_OS_REV -a "$force_override" = "no" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4068
		fail "Cannot bfu from pre-Solaris $MINIMUM_OS_REV"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4069
	fi
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4070
	if [ ! -x /usr/sbin/svcadm ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4071
		fail "This version of bfu cannot run on pre-Greenline " \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4072
		    "(s10_64) systems"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4073
	fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4074
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4075
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4076
export PATH=/tmp/bfubin:$PATH
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4077
export LD_LIBRARY_PATH=/tmp/bfulib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4078
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4079
if [ -h /tmp/bfulib/64 ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4080
then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4081
	ldlib64="LD_LIBRARY_PATH_64=/tmp/bfulib/64"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4082
	export LD_LIBRARY_PATH_64=/tmp/bfulib/64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4083
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4084
598
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4085
# turn off auxiliary filters, since they can cause objects to be loaded
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4086
# from outside of the protected environment.
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4087
export LD_NOAUXFLTR=1
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4088
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4089
#
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4090
# Since we've turned off auxiliary filters, libc_psr will normally not
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4091
# be loaded at all.  But libc_psr was overriding broken code in libc
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4092
# for over a week before the fix for 6324631, so we need to explicitly
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4093
# LD_PRELOAD it to allow users to bfu from the broken libc.  This can be
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4094
# removed once there are no sun4u machines bfued to Nevada bits between
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4095
# 9/7/2005 and 9/15/2005.
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4096
#
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4097
if [ -f /tmp/bfulib/libc_psr.so.1 ]; then
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4098
	export LD_PRELOAD_32=/tmp/bfulib/libc_psr.so.1
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4099
fi
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  4100
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4101
print "Turning on delayed i/o ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4102
fastfs -f $rootlist $usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4103
fastfs $rootlist $usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4104
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4105
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4106
# The "| tee -a $EXTRACT_LOG" following do_extraction() is not pulled into the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4107
# function itself because it interferes with the cpio exit status detection.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4108
# pcfs boot is an exception, since its cpio exit status is expected to be bad,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4109
# so a heuristic must be employed to infer whether or not any errors occurred.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4110
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4111
do_extraction() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4112
	compressed_archive=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4113
	shift
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4114
	$ZCAT $compressed_archive | cpio -idmucB $* 2>&1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4115
		|| extraction_error "extracting archive $1"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4116
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4117
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4118
do_pcfs_boot_extraction() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4119
	PCFS_BOOT_LOG=/tmp/bfu-pcfs-boot-log.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4120
	$ZCAT $1 | cpio -idmucB 2>&1 | grep -v "error.s" | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4121
		grep -v "cpio: Cannot chown()" | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4122
		grep -v "cpio: Error during chown()" | tee $PCFS_BOOT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4123
	cat $PCFS_BOOT_LOG >> $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4124
	egrep -s -v blocks $PCFS_BOOT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4125
	if [ $? -eq 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4126
		extraction_error "extracting archive $1 ... see $PCFS_BOOT_LOG"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4127
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4128
		rm -f $PCFS_BOOT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4129
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4130
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4131
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4132
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4133
# Usage: extract_archives (root|usr|lib|sbin|kernel) arch-list
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4134
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4135
extract_archives() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4136
	base=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4137
	shift
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4138
	test $base = usr && cd $usrroot || cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4139
	for archive in $*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4140
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4141
		print "Extracting $archive.$base$ZFIX ... \c" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4142
			| tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4143
		test -h platform/$archive && rm platform/$archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4144
		if [ $base = root ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4145
			exclude="-f dev/fd home proc etc/mnttab"
3957
86c9dda5df37 PSARC/2007/052 In-kernel Sharetab
th199096
parents: 3948
diff changeset
  4146
			exclude="$exclude etc/dfs/sharetab"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4147
			[ -d system/contract ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4148
				exclude="$exclude system/contract"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4149
			[ -d system/object ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4150
				exclude="$exclude system/object"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4151
			[ -f etc/svc/repository.db ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4152
				exclude="$exclude etc/svc/repository.db"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4153
			[ -e etc/repository_door ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4154
				exclude="$exclude etc/repository_door"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4155
			[ -f etc/svc/volatile ] &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4156
				exclude="$exclude etc/svc/volatile"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4157
			do_extraction $cpiodir/$archive.$base$ZFIX $exclude |
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4158
				tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4159
		elif [ $base = usr ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4160
			do_extraction $cpiodir/$archive.$base$ZFIX \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4161
				-f "usr/openwin" | tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4162
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4163
			do_extraction $cpiodir/$archive.$base$ZFIX \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4164
				| tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4165
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4166
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4167
	cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4168
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4169
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4170
extract_boot_archives() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4171
	base=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4172
	shift
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4173
	cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4174
	for archive in $*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4175
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4176
		if [ ! -f $cpiodir/$archive.$base$ZFIX ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4177
			continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4178
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4179
		print "Extracting $archive.$base$ZFIX ... \c" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4180
			| tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4181
		if [ $boot_is_pcfs = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4182
			do_pcfs_boot_extraction $cpiodir/$archive.$base$ZFIX
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4183
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4184
			do_extraction $cpiodir/$archive.$base$ZFIX | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4185
				tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4186
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4187
		$ZCAT $cpiodir/$archive.$base$ZFIX | cpio -it 2>&1 | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4188
		    grep  "boot/solaris/devicedb/master" >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4189
		if [ "$?" = "0" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4190
			have_realmode=yes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4191
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4192
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4193
	cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4194
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4195
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4196
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4197
# Classic boot pboot and bootblk compatibility with old archives
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4198
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4199
setup_pboot()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4200
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4201
	NEWPBOOTDIR=$GATE/public/pboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4202
	NEWPBOOT=${NEWPBOOTDIR}/pboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4203
	NEWBOOTBLK=${NEWPBOOTDIR}/bootblk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4204
	PBOOTDIR=$usr/platform/$karch/lib/fs/ufs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4205
	PBOOT=${PBOOTDIR}/pboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4206
	BOOTBLK=${PBOOTDIR}/bootblk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4207
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4208
	# they should already be there, but...
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4209
	if [ -f $NEWPBOOT -a ! -f $PBOOT ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4210
		print "Installing pboot from $NEWPBOOTDIR"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4211
		cp $NEWPBOOT $PBOOT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4212
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4213
	if [ -f $NEWBOOTBLK -a ! -f $BOOTBLK ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4214
		print "Installing bootblk from $NEWPBOOTDIR"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4215
		cp $NEWBOOTBLK $BOOTBLK
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4216
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4217
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4218
	if [ -f $NEWPBOOT -a -f $PBOOT ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4219
		LATEST=`ls -Lt $PBOOT $NEWPBOOT | head -1`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4220
		if [ "$LATEST" = "$NEWPBOOT" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4221
			print "Updating pboot from $NEWPBOOT"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4222
			cp $NEWPBOOT $PBOOT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4223
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4224
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4225
	if [ -f $NEWBOOTBLK -a -f $BOOTBLK ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4226
		LATEST=`ls -Lt $BOOTBLK $NEWBOOTBLK | head -1`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4227
		if [ "$LATEST" = "$NEWBOOTBLK" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4228
			print "Updating bootblk from $NEWBOOTBLK"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4229
			cp $NEWBOOTBLK $BOOTBLK
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4230
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4231
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4232
	if [[ "$rootslice" = /dev/rdsk/* ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4233
		print "Installing boot block."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4234
		( cd $PBOOTDIR ;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4235
		    install_boot_i386 ./pboot ./bootblk ${rootslice%??}s2 )
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4236
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4237
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4238
	# Since /platform/i86pc/boot/solaris/boot.bin is moved
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4239
	# to /boot/solaris, remove the old one if it really
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4240
	# exists.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4241
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4242
	OLDBOOTDIR=${root}/platform/i86pc/boot/solaris
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4243
	OLDBOOTBIN=${OLDBOOTDIR}/boot.bin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4244
	if [ ! -h ${OLDBOOTDIR} -a -f ${OLDBOOTBIN} ] ;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4245
	then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4246
		print "Removing old boot.bin."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4247
		rm -rf ${OLDBOOTBIN}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4248
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4249
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4250
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4251
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4252
# Multiboot support
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4253
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4254
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4255
saved_boot_files="
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4256
	solaris/bootenv.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4257
	solaris/devicedb/master
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4258
"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4259
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4260
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4261
# transition from multiboot to dca
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4262
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4263
check_multi_to_dca_boot()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4264
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4265
	bootdev=`grep p0:boot $rootprefix/etc/vfstab | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4266
		grep pcfs | nawk '{print $1}'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4267
	if [ "$bootdev" != "" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4268
		is_pcfs_boot=yes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4269
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4270
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4271
	if [ $is_pcfs_boot = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4272
		df -h | grep stubboot >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4273
		if [ $? -eq 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4274
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4275
			# save configurable files from /boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4276
			# before remounting /stubboot.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4277
			# files are relative to /boot.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4278
			for file in $saved_boot_files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4279
			do
997
72cb91306495 6355592 fix for 6210677 breaks bfu
raf
parents: 953
diff changeset
  4280
				dir="`dirname $rootprefix/stubboot/$file`"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4281
				mkdir -p $dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4282
				cp $rootprefix/boot/$file $dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4283
			done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4284
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4285
			echo "unmount $bootdev at $rootprefix/stubboot"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4286
			ERRMSG=$(umount $bootdev 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4287
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4288
				[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4289
				fail "Unable to umount $bootdev on $rootprefix/stubboot."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4290
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4291
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4292
			# adjust vfstab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4293
			sed -e "s/[ 	]\/stubboot[ 	]/	\/boot	/" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4294
			    <$rootprefix/etc/vfstab >$rootprefix/etc/vfstab+
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4295
			mv $rootprefix/etc/vfstab $rootprefix/etc/vfstab-
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4296
			mv $rootprefix/etc/vfstab+ $rootprefix/etc/vfstab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4297
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4298
			ERRMSG=$(mount -F pcfs $bootdev $rootprefix/boot 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4299
			if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4300
				[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4301
				fail "Unable to mount $bootdev on $rootprefix/boot."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4302
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4303
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4304
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4305
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4306
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4307
check_dca_to_multiboot()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4308
{
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4309
	bootdev=`grep p0:boot $rootprefix/etc/vfstab | \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4310
	    grep pcfs | nawk '{print $1}'`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4311
	if [ "$bootdev" != "" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4312
		is_pcfs_boot=yes
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4313
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4314
	if [ $system_type != dca ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4315
		return
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4316
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4317
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4318
	# ensure bootpath is in $rootprefix/boot/solaris/bootenv.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4319
	# It's ok to put a meta device path in there
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4320
	bootenvrc=$rootprefix/boot/solaris/bootenv.rc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4321
	grep "^setprop[	 ]*bootpath[	 ]" $bootenvrc > /dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4322
	if [ $? != 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4323
		rootdev=`grep -v "^#" $rootprefix/etc/vfstab | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4324
		    grep "[	 ]/[	 ]" | nawk '{print $1}'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4325
		bootpath=`ls -l $rootdev | nawk '{ print $NF }' |\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4326
		    sed "s#../../devices##"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4327
		echo "setprop bootpath '$bootpath'" >> $bootenvrc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4328
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4329
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4330
	rm -f $rootprefix/boot/mdboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4331
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4332
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4333
#
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4334
# Figure out the boot architecture of the current system:
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4335
# 1. If dboot_image is in unix, it's a dboot system
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4336
# 2. Otherwise, if multiboot is present, it's a multiboot system
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4337
# 3. Otherwise, it's a pre-multiboot system
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4338
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4339
# This is called before we lay down the new archives.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4340
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4341
check_system_type()
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4342
{
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4343
	if [ -x $root/boot/solaris/bin/symdef ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4344
	    $root/boot/solaris/bin/symdef $root/platform/i86pc/kernel/unix \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4345
	    dboot_image; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4346
		system_type=directboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4347
	elif [ -x $root/platform/i86pc/multiboot ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4348
		system_type=multiboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4349
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4350
		system_type=dca
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4351
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4352
}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4353
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4354
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4355
# Detect SVM root and return the list of raw devices under the mirror
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4356
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4357
get_rootdev_list()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4358
{
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4359
	if [ -f $rootprefix/etc/lu/GRUB_slice ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4360
		grep '^PHYS_SLICE' $rootprefix/etc/lu/GRUB_slice | cut -d= -f2
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4361
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4362
		metadev=`grep -v "^#" $rootprefix/etc/vfstab | \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4363
			grep "[	 ]/[ 	]" | nawk '{print $2}'`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4364
		if [[ $metadev = /dev/rdsk/* ]]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4365
       		 	rootdevlist=`echo "$metadev" | sed -e "s#/dev/rdsk/##"`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4366
		elif [[ $metadev = /dev/md/rdsk/* ]]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4367
       		 	metavol=`echo "$metadev" | sed -e "s#/dev/md/rdsk/##"`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4368
			rootdevlist=`metastat -p $metavol |\
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4369
			    grep -v "^$metavol[ 	]" | nawk '{print $4}'`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4370
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4371
		for rootdev in $rootdevlist
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4372
		do
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4373
			echo /dev/rdsk/$rootdev
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4374
		done
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4375
	fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4376
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4377
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4378
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4379
# Done once per transition from classic (dca) to multi boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4380
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4381
setup_stubboot()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4382
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4383
	bootdev=`grep -v "^#" $rootprefix/etc/vfstab | grep pcfs | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4384
		grep "[ 	]/boot[ 	]"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4385
	if [[ -n $bootdev ]] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4386
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4387
		bootdev=`echo "$bootdev" | nawk '{print $1}'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4388
		rbootdev=`echo "$bootdev" | sed -e "s/dev\/dsk/dev\/rdsk/"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4389
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4390
		# Remount boot partition as /stubboot, set up new /boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4391
		mkdir -p $rootprefix/stubboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4392
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4393
		ERRMSG=$(umount $bootdev 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4394
		if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4395
			[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4396
			fail "Unable to umount $bootdev."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4397
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4398
		ERRMSG=$(mount -F pcfs $bootdev $rootprefix/stubboot 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4399
		if [ $? -ne 0 ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4400
			[ -n "${ERRMSG}" ] && echo "${ERRMSG}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4401
			fail "Unable to mount $bootdev on $rootprefix/stubboot."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4402
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4403
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4404
		mkdir -p $rootprefix/boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4405
		cp -r $rootprefix/stubboot/* $rootprefix/boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4406
	
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4407
		# adjust /etc/vfstab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4408
		sed <$rootprefix/etc/vfstab \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4409
		    -e "s/[ 	]\/boot[ 	]/	\/stubboot	/" | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4410
			sed -n >$rootprefix/etc/vfstab+ '
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4411
			/p0:boot/ {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4412
				s/[ 	]no/	yes/
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4413
				}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4414
				p
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4415
			'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4416
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4417
		mv $rootprefix/etc/vfstab $rootprefix/etc/vfstab-
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4418
		mv $rootprefix/etc/vfstab+ $rootprefix/etc/vfstab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4419
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4420
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4421
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4422
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4423
# multiboot: install grub on the boot slice
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4424
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4425
install_grub()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4426
{
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4427
	STAGE1=$rootprefix/boot/grub/stage1
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4428
	STAGE2=$rootprefix/boot/grub/stage2
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4429
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4430
	if [ -x $rootprefix/boot/solaris/bin/update_grub ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4431
		/tmp/bfubin/ksh $rootprefix/boot/solaris/bin/update_grub \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4432
		    -R $root
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4433
	elif [ $is_pcfs_boot = no ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4434
		get_rootdev_list | while read rootdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4435
		do 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4436
			print "Install grub on $rootdev"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4437
			PATH=/tmp/bfubin /tmp/bfubin/installgrub \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4438
				$STAGE1 $STAGE2 $rootdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4439
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4440
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4441
		# copy /boot grub & solaris to /stubboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4442
		cp -r $rootprefix/boot/grub $rootprefix/stubboot/grub
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4443
		cp -r $rootprefix/boot/solaris $rootprefix/stubboot/solaris
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4444
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4445
		# Adjust grub paths relative to pcfs filesystem
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4446
		rm -rf $rootprefix/stubboot/boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4447
		mkdir -p $rootprefix/stubboot/boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4448
		mv $rootprefix/stubboot/grub $rootprefix/stubboot/boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4449
		mv $rootprefix/stubboot/solaris $rootprefix/stubboot/boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4450
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4451
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4452
		# Run installgrub after copying stubboot to avoid overwriting
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4453
		# /stubboot/boot/grub/stage2, which must stay untouched.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4454
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4455
		bootdev=`grep -v "^#" $rootprefix/etc/vfstab | grep pcfs | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4456
			grep "[ 	]/stubboot[ 	]" | nawk '{print $1}'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4457
		rbootdev=`echo "$bootdev" | sed -e "s/dev\/dsk/dev\/rdsk/"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4458
		if [ "$rbootdev" != "" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4459
			print "Install grub on $rbootdev"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4460
			PATH=/tmp/bfubin /tmp/bfubin/installgrub $STAGE1 $STAGE2 $rbootdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4461
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4462
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4463
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4464
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4465
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4466
# We check for several possibilites of a bootenv.rc line:
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4467
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4468
# 1. setprop name 'value'
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4469
# 2. setprop name "value"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4470
# 3. setprop name value
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4471
#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4472
parse_bootenv_line()
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4473
{
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4474
	line=$1
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4475
	value=`echo $line | grep "'" | cut -d\' -f2`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4476
	if [ -z "$value" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4477
		value=`echo $line | grep "\"" | cut -d\" -f2`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4478
		if [ -z "$value" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4479
			value=`echo $line | cut -d' ' -f3-`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4480
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4481
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4482
	echo $value
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4483
}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4484
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4485
update_bootenv()
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4486
{
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4487
	bootenvrc=$rootprefix/boot/solaris/bootenv.rc
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4488
	bootenvrc_updated=0
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4489
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4490
	# Note: the big space below is actually a space and tab
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4491
	boot_file=`grep '^setprop[ 	]\{1,\}boot-file\>' $bootenvrc`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4492
	if [ -n "$boot_file" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4493
		file=`parse_bootenv_line "$boot_file"`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4494
		if [ -n "$file" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4495
			PATH=/tmp/bfubin /tmp/bfubin/bootadm set-menu kernel="$file"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4496
			bootenvrc_updated=1
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4497
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4498
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4499
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4500
	console=`grep '^setprop[ 	]\{1,\}console\>' $bootenvrc`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4501
	if [ -z "$console" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4502
		console=`grep '^setprop[ 	]\{1,\}input-device\>' \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4503
		    $bootenvrc`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4504
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4505
	if [ -n "$console" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4506
		cons=`parse_bootenv_line "$console"`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4507
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4508
	boot_args=`grep '^setprop[ 	]\{1,\}boot-args\>' $bootenvrc`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4509
	if [ -n "boot_args" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4510
		args=`parse_bootenv_line "$boot_args"`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4511
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4512
	if [ -n "$cons" ] && [ -n "$args" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4513
		# If args starts with a -B, remove it and add a comma instead
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4514
		if echo $args | grep '^-B ' >/dev/null; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4515
			new_args=`echo $args | sed 's/^-B //'`
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4516
			args_line="-B console=$cons,$new_args"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4517
		else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4518
			args_line="-B console=$cons $args"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4519
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4520
	elif [ -n "$cons" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4521
		args_line="-B console=$cons"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4522
	elif [ -n "$args" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4523
		args_line="$args"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4524
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4525
		args_line=""
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4526
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4527
	if [ -n "$args_line" ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4528
		PATH=/tmp/bfubin /tmp/bfubin/bootadm set-menu args="$args_line"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4529
		bootenvrc_updated=1
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4530
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4531
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4532
	if [ $bootenvrc_updated = 1 ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4533
		egrep -v '^setprop[ 	]+(console|boot-file|boot-args|input-device)[ 	]' $bootenvrc > ${bootenvrc}.new
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4534
		[ -s ${bootenvrc}.new ] && mv ${bootenvrc}.new $bootenvrc
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4535
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4536
}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4537
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4538
get_biosdisk()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4539
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4540
	rootdev=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4541
	rootphys=`ls -l $rootdev | nawk '{ print $NF }' | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4542
	    sed -e "s/\.\.\/\.\.\/devices//" -e "s/:[abcdefgh],raw//"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4543
	rbootdev=`echo "$rootdev" | sed -e "s/s[0-7]/p0/"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4544
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4545
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4546
	# Use biosdev to get the bios disk number
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4547
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4548
	biosdisk=`biosdev | grep $rootphys | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4549
		nawk '{print $1}' | sed -e "s/0x8//"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4550
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4551
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4552
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4553
# multiboot: set up initial grub menu
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4554
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4555
update_grub_menu()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4556
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4557
	MENU=$rootprefix/boot/grub/menu.lst
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4558
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4559
	grubhd=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4560
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4561
	if [ $archive_type = multiboot ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4562
		BOOT_PROG="kernel /platform/i86pc/multiboot"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4563
		BOOT_ARCHIVE="module /platform/i86pc/boot_archive"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4564
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4565
		#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4566
		# directboot archives
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4567
		#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4568
		BOOT_PROG="kernel\$ /platform/i86pc/kernel/\$ISADIR/unix"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4569
		BOOT_ARCHIVE="module\$ /platform/i86pc/\$ISADIR/boot_archive"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4570
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4571
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4572
	#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4573
	# The failsafe archives may be different than the boot archives
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4574
	#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4575
	if [ -x /boot/platform/i86pc/kernel/unix ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4576
		BOOT_FAILSAFE_FILE="/boot/platform/i86pc/kernel/unix"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4577
		BOOT_FAILSAFE_SUFFIX=""
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4578
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4579
		BOOT_FAILSAFE_FILE="/boot/multiboot"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4580
		BOOT_FAILSAFE_SUFFIX="kernel/unix"
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4581
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4582
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4583
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4584
	# Append some useful entries to the existing menu
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4585
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4586
	echo "Update GRUB menu $MENU with entries for $grubhd"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4587
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4588
	grep ^default $MENU > /dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4589
	[ $? = 0 ] || echo "default=0" >> $MENU
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4590
	grep ^timeout $MENU > /dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4591
	[ $? = 0 ] || echo "timeout=10" >> $MENU
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4592
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4593
	echo "#serial --unit=0 --speed=9600" >> $MENU
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4594
	echo "#terminal serial" >> $MENU
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4595
	echo "#splashimage=$grubhd/boot/grub/splash.xpm.gz" >> $MENU
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4596
	echo "title Solaris" >> $MENU
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4597
	echo "	root $grubhd" >> $MENU
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4598
	echo "	${BOOT_PROG}" >> $MENU
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4599
	echo "	${BOOT_ARCHIVE}" >> $MENU
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4600
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4601
	echo "GRUB menu entry 'Solaris' boots to eeprom(1m) settings"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4602
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4603
	if [ -f ${rootprefix}/$BOOT_FAILSAFE_FILE ] &&
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4604
	    [ -f ${rootprefix}/boot/x86.miniroot-safe ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4605
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4606
		TTY=`grep "^setprop input-device" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4607
		    ${rootprefix}/boot/solaris/bootenv.rc | cut -f 2 -d \'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4608
		if [ -z "${TTY}" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4609
			TTY=`grep "^setprop console" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4610
			    ${rootprefix}/boot/solaris/bootenv.rc | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4611
			    cut -f 2 -d \'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4612
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4613
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4614
		if [ "${TTY}" = "ttya" ] || [ "${TTY}" = "ttyb" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4615
			FS_CONSOLE="-B console=${TTY}"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4616
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4617
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4618
cat >>$MENU <<EOF
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4619
title Solaris failsafe
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4620
  root $grubhd
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4621
  kernel $BOOT_FAILSAFE_FILE $BOOT_FAILSAFE_SUFFIX $FS_CONSOLE -s
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4622
  module /boot/x86.miniroot-safe
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4623
EOF
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4624
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4625
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4626
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4627
bootadm_f_flag=""
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4628
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4629
install_failsafe()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4630
{
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4631
	if [ "$root" != "/" ] || \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4632
	    [ -f /boot/x86.miniroot-safe ] || \
3467
8cf06bcbb424 6512864 cleanup needed in dboot's bootadm/bfu
rscott
parents: 3448
diff changeset
  4633
	    [ ! -x ${GATEPATH}/public/bin/update_failsafe ]; then
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4634
		#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4635
		# Either we're not bfu'ing /, or the failsafe archives were
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4636
		# already installed, or update_failsafe is not available.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4637
		# If the old failsafe archives were multiboot, clear out the
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4638
		# directboot kernel.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4639
		# 
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4640
		if [ $failsafe_type = multiboot ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4641
			rm -f $rootprefix/boot/platform/i86pc/kernel/unix
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4642
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4643
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4644
		echo "Updating failsafe archives"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4645
		${GATEPATH}/public/bin/update_failsafe
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4646
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4647
		# Force bootadm to update the failsafe entry
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4648
		bootadm_f_flag="-f"
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4649
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4650
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4651
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4652
setup_grub_menu()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4653
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4654
	MENU=$rootprefix/boot/grub/menu.lst
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4655
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4656
	get_rootdev_list | while read rootdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4657
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4658
		rootphys=`ls -l $rootdev | nawk '{print $NF}' | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4659
		    sed -e "s/\.\.\/\.\.\/devices//"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4660
		gslice=`echo "$rootphys" | cut -f 2 -d : | sed s/,raw//`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4661
		rootphys=`echo "$rootphys" | sed -e "s/:[abcdefgh],raw//"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4662
		rbootdev=`echo "$rootdev" | sed -e "s/s[0-7]/p0/"`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4663
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4664
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4665
		# Wallow through fdisk to get the active partition number
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4666
		# Partition numbering is zero-based
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4667
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4668
		part=0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4669
		fdisk -W - $rbootdev | grep -v '^*' | grep -v '^$' | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4670
		while read id act bhead bcyl ehead ecyl rsect numsect
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4671
		do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4672
			# Find solaris partition, either older 130 or 191
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4673
			if [ $id -eq "191" -o $id -eq "130" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4674
				break
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4675
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4676
			part=`expr "$part" + 1`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4677
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4678
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4679
		get_biosdisk $rootdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4680
		grubhd="(hd${biosdisk},${part},${gslice})"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4681
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4682
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4683
		# update the grub menu if it doesn't exist or
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4684
		# doesn't have usable boot entries
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4685
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4686
		if [ -f $MENU ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4687
			grep -v "^#" $MENU | grep $grubhd >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4688
			if [ $? -eq 1 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4689
				update_grub_menu $grubhd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4690
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4691
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4692
			update_grub_menu $grubhd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4693
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4694
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4695
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4696
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4697
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4698
# Build the multiboot boot archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4699
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4700
build_boot_archive()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4701
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4702
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4703
	# We should be able to run bootadm here but that's a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4704
	# little more complicated than one would think
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4705
	#bootadm_args=${rootprefix:+-R $rootprefix}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4706
	#PATH=/tmp/bfubin /tmp/bfubin/bootadm update $bootadm_args
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4707
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4708
	cr_args=${rootprefix:+ -R $rootprefix}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4709
	LD_LIBRARY_PATH=/tmp/bfulib PATH=/tmp/bfubin \
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4710
	    /tmp/bfubin/ksh $rootprefix/boot/solaris/bin/create_ramdisk $cr_args
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4711
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4712
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4713
	# Disable the boot-archive service on the first boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4714
	# to silence complaints about new files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4715
	# svccfg -s system/boot-archive setprop start/exec = true
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4716
12
606827e00c98 6281986 bfu on alt mount fails to set up boot-archive conflicts correctly
jg
parents: 0
diff changeset
  4717
	mkdir -p $rootprefix/bfu.conflicts/lib/svc/method
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4718
	cp $rootprefix/lib/svc/method/boot-archive \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4719
	    $rootprefix/bfu.conflicts/lib/svc/method/boot-archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4720
	cat >$rootprefix/lib/svc/method/boot-archive <<"EOF"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4721
#!/sbin/sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4722
exit 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4723
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4724
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4725
	cat >$rootprefix/etc/rc2.d/S99postbfu <<EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4726
#!/bin/sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4727
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4728
case "\$1" in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4729
'start')
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4730
	cp /bfu.conflicts/lib/svc/method/boot-archive /lib/svc/method/boot-archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4731
	chmod +x /lib/svc/method/boot-archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4732
        rm -f /etc/rc2.d/S99postbfu
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4733
        ;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4734
*)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4735
        echo "usage: \$0 start"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4736
        exit 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4737
        ;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4738
esac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4739
exit 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4740
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4741
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4742
	chmod +x $rootprefix/etc/rc2.d/S99postbfu
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4743
	chmod +x $rootprefix/lib/svc/method/boot-archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4744
	chmod +x $rootprefix/bfu.conflicts/lib/svc/method/boot-archive
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4745
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4746
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4747
disable_boot_service()
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4748
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4749
	svccfg -s system/boot-archive setprop start/exec = true
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4750
	cat >$rootprefix/lib/svc/method/boot-archive <<EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4751
#!/sbin/sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4752
. /lib/svc/share/smf_include.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4753
. /lib/svc/share/fs_include.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4754
exit 0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4755
EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4756
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4757
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4758
dir_is_inherited() {
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4759
	dir=$1
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4760
	set -- `zonecfg -z $zone info inherit-pkg-dir dir=/$dir`
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4761
	[ "$3" = "/$dir" ] && return 0 || return 1
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4762
}
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4763
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4764
check_boot_env()
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4765
{
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4766
	if [ $multi_or_direct = yes ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4767
		if [ $archive_type != $system_type ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4768
			install_failsafe
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4769
			[ $system_type = dca ] && setup_grub_menu
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4770
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4771
			if [ $have_new_bootadm = yes ] || \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4772
			    [ -x /tmp/bfubin/symdef ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4773
			    [ -x /tmp/bfubin/bootadm ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4774
			    /tmp/bfubin/symdef /tmp/bfubin/bootadm \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4775
			    dboot_or_multiboot; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4776
				if [[ -z $rootprefix ]]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4777
					PATH=/tmp/bfubin /tmp/bfubin/bootadm \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4778
					    -m upgrade $bootadm_f_flag
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4779
				else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4780
					PATH=/tmp/bfubin /tmp/bfubin/bootadm \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4781
					    -m upgrade -R $rootprefix \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4782
					    $bootadm_f_flag
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4783
				fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4784
				install_grub
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4785
				[ $archive_type = directboot ] && update_bootenv
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4786
			else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4787
				install_grub
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4788
				cat >&2 <<EOF
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4789
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4790
WARNING: Cannot find new bootadm.  If bfu'ing across the multiboot/directboot
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4791
boundary, you will need to manually change menu.lst.  See
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4792
http://www.sun.com/msg/SUNOS-8000-CF for details.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4793
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4794
EOF
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4795
			fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4796
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4797
			#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4798
			# If we're going backwards, we need to remove the
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4799
			# symdef binary.
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4800
			#
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4801
			if [ -f $rootprefix/boot/solaris/bin/symdef ] && \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4802
			    [ $archive_type = multiboot ]
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4803
			then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4804
				rm -f $rootprefix/boot/solaris/bin/symdef \
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4805
				    $rootprefix/boot/solaris/bin/update_grub
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4806
			fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4807
		elif [ $failsafe_type = multiboot ]; then
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4808
			rm -f $rootprefix/boot/platform/i86pc/kernel/unix
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4809
		fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4810
		build_boot_archive
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4811
	else
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4812
		disable_boot_service
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4813
	fi
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4814
}
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4815
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4816
mondo_loop() {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4817
	typeset pkgroot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4818
	typeset pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4819
	root=$1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4820
	zone=$2
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4821
	if [ $zone != global ]; then
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4822
		usrroot=$root
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  4823
	fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4824
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4825
	# If the archives being installed contain i86pc.boot, 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4826
	# check to see if it contains strap.com, one of the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4827
	# four possibly-required booters.  If i86pc.boot does,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4828
	# try to upgrade the realmode booters from the current 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4829
	# archive set.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4830
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4831
	# Don't bother doing the upgrade for diskless bfu, as the boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4832
	# will be done with floppy or PXE, which must match the build
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4833
	# anyway (floppy must match or add_install_client must be 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4834
	# rerun), and in any event we can't touch the boot bits
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4835
	# for diskless boot from here.  Also don't do this for
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4836
	# any zone but 'global'.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4837
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4838
	cd $root || fail "Cannot cd $root"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4839
	rootprefix=${root%/}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4840
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4841
	if [ "$karch" = "i86pc" -a "$diskless" = "no" -a "$zone" = "global" ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4842
	then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4843
		remove_properties
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4844
		check_system_type
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4845
		if boot_is_upgradeable $root && \
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4846
		    [ $archive_type = dca ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4847
			check_multi_to_dca_boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4848
			print "\nUpdating realmode boot loaders\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4849
			update_realmode_booters $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4850
			setup_pboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4851
		fi
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  4852
		if [ $multi_or_direct = yes ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4853
			check_dca_to_multiboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4854
			if [ $is_pcfs_boot = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4855
				setup_stubboot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4856
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4857
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4858
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4859
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4860
	SECONDS=0		# time each iteration
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4861
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4862
	print "\nSaving configuration files in $rootprefix/bfu.child ... \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4863
	cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4864
	rm -rf bfu.default bfu.restore	# historical
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4865
	rm -rf bfu.child bfu.conflicts
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4866
	mkdir bfu.child bfu.conflicts
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4867
	filelist $zone | cpio -pdmu bfu.child || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4868
	    fail 'failed to save config files'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4869
	test -f etc/motd && mv etc/motd etc/motd.old
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4870
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4871
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4872
	# If the var/sadm/system/admin/INST_RELEASE file still exists,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4873
	# this system has never been bfu'd before.  Therefore, the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4874
	# information in var/sadm/install/contents is still valid and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4875
	# can be used to determine whether files have been modified
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4876
	# since installation (the bfu.ancestors directory serves this
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4877
	# purpose for systems that have already been bfu'd.)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4878
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4879
	if [ -f var/sadm/system/admin/INST_RELEASE ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4880
		firstbfu=yes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4881
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4882
		firstbfu=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4883
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4884
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4885
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4886
	# bfu'ed systems are not upgradeable; prevent suninstall from
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4887
	# even *presenting* the upgrade option by removing INST_RELEASE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4888
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4889
	rm -f var/sadm/system/admin/INST_RELEASE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4890
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4891
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4892
	# Hacks to work around minor annoyances and make life more pleasant.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4893
	# Part 1 of 2: pre-archive-extraction stuff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4894
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4895
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4896
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4897
	# Do not remove remove_initd_links, since this makes sure things
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4898
	# work properly when init scripts are shuffled around.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4899
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4900
	remove_initd_links
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4901
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4902
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4903
	# Remove rc.d scripts and things made superfluous by smf.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4904
	# Backwards BFUs will resurrect them from the archives.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4905
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4906
	smf_cleanup
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4907
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4908
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4909
	# New, enabled-by-default services need to be checked for, such
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4910
	# that their enabled status is not flipped by BFU after their
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4911
	# initial arrival.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4912
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4913
	smf_handle_new_services
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4914
2572
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4915
      	# Reflect SUNWcsr's pre-install change, ensures
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4916
	# the i.hosts action script works during 'acr'	
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4917
	if [[ -f $rootprefix/etc/inet/ipnodes && \
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4918
			! -h $rootprefix/etc/inet/ipnodes ]]; then
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4919
		rm -f $rootprefix/etc/inet/ipnodes.hostsmerge
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4920
		cp -p $rootprefix/etc/inet/ipnodes \
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4921
			$rootprefix/etc/inet/ipnodes.hostsmerge
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4922
	fi
318aeb1049d9 PSARC 2006/299 single hosts file
rs200217
parents: 2545
diff changeset
  4923
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4924
	#
1545
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4925
	# Remove obsolete disassembler module
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4926
	#
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4927
	if [ $target_isa = sparc ]; then 
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4928
		rm -rf $usr/lib/mdb/disasm/*
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4929
		rm -f $root/kernel/kmdb/sparcv9/sparc
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4930
	fi
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4931
8f6fb1eeee38 PSARC 2005/673 dis(1) options and libdisasm.so.1
eschrock
parents: 1541
diff changeset
  4932
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4933
	# Remove obsolete Sun-Fire-880 (daktari) FMA Fault Tree directory
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4934
	# and file.  Backwards BFUs will resurrect them from the archives.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4935
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4936
	if [ $target_isa = sparc ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4937
		rm -rf $usr/platform/SUNW,Sun-Fire-880/lib/fm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4938
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4939
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4940
	#
3479
d6bf78626206 6509782 protocols/ndpd.h is in the wrong place
apersson
parents: 3467
diff changeset
  4941
	# Remove old ndpd header (moved to /usr/include per 6509782)
d6bf78626206 6509782 protocols/ndpd.h is in the wrong place
apersson
parents: 3467
diff changeset
  4942
	#
d6bf78626206 6509782 protocols/ndpd.h is in the wrong place
apersson
parents: 3467
diff changeset
  4943
	rm -f $usr/include/protocols/ndpd.h
d6bf78626206 6509782 protocols/ndpd.h is in the wrong place
apersson
parents: 3467
diff changeset
  4944
d6bf78626206 6509782 protocols/ndpd.h is in the wrong place
apersson
parents: 3467
diff changeset
  4945
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4946
	# Remove old FMA dictionary files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4947
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4948
	rm -f $usr/lib/fm/FMD.dict
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4949
	rm -f $usr/lib/fm/SUN4U.dict
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4950
	rm -f $usr/lib/fm/SUNOS.dict
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4951
3323
3cff27a475a5 PSARC 2006/679 Fault Event Extension
cindi
parents: 3247
diff changeset
  4952
	# Remove unused SMF dictionary
3cff27a475a5 PSARC 2006/679 Fault Event Extension
cindi
parents: 3247
diff changeset
  4953
	rm -f $root/usr/lib/fm/dict/SMF.dict
3cff27a475a5 PSARC 2006/679 Fault Event Extension
cindi
parents: 3247
diff changeset
  4954
	rm -f $root/usr/lib/locale/C/LC_MESSAGES/SMF.mo
3cff27a475a5 PSARC 2006/679 Fault Event Extension
cindi
parents: 3247
diff changeset
  4955
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4956
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4957
	# Remove old FMA .eft files and directories
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4958
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4959
	rm -f $usr/platform/sun4u/lib/fm/eft/pci-sun4u.eft
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4960
	rm -rf $usr/platform/SUNW,Serverblade1/lib/fm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4961
	rm -rf $usr/platform/SUNW,Sun-Fire/lib/fm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4962
	rm -rf $usr/platform/SUNW,Sun-Fire-15000/lib/fm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4963
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4964
	#
2158
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4965
	# Remove old FMA LDOMS files
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4966
	#
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4967
	rm -f $usr/platform/sun4v/lib/fm/fmd/libldom.so.1
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4968
	rm -f $usr/platform/sun4v/lib/fm/fmd/libldom.so
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4969
	rm -f $usr/platform/sun4v/lib/fm/fmd/llib-lldom
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4970
	rm -f $usr/platform/sun4v/lib/fm/fmd/llib-lldom.ln
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4971
	rm -f $usr/platform/sun4v/lib/fm/fmd/sparcv9/libldom.so.1
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4972
	rm -f $usr/platform/sun4v/lib/fm/fmd/sparcv9/libldom.so
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4973
	rm -f $usr/platform/sun4v/lib/fm/fmd/sparcv9/llib-lldom.ln
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4974
14f76022227f 6432948 build (etm.so) fails on machine running snv_28 or older
db35262
parents: 2130
diff changeset
  4975
	#
1414
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4976
	# Remove old topology data
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4977
	#
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4978
	rm -rf $usr/lib/fm/topo
3062
46d280f5351d 6396916 verification of dtd file name is wrong
cindi
parents: 2958
diff changeset
  4979
	rm -f $usr/platform/*/lib/fm/topo/hc-topology.xml
1414
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4980
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4981
	#
1541
1eda9cf84032 6390709 bfu should eradicate the now-obsolete fm/libtopo_enum.h
timh
parents: 1433
diff changeset
  4982
	# Remove old prtopo and obsoleted include file.
1eda9cf84032 6390709 bfu should eradicate the now-obsolete fm/libtopo_enum.h
timh
parents: 1433
diff changeset
  4983
	#
1eda9cf84032 6390709 bfu should eradicate the now-obsolete fm/libtopo_enum.h
timh
parents: 1433
diff changeset
  4984
	rm -f $usr/include/fm/libtopo_enum.h
1414
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4985
	rm -f $usr/lib/fm/prtopo
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4986
b4126407ac5b PSARC 2006/020 FMA for Athlon 64 and Opteron Processors
cindi
parents: 1342
diff changeset
  4987
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4988
	# Remove obsolete buildmnttab script.  Backwards BFUs will
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4989
	# resurrect it by extracting it from the archives.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4990
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4991
	rm -f $root/etc/init.d/buildmnttab
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4992
	rm -f $root/etc/rcS.d/S70buildmnttab.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4993
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4994
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4995
	# Break-up of inetsvc, inetinit & network -- remove both the old
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4996
	# and new init scripts.  The correct ones will be extracted from
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4997
	# the archives whether bfu'ing backwards or forwards.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4998
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  4999
	# old: need to remove going forwards:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5000
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5001
	rm -f $root/etc/rc0.d/K42inetsvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5002
	rm -f $root/etc/rc1.d/K42inetsvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5003
	rm -f $root/etc/rcS.d/K42inetsvc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5004
	rm -f $root/etc/rcS.d/S29network.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5005
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5006
	# new: need to remove going backwards:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5007
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5008
	rm -f $root/etc/init.d/domainname
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5009
	rm -f $root/etc/init.d/inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5010
	rm -f $root/etc/init.d/named
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5011
	rm -f $root/etc/init.d/nodename
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5012
	rm -f $root/etc/rc0.d/K40inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5013
	rm -f $root/etc/rc0.d/K42named
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5014
	rm -f $root/etc/rc1.d/K40inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5015
	rm -f $root/etc/rc1.d/K42named
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5016
	rm -f $root/etc/rc2.d/S69domainname
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5017
	rm -f $root/etc/rc2.d/S72named
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5018
	rm -f $root/etc/rc2.d/S77inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5019
	rm -f $root/etc/rcS.d/K40inetd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5020
	rm -f $root/etc/rcS.d/K42named
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5021
	rm -f $root/etc/rcS.d/S28network.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5022
	rm -f $root/etc/rcS.d/S29nodename.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5023
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5024
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5025
	# Remove Zones init scripts: they will be extracted properly
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5026
	# going forwards; after going backwards, they will be gone,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5027
	# thus preventing scary warnings on subsequent bfu's.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5028
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5029
	rm -f $root/etc/init.d/zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5030
	rm -f $root/etc/rc0.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5031
	rm -f $root/etc/rc1.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5032
	rm -f $root/etc/rc2.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5033
	rm -f $root/etc/rc3.d/S99zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5034
	rm -f $root/etc/rcS.d/K01zones
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5035
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5036
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5037
	# Remove <inet>6 STREAMS modules; these no longer exist (and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5038
	# should never have existed in the first place).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5039
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5040
	rm -f $root/kernel/strmod/icmp6		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5041
	    $root/kernel/strmod/ip6		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5042
	    $root/kernel/strmod/tcp6		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5043
	    $root/kernel/strmod/udp6		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5044
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5045
	rm -f $root/kernel/strmod/sparcv9/icmp6 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5046
	    $root/kernel/strmod/sparcv9/ip6	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5047
	    $root/kernel/strmod/sparcv9/tcp6	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5048
	    $root/kernel/strmod/sparcv9/udp6	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5049
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5050
	#
789
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 786
diff changeset
  5051
	# Remove old ZFS binaries (back when it was three modules)
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 786
diff changeset
  5052
	#
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  5053
	find $root/kernel/drv -name zpool 2> /dev/null | xargs rm -f
789
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 786
diff changeset
  5054
	rm -f $root/kernel/drv/zpool.conf
790
86c008911971 fix bfu cleanup complaint
bonwick
parents: 789
diff changeset
  5055
	rm -f $root/kernel/drv/zpool.cache
789
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 786
diff changeset
  5056
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  5057
	find $root/kernel/drv -name zvol 2> /dev/null | xargs rm -f
789
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 786
diff changeset
  5058
	rm -f $root/kernel/drv/zvol.conf
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 786
diff changeset
  5059
b348f31ed315 PSARC 2002/240 ZFS
ahrens
parents: 786
diff changeset
  5060
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5061
	# Remove /usr/lib/old_libthread since support for it has
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5062
	# been removed from the kernel in Solaris 10.  If this is
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5063
	# a backwards BFU, it will all be extracted again by cpio.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5064
	rm -rf $usr/lib/old_libthread
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5065
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5066
	# Remove libconfig 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5067
	rm -f $usr/lib/drv/config_md.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5068
	rm -f $usr/include/config_md.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5069
	# remove libssd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5070
	rm -f $usr/lib/libssd.a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5071
	rm -f $usr/lib/libssd.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5072
	rm -f $usr/lib/libssd.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5073
	# remove libap
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5074
	rm -f $usr/lib/libap_dmd.a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5075
	rm -f $usr/lib/libap_dmd.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5076
	# remove libintpos
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5077
	rm -f $usr/lib/libintpos.a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5078
	rm -f $usr/lib/libintpos.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5079
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5080
	# Remove obsolete abi subdirectories
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5081
	if [ -d $usr/platform/*/lib/abi ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5082
		rm -rf $usr/platform/*/lib/abi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5083
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5084
	rm -rf $usr/lib/gss/abi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5085
	rm -rf $usr/lib/krb5/abi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5086
	rm -rf $usr/xpg4/lib/abi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5087
	rm -rf $usr/ucblib/abi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5088
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5089
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5090
	# Remove old stuff related to libthread now that libthread has
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5091
	# been folded into libc and libthread_db has been renamed libc_db.
2545
ee1af4187b80 6459290 cleanup after 6357230 (specfiles should be nuked)
raf
parents: 2479
diff changeset
  5092
	# In addition, all the apptrace's tracing libraries (i.e., abi_*.so*),
ee1af4187b80 6459290 cleanup after 6357230 (specfiles should be nuked)
raf
parents: 2479
diff changeset
  5093
	# spec2map and spec2trace are no longer needed, should be removed.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5094
	rm -f	\
2545
ee1af4187b80 6459290 cleanup after 6357230 (specfiles should be nuked)
raf
parents: 2479
diff changeset
  5095
	    $usr/lib/mdb/proc/libthread.so		\
ee1af4187b80 6459290 cleanup after 6357230 (specfiles should be nuked)
raf
parents: 2479
diff changeset
  5096
	    $usr/lib/mdb/proc/sparcv9/libthread.so	\
ee1af4187b80 6459290 cleanup after 6357230 (specfiles should be nuked)
raf
parents: 2479
diff changeset
  5097
	    $usr/lib/abi/spec2map			\
ee1af4187b80 6459290 cleanup after 6357230 (specfiles should be nuked)
raf
parents: 2479
diff changeset
  5098
	    $usr/lib/abi/spec2trace			\
ee1af4187b80 6459290 cleanup after 6357230 (specfiles should be nuked)
raf
parents: 2479
diff changeset
  5099
	    $usr/lib/abi/abi_*.so*			\
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5100
	    $usr/lib/abi/sparcv9/abi_*.so*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5101
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5102
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5103
	# Remove the old symlink /lib => usr/lib, if necessary.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5104
	# /lib is now a real directory in the root filesystem.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5105
	# Remove all of the old static libraries and commands now
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5106
	# that we no longer build them.  If this is a backwards
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5107
	# BFU, all this will all be extracted again by cpio.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5108
	rm $root/lib 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5109
	rm -rf $usr/lib/pics
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5110
	rm -rf $usr/sbin/static
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5111
	rm -f	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5112
	    $usr/ccs/lib/libcurses.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5113
	    $usr/ccs/lib/libform.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5114
	    $usr/ccs/lib/libgen.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5115
	    $usr/ccs/lib/libl.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5116
	    $usr/ccs/lib/libmalloc.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5117
	    $usr/ccs/lib/libmenu.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5118
	    $usr/ccs/lib/libpanel.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5119
	    $usr/ccs/lib/libtermcap.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5120
	    $usr/ccs/lib/libtermlib.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5121
	    $usr/ccs/lib/liby.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5122
	    $usr/lib/lib300.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5123
	    $usr/lib/lib300s.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5124
	    $usr/lib/lib4014.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5125
	    $usr/lib/lib450.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5126
	    $usr/lib/libTL.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5127
	    $usr/lib/libadm.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5128
	    $usr/lib/libadt_jni.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5129
	    $usr/lib/libbsdmalloc.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5130
	    $usr/lib/libbsm.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5131
	    $usr/lib/libc.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5132
	    $usr/lib/libc2.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5133
	    $usr/lib/libc2stubs.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5134
	    $usr/lib/libcmd.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5135
	    $usr/lib/libcrypt.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5136
	    $usr/lib/libcrypt_d.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5137
	    $usr/lib/libcrypt_i.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5138
	    $usr/lib/libcurses.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5139
	    $usr/lib/libdevid.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5140
	    $usr/lib/libdevinfo.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5141
	    $usr/lib/libdhcpagent.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5142
	    $usr/lib/libdhcputil.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5143
	    $usr/lib/libdl_stubs.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5144
	    $usr/lib/libefi.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5145
	    $usr/lib/libelf.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5146
	    $usr/lib/libform.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5147
	    $usr/lib/libgen.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5148
	    $usr/lib/libgenIO.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5149
	    $usr/lib/libike.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5150
	    $usr/lib/libinetcfg.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5151
	    $usr/lib/libinetutil.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5152
	    $usr/lib/libintl.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5153
	    $usr/lib/libkstat.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5154
	    $usr/lib/libl.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5155
	    $usr/lib/libldfeature.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5156
	    $usr/lib/libmail.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5157
	    $usr/lib/libmalloc.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5158
	    $usr/lib/libmapmalloc.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5159
	    $usr/lib/libmenu.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5160
	    $usr/lib/libmeta.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5161
	    $usr/lib/libmp.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5162
	    $usr/lib/libnisdb.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5163
	    $usr/lib/libnls.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5164
	    $usr/lib/libnsl.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5165
	    $usr/lib/libnss_compat.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5166
	    $usr/lib/libnss_dns.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5167
	    $usr/lib/libnss_files.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5168
	    $usr/lib/libnss_nis.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5169
	    $usr/lib/libnss_nisplus.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5170
	    $usr/lib/libp/libc.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5171
	    $usr/lib/libpam.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5172
	    $usr/lib/libpanel.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5173
	    $usr/lib/libplot.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5174
	    $usr/lib/librac.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5175
	    $usr/lib/libresolv.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5176
	    $usr/lib/librpcsvc.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5177
	    $usr/lib/libsec.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5178
	    $usr/lib/libsendfile.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5179
	    $usr/lib/libsocket.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5180
	    $usr/lib/libstraddr.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5181
	    $usr/lib/libtermcap.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5182
	    $usr/lib/libtermlib.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5183
	    $usr/lib/libuuid.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5184
	    $usr/lib/libvolmgt.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5185
	    $usr/lib/libvt0.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5186
	    $usr/lib/libw.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5187
	    $usr/lib/liby.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5188
	    $usr/lib/null.a				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5189
	    $usr/lib/sparcv9/libadt_jni.a		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5190
	    $usr/lib/sparcv9/libinetutil.a		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5191
	    $usr/lib/sparcv9/libldfeature.a		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5192
	    $usr/lib/sparcv9/libsendfile.a		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5193
	    $usr/platform/sun4u/lib/libwrsmconf.a	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5194
	    $usr/ucblib/libcurses.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5195
	    $usr/ucblib/libdbm.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5196
	    $usr/ucblib/libtermcap.a			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5197
	    $usr/ucblib/libucb.a
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5198
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5199
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5200
	# Remove other obsolete files, too
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5201
	rm -f	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5202
	    $usr/include/table.h			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5203
	    $usr/include/libgenIO.h			\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5204
	    $usr/lib/llib-lTL				\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5205
	    $usr/lib/llib-lTL.ln
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5206
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5207
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5208
	# libc_psr.so.1 and libmd5_psr.so.1 have been moved
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5209
	# from /usr/platform/*/lib to /platform/*/lib.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5210
	# Remove the old files and their containing directories
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5211
	rm -f $usr/platform/*/lib/libc_psr.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5212
	rm -f $usr/platform/*/lib/sparcv9/libc_psr.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5213
	rm -f $usr/platform/*/lib/libmd5_psr.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5214
	rm -f $usr/platform/*/lib/sparcv9/libmd5_psr.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5215
	rmdir $usr/platform/*/lib/sparcv9 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5216
	rmdir $usr/platform/*/lib 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5217
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5218
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5219
	# Remove obsolete profile libc symlinks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5220
	rm -f $usr/lib/libp/libc.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5221
	rm -f $usr/lib/libp/sparcv9/libc.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5222
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5223
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5224
	# Remove Legacy DR files, now obsolete due to NGDR Phase II putback
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5225
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5226
	STARFIRE_PLAT=platform/SUNW,Ultra-Enterprise-10000 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5227
		rm -f \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5228
		$root/$STARFIRE_PLAT/kernel/drv/dr		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5229
		$root/$STARFIRE_PLAT/kernel/drv/dr.conf		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5230
		$root/$STARFIRE_PLAT/kernel/misc/drmach		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5231
		$root/$STARFIRE_PLAT/kernel/drv/sparcv9/dr	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5232
		$root/$STARFIRE_PLAT/kernel/misc/sparcv9/drmach	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5233
		$root/$STARFIRE_PLAT/lib/dr_daemon		\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5234
		$usr/platform/sun4u/include/sys/dr.h	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5235
		$usr/platform/sun4u/include/sys/sfdr.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5236
2117
fd716e844862 6406742 need to remove SUNW,OPL-Enterprise platform links
mcwalter
parents: 2015
diff changeset
  5237
	# Remove obsolete OPL platform links.
fd716e844862 6406742 need to remove SUNW,OPL-Enterprise platform links
mcwalter
parents: 2015
diff changeset
  5238
		rm -f $root/platform/FJSV,SPARC-Enterprise
fd716e844862 6406742 need to remove SUNW,OPL-Enterprise platform links
mcwalter
parents: 2015
diff changeset
  5239
		rm -f $root/platform/SUNW,OPL-Enterprise
fd716e844862 6406742 need to remove SUNW,OPL-Enterprise platform links
mcwalter
parents: 2015
diff changeset
  5240
		rm -f $usr/platform/FJSV,SPARC-Enterprise
fd716e844862 6406742 need to remove SUNW,OPL-Enterprise platform links
mcwalter
parents: 2015
diff changeset
  5241
		rm -f $usr/platform/SUNW,OPL-Enterprise
fd716e844862 6406742 need to remove SUNW,OPL-Enterprise platform links
mcwalter
parents: 2015
diff changeset
  5242
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5243
	# Solstice Enterprise Agent(SEA) : mib-II subagent mibiisa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5244
	# needs to be disabled during startup. SMA(System Management Agent)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5245
	# has the capability to support mib-II requests.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5246
	# The correct ones will be extracted from
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5247
	# the archives whether bfu'ing backwards or forwards.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5248
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5249
	# old: need to remove going forwards:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5250
	rm -f $root/etc/snmp/conf/mibiisa.rsrc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5251
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5252
	# new: need to remove going backwards:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5253
	rm -f $root/etc/snmp/conf/mibiisa.rsrc-
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5254
1253
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5255
	# remove old terminal emulator module:
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5256
	# (renamed from 'terminal-emulator' to 'tem')
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5257
	#
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5258
	# old: need to remove going forwards:
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5259
	rm -f $root/kernel/misc/terminal-emulator
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5260
	rm -f $root/kernel/misc/amd64/terminal-emulator
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5261
	#
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5262
	# new: need to remove going backwards:
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5263
	rm -f $root/kernel/misc/tem
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5264
	rm -f $root/kernel/misc/amd64/tem
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5265
	rm -f $root/kernel/misc/sparcv9/tem
0df630a41817 PSARC 2003/432 Coherent Console
lq150181
parents: 1197
diff changeset
  5266
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5267
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5268
	# Remove /dev/mc symlink and /platform/sun4u/kernel/drv/mc-us3.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5269
	# if any.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5270
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5271
	if [ -h $root/dev/mc ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5272
		rm -f $root/dev/mc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5273
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5274
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5275
	if [ -f $root/platform/sun4u/kernel/drv/mc-us3.conf ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5276
		rm -f $root/platform/sun4u/kernel/drv/mc-us3.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5277
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5278
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5279
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5280
	# Remove the snowbird sbin and include symlinks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5281
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5282
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5283
	if [[ -h $usr/platform/SUNW,Netra-CP2300/sbin ]] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5284
		rm -f $usr/platform/SUNW,Netra-CP2300/sbin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5285
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5286
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5287
	if [[ -h $usr/platform/SUNW,Netra-CP2300/include ]] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5288
		rm -f $usr/platform/SUNW,Netra-CP2300/include
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5289
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5290
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5291
	# If we still have the old lp(7D) driver, remove it and its symlinks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5292
	# and header file. (If driver already gone, don't trample new symlinks.)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5293
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5294
	if [ -f $root/platform/i86pc/kernel/drv/lp -a \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5295
	    -h $root/dev/lp[012] ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5296
		rm -f $root/dev/lp[012]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5297
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5298
	rm -f $root/platform/i86pc/kernel/drv/lp.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5299
	rm -f $root/platform/i86pc/kernel/drv/lp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5300
	rm -f $root/usr/include/sys/lp.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5301
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5302
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5303
	# Remove V880 CPU DR files, program cancelled
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5304
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5305
	DAKTARI_PLAT=platform/SUNW,Sun-Fire-880
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5306
		rm -f \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5307
		$root/$DAKTARI_PLAT/kernel/drv/gptwo.conf	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5308
		$root/$DAKTARI_PLAT/kernel/drv/sparcv9/bbc	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5309
		$root/$DAKTARI_PLAT/kernel/drv/sparcv9/gptwo	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5310
		$root/$DAKTARI_PLAT/kernel/misc/sparcv9/sbdp	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5311
		$usr/platform/sun4u/include/sys/sbdp.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5312
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5313
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5314
	# Remove crash(1M), now obsoleted by mdb(1).  If this is a backwards
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5315
	# BFU, it will be extracted again by cpio.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5316
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5317
	rm -f $root/etc/crash $usr/sbin/crash $usr/sbin/i86/crash \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5318
	    $usr/sbin/sparcv7/crash $usr/sbin/sparcv9/crash
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5319
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5320
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5321
	# Remove kadb(1M), now obsoleted by kmdb(1M)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5322
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5323
	rm -f $root/platform/*/kadb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5324
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5325
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5326
	# Remove old platform dmod symlinks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5327
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5328
	for dir in $usr/platform/*/lib/mdb ; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5329
		[[ -h $dir ]] && rm -f $dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5330
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5331
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5332
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5333
	# Remove ADB macros
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5334
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5335
	rm -fr $usr/lib/adb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5336
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5337
	for dir in $usr/platform/*/lib/adb ; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5338
		rm -fr $dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5339
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5340
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5341
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5342
	# Remove the SGENV driver from the Sun-Fire directory structure.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5343
	# If this is a backwards BFU, it will be extracted again by cpio.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5344
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5345
	SERENGETI_PLAT=platform/SUNW,Sun-Fire
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5346
	rm -f $root/$SERENGETI_PLAT/kernel/drv/sgenv.conf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5347
	    $root/$SERENGETI_PLAT/kernel/drv/sparcv9/sgenv
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5348
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5349
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5350
	# Remove sun4m
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5351
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5352
	rm -rf $root/platform/sun4m
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5353
	rm -rf $usr/platform/sun4m
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5354
	if [ $target_isa = sparc ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5355
		rm -f $root/kernel/genunix
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5356
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5357
	rm -f $root/kernel/drv/xbox
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5358
	rm -f $usr/include/sys/comvec.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5359
	rm -f $usr/include/sys/openprom.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5360
	rm -f $usr/include/sys/cg14io.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5361
	rm -f $usr/include/sys/cg14reg.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5362
	rm -f $usr/include/sys/cg8reg.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5363
	rm -f $usr/include/sys/cg8var.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5364
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5365
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5366
	# Remove perl 5.005_03.  If this is a backwards bfu,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5367
	# it will be extracted again by cpio.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5368
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5369
	if [[ -d $usr/perl5/5.00503 ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5370
		remove_perl_500503
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5371
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5372
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5373
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5374
	# Remove perl 5.8.3, but only if the generic.usr archive contains 5.8.4.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5375
	# If this is a backwards bfu, 5.8.3 will be extracted again by cpio.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5376
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5377
	if [[ -d $usr/perl5/5.8.3 ]] && $ZCAT $cpiodir/generic.usr$ZFIX | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5378
	    cpio -it 2>/dev/null |  egrep -s '^usr/perl5/5.8.4/'; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5379
		remove_perl_583
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5380
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5381
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5382
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5383
	# Clean up legacy versions of the FMA CPU/Mem DE which may be still
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5384
	# be laying around.  This check may be removed when a sufficient time
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5385
	# has lapsed between the FMA putback as to ensure that no test machines
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5386
	# still have development FMA bits.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5387
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5388
	for platdir in $usr/platform/SUNW,* ; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5389
		[[ -h $platdir ]] && continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5390
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5391
		rm -f $platdir/lib/fm/fmd/plugins/cpumem-diagnosis.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5392
		rm -f $platdir/lib/fm/fmd/plugins/cpumem-diagnosis.conf 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5393
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5394
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5395
	# Remove pam_unix
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5396
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5397
	rm -f $usr/lib/security/pam_unix.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5398
	rm -f $usr/lib/security/pam_unix.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5399
	rm -f $usr/lib/security/sparcv9/pam_unix.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5400
	rm -f $usr/lib/security/sparcv9/pam_unix.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5401
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5402
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5403
	# Remove libldap.so.3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5404
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5405
	rm -f $usr/lib/libldap.so.3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5406
	rm -f $usr/lib/sparcv9/libldap.so.3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5407
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5408
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5409
	# Remove nss XFN support no longer used by printing
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5410
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5411
	sed -e '/printers:/s/xfn[  ]*//' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5412
		$rootprefix/bfu.child/etc/nsswitch.conf > /tmp/nssw.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5413
	cp /tmp/nssw.$$ $rootprefix/bfu.child/etc/nsswitch.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5414
	rm -f /tmp/nssw.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5415
	rm -f $usr/lib/nss_xfn.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5416
	rm -f $usr/lib/sparcv9/nss_xfn.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5417
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5418
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5419
	# Remove FNS/XFN.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5420
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5421
	if [ -d $rootprefix/etc/fn -o \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5422
	     -d $usr/include/xfn -o \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5423
	     -d $usr/lib/fn -o \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5424
	     -d $rootprefix/var/fn ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5425
		remove_eof_fns
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5426
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5427
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5428
	#
765
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  5429
	# Remove AT&T FACE
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  5430
	#
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  5431
	if [ -d $usr/oasys -o -d $usr/vmsys ]; then
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  5432
		remove_eof_face
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  5433
	fi
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  5434
00c9ab3c0693 PSARC/2005/592 AT&T FACE and FMLI EOL
dp
parents: 753
diff changeset
  5435
	#
1706
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5436
	# Remove DMI
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5437
	#
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5438
	if [ -d $usr/lib/dmi -o \
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5439
	     -d $rootprefix/etc/dmi -o \
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5440
	     -d $rootprefix/var/dmi ]; then
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5441
	        remove_eof_dmi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5442
	fi
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5443
0e053bac3f94 LSARC/2006/150 SEA EOF and DMI EOF and Removal
wesolows
parents: 1619
diff changeset
  5444
	#
1433
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  5445
	# Remove ASET
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  5446
	#
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  5447
	if [ -d $usr/aset ]; then
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  5448
		remove_eof_aset
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  5449
	fi
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  5450
ffc36496f52e PSARC/2005/593 ASET EOF: Announce and Removal
darrenm
parents: 1422
diff changeset
  5451
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5452
	# Remove BIND 8, but only if the generic.usr archive doesn't contains
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5453
	# BIND 8 named server/tools. If this is a backwards bfu, BIND 8 will
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5454
	# be extracted again by cpio.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5455
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5456
	if [[ -f $usr/sbin/dnskeygen ]] && ! $ZCAT $cpiodir/generic.usr$ZFIX \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5457
	    | cpio -it 2>/dev/null |  egrep -s '^usr/sbin/ndc' ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5458
		remove_eof_bind8
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5459
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5460
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5461
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5462
	# Remove any sendmailvars: line from /etc/nsswitch.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5463
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5464
	sed -e '/^sendmailvars:/d' $rootprefix/bfu.child/etc/nsswitch.conf > \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5465
		/tmp/nssw.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5466
	cp /tmp/nssw.$$ $rootprefix/bfu.child/etc/nsswitch.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5467
	rm -f /tmp/nssw.$$
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5468
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5469
	#
2912
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  5470
	# Remove vold
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  5471
	#
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  5472
	if [ -f $rootprefix/etc/vold.conf -o -d $usr/lib/vold ]; then
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  5473
		remove_eof_vold
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  5474
	fi
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  5475
85ea316d9c18 PSARC 2005/399 Tamarack: Removable Media Enhancements in Solaris
artem
parents: 2866
diff changeset
  5476
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5477
	# Remove SUNWcoff package
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5478
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5479
	pkgroot=${rootprefix:+-R $rootprefix}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5480
	pkg=SUNWcoff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5481
	if [ $target_isa = i386 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5482
		if pkginfo $pkgroot -q $pkg; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5483
			pkgrm $pkgroot -n $pkg >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5484
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5485
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5486
		# In case that did not work, do it manually.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5487
		if [ -d $rootprefix/var/sadm/pkg/$pkg ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5488
			rm -rf $rootprefix/var/sadm/pkg/$pkg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5489
			rm $rootprefix/kernel/exec/coffexec
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5490
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5491
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5492
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5493
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5494
	# Remove GMT* zoneinfo files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5495
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5496
	rm -f $usr/share/lib/zoneinfo/GMT-12
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5497
	rm -f $usr/share/lib/zoneinfo/GMT-11
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5498
	rm -f $usr/share/lib/zoneinfo/GMT-10
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5499
	rm -f $usr/share/lib/zoneinfo/GMT-9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5500
	rm -f $usr/share/lib/zoneinfo/GMT-8
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5501
	rm -f $usr/share/lib/zoneinfo/GMT-7
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5502
	rm -f $usr/share/lib/zoneinfo/GMT-6
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5503
	rm -f $usr/share/lib/zoneinfo/GMT-5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5504
	rm -f $usr/share/lib/zoneinfo/GMT-4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5505
	rm -f $usr/share/lib/zoneinfo/GMT-3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5506
	rm -f $usr/share/lib/zoneinfo/GMT-2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5507
	rm -f $usr/share/lib/zoneinfo/GMT-1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5508
	rm -f $usr/share/lib/zoneinfo/GMT+1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5509
	rm -f $usr/share/lib/zoneinfo/GMT+2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5510
	rm -f $usr/share/lib/zoneinfo/GMT+3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5511
	rm -f $usr/share/lib/zoneinfo/GMT+4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5512
	rm -f $usr/share/lib/zoneinfo/GMT+5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5513
	rm -f $usr/share/lib/zoneinfo/GMT+6
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5514
	rm -f $usr/share/lib/zoneinfo/GMT+7
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5515
	rm -f $usr/share/lib/zoneinfo/GMT+8
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5516
	rm -f $usr/share/lib/zoneinfo/GMT+9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5517
	rm -f $usr/share/lib/zoneinfo/GMT+10
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5518
	rm -f $usr/share/lib/zoneinfo/GMT+11
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5519
	rm -f $usr/share/lib/zoneinfo/GMT+12
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5520
	rm -f $usr/share/lib/zoneinfo/GMT+13
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5521
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5522
	# Remove stc(7d)-related files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5523
	rm -f $usr/include/sys/stcio.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5524
	rm -f $usr/include/sys/stcvar.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5525
	rm -f $usr/include/sys/stcreg.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5526
	rm -f $usr/include/sys/stcconf.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5527
	SUN4U_DRV=platform/sun4u/kernel/drv
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5528
	rm -f $rootprefix/$SUN4U_DRV/stc.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5529
	rm -f $rootprefix/$SUN4U_DRV/stc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5530
	rm -f $rootprefix/$SUN4U_DRV/sparcv9/stc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5531
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5532
	# Remove old CPC adb macros.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5533
	rm -f $usr/lib/adb/cpc_ctx
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5534
	rm -f $usr/lib/adb/cpc_event
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5535
	if [ $target_isa = sparc ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5536
	    rm -f $usr/lib/adb/sparcv9/cpc_ctx
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5537
	    rm -f $usr/lib/adb/sparcv9/cpc_event
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5538
	fi;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5539
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5540
	# Remove obsolete DTrace demos
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5541
	rm -f $usr/demo/dtrace/cputick.d
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5542
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5543
	# Remove flashprom-related files.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5544
	if [ $target_isa = sparc ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5545
	    for x in $FLASHPROMLIST
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5546
	    do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5547
		rm -f $root/$x;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5548
	    done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5549
	fi;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5550
2621
4ea88858d952 PSARC/2003/246 Filesystem Driven Device Naming
llai1
parents: 2577
diff changeset
  5551
	# Remove pt_chmod - obsoleted by new /dev filesystem
4ea88858d952 PSARC/2003/246 Filesystem Driven Device Naming
llai1
parents: 2577
diff changeset
  5552
	if [ $zone = global ]; then
4ea88858d952 PSARC/2003/246 Filesystem Driven Device Naming
llai1
parents: 2577
diff changeset
  5553
	   rm -f $usr/lib/pt_chmod
4ea88858d952 PSARC/2003/246 Filesystem Driven Device Naming
llai1
parents: 2577
diff changeset
  5554
	fi
4ea88858d952 PSARC/2003/246 Filesystem Driven Device Naming
llai1
parents: 2577
diff changeset
  5555
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5556
	if [ $RM_32BIT_KERNEL -eq 1 -a $zone = global ];
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5557
	then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5558
	    print "Removing 32-bit commands and kernel binaries ... \c";
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5559
	    rm -rf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5560
		$usr/bin/sparcv7/amt \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5561
		$usr/bin/sparcv7/cputrack \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5562
		$usr/bin/sparcv7/newtask \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5563
		$usr/bin/sparcv7/nohup \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5564
		$usr/bin/sparcv7/pargs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5565
		$usr/bin/sparcv7/pcred \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5566
		$usr/bin/sparcv7/pfiles \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5567
		$usr/bin/sparcv7/pflags \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5568
		$usr/bin/sparcv7/pldd \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5569
		$usr/bin/sparcv7/plimit \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5570
		$usr/bin/sparcv7/pmap \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5571
		$usr/bin/sparcv7/ppgsz \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5572
		$usr/bin/sparcv7/ppriv \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5573
		$usr/bin/sparcv7/prctl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5574
		$usr/bin/sparcv7/preap \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5575
		$usr/bin/sparcv7/prex \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5576
		$usr/bin/sparcv7/prstat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5577
		$usr/bin/sparcv7/prun \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5578
		$usr/bin/sparcv7/ps \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5579
		$usr/bin/sparcv7/psig \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5580
		$usr/bin/sparcv7/pstack \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5581
		$usr/bin/sparcv7/pstop \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5582
		$usr/bin/sparcv7/ptime \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5583
		$usr/bin/sparcv7/ptree \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5584
		$usr/bin/sparcv7/pwait \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5585
		$usr/bin/sparcv7/pwdx \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5586
		$usr/bin/sparcv7/setuname \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5587
		$usr/bin/sparcv7/sort \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5588
		$usr/bin/sparcv7/tnfxtract \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5589
		$usr/bin/sparcv7/uptime \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5590
		$usr/bin/sparcv7/w \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5591
		$usr/sbin/sparcv7/intrstat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5592
		$usr/sbin/sparcv7/lockstat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5593
		$usr/sbin/sparcv7/prtconf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5594
		$usr/sbin/sparcv7/swap \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5595
		$usr/sbin/sparcv7/sysdef \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5596
		$usr/sbin/sparcv7/whodo \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5597
		$root/kernel/dacf/consconfig_dacf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5598
		$root/kernel/drv/arp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5599
		$root/kernel/drv/audiocs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5600
		$root/kernel/drv/audioens \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5601
		$root/kernel/drv/bofi \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5602
		$root/kernel/drv/bpp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5603
		$root/kernel/drv/clone \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5604
		$root/kernel/drv/cn \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5605
		$root/kernel/drv/conskbd \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5606
		$root/kernel/drv/consms \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5607
		$root/kernel/drv/dad \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5608
		$root/kernel/drv/devinfo \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5609
		$root/kernel/drv/ecpp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5610
		$root/kernel/drv/ehci \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5611
		$root/kernel/drv/esp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5612
		$root/kernel/drv/fas \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5613
		$root/kernel/drv/fcip \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5614
		$root/kernel/drv/fcp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5615
		$root/kernel/drv/fp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5616
		$root/kernel/drv/glm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5617
		$root/kernel/drv/hid \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5618
		$root/kernel/drv/hme \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5619
		$root/kernel/drv/hubd \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5620
		$root/kernel/drv/icmp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5621
		$root/kernel/drv/icmp6 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5622
		$root/kernel/drv/ifp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5623
		$root/kernel/drv/ip \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5624
		$root/kernel/drv/ip6 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5625
		$root/kernel/drv/ippctl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5626
		$root/kernel/drv/ipsecah \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5627
		$root/kernel/drv/ipsecesp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5628
		$root/kernel/drv/isp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5629
		$root/kernel/drv/iwscn \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5630
		$root/kernel/drv/keysock \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5631
		$root/kernel/drv/le \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5632
		$root/kernel/drv/lebuffer \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5633
		$root/kernel/drv/llc1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5634
		$root/kernel/drv/lofi \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5635
		$root/kernel/drv/log \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5636
		$root/kernel/drv/md \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5637
		$root/kernel/drv/mm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5638
		$root/kernel/drv/mpt \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5639
		$root/kernel/drv/nca \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5640
		$root/kernel/drv/ohci \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5641
		$root/kernel/drv/openeepr \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5642
		$root/kernel/drv/options \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5643
		$root/kernel/drv/pcata \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5644
		$root/kernel/drv/pcelx \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5645
		$root/kernel/drv/pcic \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5646
		$root/kernel/drv/pcmem \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5647
		$root/kernel/drv/pcram \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5648
		$root/kernel/drv/pcs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5649
		$root/kernel/drv/pcser \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5650
		$root/kernel/drv/pem \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5651
		$root/kernel/drv/pln \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5652
		$root/kernel/drv/poll \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5653
		$root/kernel/drv/pseudo \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5654
		$root/kernel/drv/ptc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5655
		$root/kernel/drv/ptsl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5656
		$root/kernel/drv/qlc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5657
		$root/kernel/drv/random \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5658
		$root/kernel/drv/rts \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5659
		$root/kernel/drv/sad \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5660
		$root/kernel/drv/scsa2usb \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5661
		$root/kernel/drv/scsi_vhci \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5662
		$root/kernel/drv/sd \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5663
		$root/kernel/drv/se \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5664
		$root/kernel/drv/ses \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5665
		$root/kernel/drv/sgen \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5666
		$root/kernel/drv/soc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5667
		$root/kernel/drv/socal \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5668
		$root/kernel/drv/spdsock \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5669
		$root/kernel/drv/ssd \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5670
		$root/kernel/drv/st \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5671
		$root/kernel/drv/stp4020 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5672
		$root/kernel/drv/sy \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5673
		$root/kernel/drv/sysmsg \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5674
		$root/kernel/drv/tcp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5675
		$root/kernel/drv/tcp6 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5676
		$root/kernel/drv/tl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5677
		$root/kernel/drv/uata \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5678
		$root/kernel/drv/udp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5679
		$root/kernel/drv/udp6 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5680
		$root/kernel/drv/ugen \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5681
		$root/kernel/drv/usb_ac \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5682
		$root/kernel/drv/usb_as \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5683
		$root/kernel/drv/usb_mid \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5684
		$root/kernel/drv/usbprn \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5685
		$root/kernel/drv/usbser_edge \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5686
		$root/kernel/drv/usoc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5687
		$root/kernel/drv/wc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5688
		$root/kernel/exec/aoutexec \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5689
		$root/kernel/exec/elfexec \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5690
		$root/kernel/exec/intpexec \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5691
		$root/kernel/fs/autofs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5692
		$root/kernel/fs/cachefs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5693
		$root/kernel/fs/devfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5694
		$root/kernel/fs/fifofs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5695
		$root/kernel/fs/hsfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5696
		$root/kernel/fs/lofs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5697
		$root/kernel/fs/mntfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5698
		$root/kernel/fs/nfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5699
		$root/kernel/fs/procfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5700
		$root/kernel/fs/sockfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5701
		$root/kernel/fs/specfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5702
		$root/kernel/fs/tmpfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5703
		$root/kernel/fs/udfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5704
		$root/kernel/fs/ufs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5705
		$root/kernel/ipp/dlcosmk \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5706
		$root/kernel/ipp/dscpmk \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5707
		$root/kernel/ipp/flowacct \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5708
		$root/kernel/ipp/ipgpc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5709
		$root/kernel/ipp/tokenmt \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5710
		$root/kernel/ipp/tswtclmt \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5711
		$root/kernel/misc/amsrc1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5712
		$root/kernel/misc/audiosup \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5713
		$root/kernel/misc/busra \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5714
		$root/kernel/misc/consconfig \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5715
		$root/kernel/misc/dada \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5716
		$root/kernel/misc/des \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5717
		$root/kernel/misc/diaudio \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5718
		$root/kernel/misc/fctl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5719
		$root/kernel/misc/fssnap_if \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5720
		$root/kernel/misc/gld \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5721
		$root/kernel/misc/hidparser \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5722
		$root/kernel/misc/hpcsvc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5723
		$root/kernel/misc/ipc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5724
		$root/kernel/misc/kbtrans \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5725
		$root/kernel/misc/kgss/do_kmech_krb5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5726
		$root/kernel/misc/kgss/gl_kmech_krb5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5727
		$root/kernel/misc/kgssapi \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5728
		$root/kernel/misc/klmmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5729
		$root/kernel/misc/klmops \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5730
		$root/kernel/misc/krtld \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5731
		$root/kernel/misc/md5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5732
		$root/kernel/misc/md_hotspares \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5733
		$root/kernel/misc/md_mirror \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5734
		$root/kernel/misc/md_notify \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5735
		$root/kernel/misc/md_raid \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5736
		$root/kernel/misc/md_sp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5737
		$root/kernel/misc/md_stripe \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5738
		$root/kernel/misc/md_trans \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5739
		$root/kernel/misc/mixer \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5740
		$root/kernel/misc/mpxio \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5741
		$root/kernel/misc/nfs_dlboot \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5742
		$root/kernel/misc/nfssrv \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5743
		$root/kernel/misc/pcicfg \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5744
		$root/kernel/misc/pcihp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5745
		$root/kernel/misc/phx \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5746
		$root/kernel/misc/rpcsec \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5747
		$root/kernel/misc/rpcsec_gss \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5748
		$root/kernel/misc/rsmops \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5749
		$root/kernel/misc/scsi \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5750
		$root/kernel/misc/seg_drv \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5751
		$root/kernel/misc/seg_mapdev \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5752
		$root/kernel/misc/sha1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5753
		$root/kernel/misc/strplumb \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5754
		$root/kernel/misc/swapgeneric \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5755
		$root/kernel/misc/tlimod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5756
		$root/kernel/misc/ufs_log \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5757
		$root/kernel/misc/usba \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5758
		$root/kernel/misc/usbser \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5759
		$root/kernel/sched/TS \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5760
		$root/kernel/sched/TS_DPTBL \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5761
		$root/kernel/strmod/6to4tun \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5762
		$root/kernel/strmod/arp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5763
		$root/kernel/strmod/atun \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5764
		$root/kernel/strmod/authmd5h \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5765
		$root/kernel/strmod/authsha1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5766
		$root/kernel/strmod/bufmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5767
		$root/kernel/strmod/connld \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5768
		$root/kernel/strmod/dedump \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5769
		$root/kernel/strmod/drcompat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5770
		$root/kernel/strmod/encr3des \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5771
		$root/kernel/strmod/encraes \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5772
		$root/kernel/strmod/encrbfsh \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5773
		$root/kernel/strmod/encrdes \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5774
		$root/kernel/strmod/icmp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5775
		$root/kernel/strmod/ip \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5776
		$root/kernel/strmod/ipsecah \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5777
		$root/kernel/strmod/ipsecesp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5778
		$root/kernel/strmod/keysock \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5779
		$root/kernel/strmod/ldterm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5780
		$root/kernel/strmod/ms \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5781
		$root/kernel/strmod/nca \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5782
		$root/kernel/strmod/pckt \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5783
		$root/kernel/strmod/pfmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5784
		$root/kernel/strmod/pipemod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5785
		$root/kernel/strmod/ptem \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5786
		$root/kernel/strmod/redirmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5787
		$root/kernel/strmod/rpcmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5788
		$root/kernel/strmod/rts \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5789
		$root/kernel/strmod/tcp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5790
		$root/kernel/strmod/timod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5791
		$root/kernel/strmod/tirdwr \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5792
		$root/kernel/strmod/ttcompat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5793
		$root/kernel/strmod/tun \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5794
		$root/kernel/strmod/udp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5795
		$root/kernel/strmod/usb_ah \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5796
		$root/kernel/strmod/usbkbm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5797
		$root/kernel/strmod/usbms \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5798
		$root/kernel/sys/c2audit \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5799
		$root/kernel/sys/doorfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5800
		$root/kernel/sys/inst_sync \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5801
		$root/kernel/sys/kaio \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5802
		$root/kernel/sys/msgsys \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5803
		$root/kernel/sys/nfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5804
		$root/kernel/sys/pipe \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5805
		$root/kernel/sys/pset \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5806
		$root/kernel/sys/rpcmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5807
		$root/kernel/sys/semsys \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5808
		$root/kernel/sys/shmsys \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5809
		$root/platform/SUNW,Ultra-250/kernel/drv/envctrltwo \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5810
		$root/platform/SUNW,Ultra-250/kernel/misc/platmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5811
		$root/platform/SUNW,Ultra-4/kernel/drv/envctrl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5812
		$root/platform/SUNW,Ultra-4/kernel/misc/platmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5813
		$root/platform/SUNW,Ultra-5_10/kernel/misc/platmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5814
		$root/platform/SUNW,Ultra-80/kernel/misc/platmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5815
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/cpu/SUNW,UltraSPARC \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5816
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/cpu/SUNW,UltraSPARC-II \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5817
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/cvc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5818
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/cvcredir \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5819
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/idn \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5820
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/ngdr \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5821
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/pcipsy \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5822
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/rootnex \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5823
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/drv/sbus \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5824
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/misc/ngdrmach \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5825
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/misc/platmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5826
		$root/platform/SUNW,Ultra-Enterprise-10000/kernel/unix \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5827
		$root/platform/SUNW,Ultra-Enterprise/kernel/drv/ac \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5828
		$root/platform/SUNW,Ultra-Enterprise/kernel/drv/central \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5829
		$root/platform/SUNW,Ultra-Enterprise/kernel/drv/environ \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5830
		$root/platform/SUNW,Ultra-Enterprise/kernel/drv/fhc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5831
		$root/platform/SUNW,Ultra-Enterprise/kernel/drv/simmstat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5832
		$root/platform/SUNW,Ultra-Enterprise/kernel/drv/sram \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5833
		$root/platform/SUNW,Ultra-Enterprise/kernel/drv/sysctrl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5834
		$root/platform/SUNW,Ultra-Enterprise/kernel/misc/platmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5835
		$root/platform/sun4u/boot.conf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5836
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5837
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC-II \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5838
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC-III \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5839
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC-III+ \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5840
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC-IIIi \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5841
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC-IIe \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5842
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC-IIi \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5843
		$root/platform/sun4u/kernel/cpu/SUNW,UltraSPARC-IV \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5844
		$root/platform/sun4u/kernel/drv/bwtwo \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5845
		$root/platform/sun4u/kernel/drv/cgsix \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5846
		$root/platform/sun4u/kernel/drv/cgthree \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5847
		$root/platform/sun4u/kernel/drv/cpc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5848
		$root/platform/sun4u/kernel/drv/db21554 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5849
		$root/platform/sun4u/kernel/drv/dma \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5850
		$root/platform/sun4u/kernel/drv/ebus \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5851
		$root/platform/sun4u/kernel/drv/fd \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5852
		$root/platform/sun4u/kernel/drv/ledma \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5853
		$root/platform/sun4u/kernel/drv/memtest \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5854
		$root/platform/sun4u/kernel/drv/pci_pci \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5855
		$root/platform/sun4u/kernel/drv/pcipsy \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5856
		$root/platform/sun4u/kernel/drv/power \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5857
		$root/platform/sun4u/kernel/drv/rootnex \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5858
		$root/platform/sun4u/kernel/drv/sbbc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5859
		$root/platform/sun4u/kernel/drv/sbus \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5860
		$root/platform/sun4u/kernel/drv/sbusmem \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5861
		$root/platform/sun4u/kernel/drv/sf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5862
		$root/platform/sun4u/kernel/drv/simba \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5863
		$root/platform/sun4u/kernel/drv/su \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5864
		$root/platform/sun4u/kernel/drv/tod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5865
		$root/platform/sun4u/kernel/drv/trapstat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5866
		$root/platform/sun4u/kernel/drv/zs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5867
		$root/platform/sun4u/kernel/drv/zsh \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5868
		$root/platform/sun4u/kernel/genunix \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5869
		$root/platform/sun4u/kernel/misc/bootdev \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5870
		$root/platform/sun4u/kernel/misc/cpr \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5871
		$root/platform/sun4u/kernel/misc/forthdebug \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5872
		$root/platform/sun4u/kernel/misc/kgss/do_kmech_krb5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5873
		$root/platform/sun4u/kernel/misc/kgss/gl_kmech_krb5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5874
		$root/platform/sun4u/kernel/misc/md5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5875
		$root/platform/sun4u/kernel/misc/obpsym \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5876
		$root/platform/sun4u/kernel/misc/pcmcia \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5877
		$root/platform/sun4u/kernel/misc/platmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5878
		$root/platform/sun4u/kernel/misc/vis \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5879
		$root/platform/sun4u/kernel/strmod/kb \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5880
		$root/platform/sun4u/kernel/sys/cpc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5881
		$root/platform/sun4u/kernel/tod/todmostek \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5882
		$root/platform/sun4u/kernel/tod/todstarfire \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5883
		$usr/include/v7/sys/mon_clock.h \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5884
		$usr/kernel/drv/dump \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5885
		$usr/kernel/drv/fssnap \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5886
		$usr/kernel/drv/gen_drv \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5887
		$usr/kernel/drv/kstat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5888
		$usr/kernel/drv/ksyms \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5889
		$usr/kernel/drv/llc2 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5890
		$usr/kernel/drv/lo \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5891
		$usr/kernel/drv/lockstat \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5892
		$usr/kernel/drv/logindmux \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5893
		$usr/kernel/drv/pm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5894
		$usr/kernel/drv/pshot \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5895
		$usr/kernel/drv/ptm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5896
		$usr/kernel/drv/pts \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5897
		$usr/kernel/drv/rsm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5898
		$usr/kernel/drv/sppp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5899
		$usr/kernel/drv/sppptun \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5900
		$usr/kernel/drv/sysevent \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5901
		$usr/kernel/drv/tidg \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5902
		$usr/kernel/drv/tivc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5903
		$usr/kernel/drv/tmux \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5904
		$usr/kernel/drv/tnf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5905
		$usr/kernel/drv/vol \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5906
		$usr/kernel/drv/winlock \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5907
		$usr/kernel/exec/javaexec \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5908
		$usr/kernel/fs/fdfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5909
		$usr/kernel/fs/namefs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5910
		$usr/kernel/fs/pcfs \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5911
		$usr/kernel/sched/FSS \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5912
		$usr/kernel/sched/FX \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5913
		$usr/kernel/sched/FX_DPTBL \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5914
		$usr/kernel/sched/IA \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5915
		$usr/kernel/sched/RT \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5916
		$usr/kernel/sched/RT_DPTBL \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5917
		$usr/kernel/strmod/cryptmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5918
		$usr/kernel/strmod/lmodb \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5919
		$usr/kernel/strmod/lmode \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5920
		$usr/kernel/strmod/lmodr \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5921
		$usr/kernel/strmod/lmodt \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5922
		$usr/kernel/strmod/rlmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5923
		$usr/kernel/strmod/spppasyn \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5924
		$usr/kernel/strmod/spppcomp \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5925
		$usr/kernel/strmod/sppptun \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5926
		$usr/kernel/strmod/telmod \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5927
		$usr/kernel/sys/acctctl \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5928
		$usr/kernel/sys/exacctsys \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5929
		$usr/kernel/sys/sysacct \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5930
		$usr/lib/gss/mech_spnego.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5931
		$usr/lib/gss/mech_spnego.so.1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5932
		$usr/lib/mdb/kvm/cpc.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5933
		$usr/lib/mdb/kvm/genunix.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5934
		$usr/lib/mdb/kvm/ip.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5935
		$usr/lib/mdb/kvm/ipc.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5936
		$usr/lib/mdb/kvm/ipp.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5937
		$usr/lib/mdb/kvm/isp.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5938
		$usr/lib/mdb/kvm/krtld.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5939
		$usr/lib/mdb/kvm/lofs.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5940
		$usr/lib/mdb/kvm/logindmux.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5941
		$usr/lib/mdb/kvm/mdb_ks.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5942
		$usr/lib/mdb/kvm/nca.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5943
		$usr/lib/mdb/kvm/nfs.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5944
		$usr/lib/mdb/kvm/ptm.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5945
		$usr/lib/mdb/kvm/random.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5946
		$usr/lib/mdb/kvm/sd.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5947
		$usr/lib/mdb/kvm/sppp.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5948
		$usr/lib/mdb/kvm/ssd.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5949
		$usr/lib/mdb/kvm/ufs_log.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5950
		$usr/lib/mdb/kvm/usba.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5951
		$usr/lib/sparcv9/gss/mech_spnego.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5952
		$usr/lib/sparcv9/gss/mech_spnego.so.1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5953
		$usr/platform/SUNW,Ultra-1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5954
		$usr/platform/SUNW,Ultra-250/doc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5955
		$usr/platform/SUNW,Ultra-250/lib/flash-update.sh \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5956
		$usr/platform/SUNW,Ultra-250/lib/prom \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5957
		$usr/platform/SUNW,Ultra-Enterprise-10000/doc \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5958
		$usr/platform/SUNW,Ultra-Enterprise-10000/lib/flash-update.sh \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5959
		$usr/platform/SUNW,Ultra-Enterprise-10000/lib/prom \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5960
		$usr/platform/sun4u/lib/mdb/kvm/unix.so \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5961
		$usr/platform/sun4u/lib/prom/SUNW,Ultra-1 > /dev/null 2>&1;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5962
		print "done.";
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5963
	fi;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5964
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5965
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5966
	# Remove kmdbmod from /kernel
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5967
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5968
	rm -f $root/kernel/misc/sparcv9/kmdbmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5969
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5970
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5971
	# Remove obsolete drivers/header files as a result of sun4v source
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5972
	# code reorg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5973
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5974
	rm -f $root/platform/sun4u/kernel/drv/sparcv9/pci_pci
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5975
	rm -f $root/platform/sun4u/kernel/misc/sparcv9/pcmcia
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5976
	rm -f $usr/include/v9/sys/traptrace.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5977
	rm -f $usr/platform/sun4u/include/sys/spitasi.h
78
0e13b95244dd 6289703 Remove SUNWust1u.v package -- we do not need it
ae112802
parents: 25
diff changeset
  5978
	rm -f $usr/kernel/pcbe/sparcv9/pcbe.SUNW,UltraSPARC-T1
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5979
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5980
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5981
        # Remove the IPsec encryption and authentication modules.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5982
        # IPsec now uses the Kernel Crypto Framework for crypto.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5983
        #
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5984
        rm -f $rootprefix/kernel/strmod/encr3des
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5985
        rm -f $rootprefix/kernel/strmod/encrdes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5986
        rm -f $rootprefix/kernel/strmod/encrbfsh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5987
        rm -f $rootprefix/kernel/strmod/encraes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5988
        rm -f $rootprefix/kernel/strmod/authmd5h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5989
        rm -f $rootprefix/kernel/strmod/authsha1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5990
        rm -f $rootprefix/kernel/strmod/sparcv9/encr3des
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5991
        rm -f $rootprefix/kernel/strmod/sparcv9/encrdes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5992
        rm -f $rootprefix/kernel/strmod/sparcv9/encrbfsh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5993
        rm -f $rootprefix/kernel/strmod/sparcv9/encraes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5994
        rm -f $rootprefix/kernel/strmod/sparcv9/authmd5h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5995
        rm -f $rootprefix/kernel/strmod/sparcv9/authsha1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5996
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5997
        #
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5998
        # Remove obsolete SSA utility, firmware and fcode.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  5999
        # usr/lib/firmware/ssa contains ssafirmware 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6000
        #
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6001
        rm -rf $usr/lib/firmware/ssa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6002
        rm -f $usr/lib/firmware/fc_s/fc_s_fcode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6003
        rm -f $usr/sbin/ssaadm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6004
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6005
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6006
	# Remove seg_drv, seg_mapdev driver
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6007
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6008
	rm -f $root/kernel/misc/seg_drv
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6009
	rm -f $root/kernel/misc/sparcv9/seg_drv
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6010
	rm -f $usr/include/sys/seg_drv.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6011
	rm -f $root/kernel/misc/seg_mapdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6012
	rm -f $root/kernel/misc/sparcv9/seg_mapdev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6013
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6014
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6015
	# Remove mpxio module
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6016
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6017
	rm -f $root/kernel/misc/sparcv9/mpxio
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6018
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6019
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6020
	# Remove mpxio/vhci adb macros.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6021
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6022
	if [ $target_isa = sparc -a $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6023
		rm -f $usr/lib/adb/mdi_client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6024
		rm -f $usr/lib/adb/sparcv9/mdi_client
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6025
		rm -f $usr/lib/adb/mdi_pathinfo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6026
		rm -f $usr/lib/adb/sparcv9/mdi_pathinfo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6027
		rm -f $usr/lib/adb/mdi_phci
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6028
		rm -f $usr/lib/adb/sparcv9/mdi_phci
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6029
		rm -f $usr/lib/adb/mdi_vhci
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6030
		rm -f $usr/lib/adb/sparcv9/mdi_vhci
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6031
		rm -f $usr/lib/adb/scsi_vhci_pkt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6032
		rm -f $usr/lib/adb/sparcv9/scsi_vhci_pkt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6033
		rm -f $usr/lib/adb/scsi_vhci_softstate
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6034
		rm -f $usr/lib/adb/sparcv9/scsi_vhci_softstate
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6035
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6036
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6037
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6038
	# Diskless clients have already extracted /usr so don't delete this
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6039
	# Non-global zones never extracts /usr so don't delete these
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6040
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6041
	if [ $diskless = no -a $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6042
		rm -f $usr/sbin/stmsboot
2577
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6043
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6044
		rm -f $usr/lib/mdb/kvm/mpxio.so
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6045
		rm -f $usr/lib/mdb/kvm/sparcv9/mpxio.so
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6046
		rm -f $usr/lib/mdb/kvm/amd64/mpxio.so
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6047
		rm -f $usr/lib/mdb/kvm/scsi_vhci.so
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6048
		rm -f $usr/lib/mdb/kvm/sparcv9/scsi_vhci.so
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6049
		rm -f $usr/lib/mdb/kvm/amd64/scsi_vhci.so
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6050
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6051
	rm -f $root/lib/mpxio/mpxio
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6052
	rm -f $root/lib/mpxio/stmsboot_util
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6053
2577
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6054
	rm -f $root/kernel/kmdb/mpxio
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6055
	rm -f $root/kernel/kmdb/sparcv9/mpxio
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6056
	rm -f $root/kernel/kmdb/amd64/mpxio
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6057
	rm -f $root/kernel/kmdb/scsi_vhci
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6058
	rm -f $root/kernel/kmdb/sparcv9/scsi_vhci
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6059
	rm -f $root/kernel/kmdb/amd64/scsi_vhci
630a8010260c 6386887 vhci_attach registers uninitialized dma attributes
ramat
parents: 2572
diff changeset
  6060
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6061
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6062
	# Remove rpcib misc module (converted to driver)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6063
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6064
	rm -f $root/kernel/misc/sparcv9/rpcib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6065
	rm -f $root/kernel/drv/sparcv9/rpcib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6066
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6067
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6068
	# Remove old smartcard header files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6069
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6070
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6071
	rm -f \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6072
		$usr/include/smartcard.h \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6073
		$usr/include/smartcard/ocf_authenticate.h \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6074
		$usr/include/smartcard/ocf_core.h \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6075
		$usr/include/smartcard/ocf_core_cardservices.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6076
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6077
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6078
	# Remove smartcard libraries that should not have been shipped.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6079
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6080
	rm -rf  $usr/lib/smartcard/sparcv9/ \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6081
		$usr/share/lib/smartcard/scmtester.jar
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6082
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6083
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6084
	# Remove external smartcard reader driver
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6085
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6086
	rm -f $usr/share/lib/smartcard/scmrsr3.jar
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6087
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6088
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6089
	# Remove old internal smartcard reader driver
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6090
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6091
	rm -f $usr/share/lib/smartcard/scmiscr.jar
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6092
	rm -f $usr/lib/smartcard/libSCMI2CNative.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6093
	rm -f $usr/lib/smartcard/libSCMI2CNative.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6094
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6095
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6096
	# Remove Smart OS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6097
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6098
	rm -f $usr/share/lib/smartcard/smartos.jar
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6099
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6100
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6101
	# Remove drivers & header files for EOL of soc & pln drivers
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6102
	# as per PSARC/2003/233
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6103
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6104
	rm -f $root/kernel/drv/pln.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6105
	rm -f $root/kernel/drv/sparcv9/pln
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6106
	rm -f $root/kernel/drv/sparcv9/soc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6107
	rm -f $usr/include/sys/socvar.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6108
	rm -f $usr/include/sys/socmap.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6109
	rm -f $usr/include/sys/soc_cq_defs.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6110
	rm -f $usr/include/sys/socreg.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6111
	rm -f $usr/include/sys/scsi/adapters/plndef.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6112
	rm -f $usr/include/sys/scsi/adapters/plnvar.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6113
	rm -f $usr/include/sys/scsi/adapters/ssaisp.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6114
	rm -f $usr/include/sys/scsi/targets/pln_ctlr.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6115
	rm -f $usr/include/sys/scsi/targets/osesio.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6116
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6117
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6118
	# PSARC/2003/629 Common Solaris Target Disk Driver
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6119
	# remove adb macro "scsi_disk" for the x86 platform
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6120
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6121
	if [ $target_isa = i386 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6122
		rm -f $usr/lib/adb/scsi_disk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6123
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6124
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6125
	# Remove CPCv1 API header per PSARC/2004/648
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6126
	rm -f $usr/include/sys/cpc_event.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6127
693
1c08294a694e PSARC/2005/561 Obsolete DDI Interrupt Interfaces
govinda
parents: 598
diff changeset
  6128
	# Remove headers per PSARC/2005/561
1c08294a694e PSARC/2005/561 Obsolete DDI Interrupt Interfaces
govinda
parents: 598
diff changeset
  6129
	rm -f $usr/include/sys/nexusintr.h
1c08294a694e PSARC/2005/561 Obsolete DDI Interrupt Interfaces
govinda
parents: 598
diff changeset
  6130
	rm -f $usr/platform/sun4u/include/sys/nexusintr_impl.h
1c08294a694e PSARC/2005/561 Obsolete DDI Interrupt Interfaces
govinda
parents: 598
diff changeset
  6131
	rm -f $usr/platform/sun4v/include/sys/nexusintr_impl.h
1c08294a694e PSARC/2005/561 Obsolete DDI Interrupt Interfaces
govinda
parents: 598
diff changeset
  6132
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6133
	# Remove usr/lib/mail which has moved to etc/mail/cf, but first,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6134
	# attempt to migrate any user-added files, which primarily live
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6135
	# under usr/lib/mail/cf .  Blow away the seven files which we
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6136
	# ship under that directory, then move any that remain to the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6137
	# new location, which we will `mkdir -p` just to be safe.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6138
	# If the zone in question is non-global, then skip all this.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6139
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6140
	if [ $zone = "global" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6141
		# -d follow sym-links: make sure it's not a link.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6142
		if [ -d $usr/lib/mail -a ! -h $usr/lib/mail ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6143
			# Only do this if usr/lib/mail is still a directory;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6144
			# bfu'ing backwards does not merit such migration.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6145
			rm -f $usr/lib/mail/cf/Makefile
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6146
			rm -f $usr/lib/mail/cf/main.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6147
			rm -f $usr/lib/mail/cf/main.mc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6148
			rm -f $usr/lib/mail/cf/submit.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6149
			rm -f $usr/lib/mail/cf/submit.mc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6150
			rm -f $usr/lib/mail/cf/subsidiary.cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6151
			rm -f $usr/lib/mail/cf/subsidiary.mc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6152
			mkdir -p -m 0755 $root/etc/mail/cf/cf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6153
			mv $usr/lib/mail/cf/* $root/etc/mail/cf/cf >/dev/null 2>&1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6154
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6155
		rm -rf $usr/lib/mail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6156
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6157
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6158
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6159
	# Remove drivers and header files for EOF of Lance Ethernet
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6160
	# driver(le) as per PSARC/2003/335.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6161
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6162
	rm -f $root/kernel/drv/le
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6163
	rm -f $root/kernel/drv/sparcv9/le
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6164
	rm -f $root/kernel/drv/lebuffer
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6165
	rm -f $root/kernel/drv/sparcv9/lebuffer
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6166
	rm -f $root/platform/sun4u/kernel/drv/ledma
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6167
	rm -f $root/platform/sun4u/kernel/drv/sparcv9/ledma
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6168
	rm -f $usr/include/sys/le.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6169
	rm -f $usr/include/sys/lance.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6170
	rm -f $usr/lib/adb/le
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6171
	rm -f $usr/lib/adb/lestr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6172
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6173
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6174
	# Remove drivers and header files for EOF of ieef driver as
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6175
	# per PSARC/2003/009
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6176
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6177
	rm -f $root/kernel/drv/ieef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6178
	rm -f $root/kernel/drv/ieef.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6179
	rm -f $usr/include/sys/ieef.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6180
	rm -f $root/boot/solaris/drivers/notisa.010/ieef.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6181
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6182
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6183
	# Remove drivers and header files for EOF of elx driver as
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6184
	# per PSARC/2003/770
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6185
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6186
	rm -f $root/platform/i86pc/kernel/drv/elx
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6187
	rm -f $root/platform/i86pc/kernel/drv/elx.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6188
	rm -f $usr/include/sys/elx.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6189
	rm -f $root/boot/solaris/drivers/isa.175/elx.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6190
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6191
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6192
	# Remove drivers for EOF of pe driver as per PSARC/2004/051
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6193
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6194
	rm -f $root/kernel/drv/pe
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6195
	rm -f $root/kernel/drv/pe.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6196
	rm -f $root/boot/solaris/drivers/isa.125/pe3.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6197
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6198
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6199
	# Remove drivers for EOF of Compaq NCR, Compaq SMART2, AMI Mega
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6200
	# card and /usr/bin/smart2cfg as per PSARC/2003/701 and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6201
	# PSARC/2004/207
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6202
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6203
	rm -f $root/kernel/drv/cpqncr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6204
	rm -f $root/kernel/drv/cpqncr.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6205
	rm -f $root/boot/solaris/drivers/notisa.020/cpqncr.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6206
	rm -f $root/platform/i86pc/kernel/drv/smartii
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6207
	rm -f $root/platform/i86pc/kernel/drv/smartii.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6208
	rm -f $usr/bin/smart2cfg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6209
	rm -f $root/kernel/drv/mega
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6210
	rm -f $root/kernel/drv/mega.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6211
	rm -f $root/boot/solaris/drivers/notisa.010/mega.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6212
	rm -f $root/kernel/mach/compaq
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6213
	rm -f $root/kernel/mach/corollary
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6214
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6215
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6216
	# Remove eisa nexus driver and header files for EOF of EISA
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6217
	# support as per PSARC/2003/650
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6218
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6219
	rm -f $root/platform/i86pc/kernel/drv/eisa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6220
	rm -f $usr/platform/i86pc/include/sys/eisarom.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6221
	rm -f $usr/platform/i86pc/include/sys/nvm.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6222
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6223
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6224
	# Remove xmem headers (they moved back to usr/include/sys/fs)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6225
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6226
	rm -f $usr/include/ia32/sys/fs/xmem.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6227
	rm -f $usr/include/ia32/sys/fs/seg_xmem.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6228
	rm -rf $usr/include/ia32/sys/fs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6229
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6230
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6231
	# Remove junk headers
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6232
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6233
	rm -f $usr/platform/i86pc/include/sys/mcdma.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6234
	rm -f $usr/platform/i86pc/include/sys/xque.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6235
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6236
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6237
	# Remove obsolete x86 hat layer and associated adb scripts
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6238
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6239
	rm -f $root/platform/i86pc/kernel/mmu/mmu32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6240
	rm -f $root/platform/i86pc/kernel/mmu/mmu36
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6241
	rm -rf $root/platform/i86pc/kernel/mmu
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6242
	rm -f $usr/lib/adb/hwpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6243
	rm -f $usr/lib/adb/hatppp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6244
	rm -f $usr/lib/adb/hat.nxt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6245
	rm -f $usr/lib/adb/hwpp.nxt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6246
	
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6247
	#
1106
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6248
	# Remove drivers for EOF of chs as per PSARC/2005/581
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6249
	#
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6250
	rm -f $root/kernel/drv/chs
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6251
	rm -f $root/kernel/drv/chs.conf
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6252
	rm -f $root/boot/solaris/drivers/notisa.020/chs.bef
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6253
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6254
	#
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6255
	# Remove drivers & header files for EOF of dbri as per PSARC 2005/582
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6256
	#
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6257
	rm -f $root/kernel/drv/sparcv9/dbri
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6258
	rm -f $root/usr/include/sys/dbriio.h
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6259
	rm -f $root/usr/include/sys/mmcodecreg.h
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6260
fc3a8d329831 PSARC 2005/581 EOF of the chs driver
mrj
parents: 1069
diff changeset
  6261
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6262
	# Remove drivers for EOF of pcscsi as per PSARC/2005/003
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6263
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6264
	rm -f $root/kernel/drv/pcscsi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6265
	rm -f $root/kernel/drv/pcscsi.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6266
	rm -f $root/boot/solaris/drivers/notisa.010/pcscsi.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6267
	
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6268
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6269
	# Remove drivers for EOF of dpt as per PSARC/2003/701
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6270
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6271
	rm -f $root/boot/solaris/drivers/isa.125/dpt.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6272
	rm -f $root/platform/i86pc/kernel/drv/dpt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6273
	rm -f $root/platform/i86pc/kernel/drv/dpt.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6274
	rm -rf $usr/include/sys/dktp/dpt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6275
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6276
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6277
	# Remove drivers for EOF of mlx driver as per PSARC/2003/701
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6278
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6279
	rm -f $root/boot/solaris/drivers/notisa.010/mlx.bef
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6280
	rm -f $root/platform/i86pc/kernel/drv/mlx
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6281
	rm -f $root/platform/i86pc/kernel/drv/mlx.conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6282
	rm -rf $usr/include/sys/dktp/mlx
753
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6283
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6284
	#
786
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6285
	# Remove snlb
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6286
	#
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6287
	rm -f $root/kernel/misc/snlb
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6288
	rm -f $root/kernel/misc/amd64/snlb
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6289
	rm -f $root/usr/include/sys/dktp/dklb.h
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6290
	rm -f $root/usr/include/sys/dktp/snlb.h
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6291
5c0d97122ae6 4855218 sparc: Need EFI label support on IDE
lclee
parents: 765
diff changeset
  6292
	#
753
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6293
	# Remove objmgr
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6294
	#
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6295
	rm -f $root/kernel/drv/objmgr.conf
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6296
	rm -f $root/kernel/drv/objmgr
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6297
	rm -f $root/kernel/drv/amd64/objmgr
16d813ee7075 6300267 Remove objmgr module
lclee
parents: 744
diff changeset
  6298
	rm -f $root/usr/include/sys/dktp/objmgr.h
2015
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6299
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6300
	#
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6301
	# Remove other unused headers
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6302
	#
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6303
	rm -f $root/usr/include/sys/scsi/impl/pkt_wrapper.h
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6304
	rm -f $root/usr/include/sys/dktp/hba.h
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6305
	rm -f $root/usr/include/sys/dktp/cdtypes.h
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6306
	rm -f $root/usr/include/sys/dktp/scdk.h
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6307
	rm -f $root/usr/include/sys/dktp/scdkwatch.h
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6308
	rm -f $root/usr/include/sys/dktp/sctarget.h
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6309
	rm -f $root/usr/include/sys/dktp/tgcd.h
530b0eef593b 6422444 update inquiry.h to reflect latest spc-3 device types
taylor
parents: 1991
diff changeset
  6310
	rm -f $root/usr/include/sys/dktp/tgpassthru.h
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6311
 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6312
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6313
	# Remove Floating Point Emulator for EOF as per PSARC/2003/651
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6314
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6315
	rm -f $root/platform/i86pc/kernel/misc/emul_80387
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6316
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6317
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6318
	# Remove 64-bit adp, cadp and cpqhpc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6319
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6320
	rm -f $root/kernel/drv/amd64/adp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6321
	rm -f $root/kernel/drv/amd64/cadp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6322
	rm -f $root/kernel/drv/amd64/cpqhpc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6323
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6324
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6325
	# Remove 64-bit i2o_bs, i2o_msg, i2o_scsi, pci_to_i2o, mscsi, ncrs,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6326
	# msm, spwr, bscv, bscbus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6327
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6328
	rm -f $root/kernel/drv/amd64/i2o_bs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6329
	rm -f $root/kernel/misc/amd64/i2o_msg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6330
	rm -f $root/kernel/drv/amd64/i2o_scsi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6331
	rm -f $root/kernel/drv/amd64/pci_to_i2o
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6332
	rm -f $root/platform/i86pc/kernel/drv/amd64/mscsi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6333
	rm -f $root/kernel/drv/amd64/ncrs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6334
	rm -f $root/platform/i86pc/kernel/drv/amd64/msm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6335
	rm -f $root/kernel/drv/amd64/spwr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6336
	rm -f $root/platform/i86pc/kernel/drv/amd64/bscv
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6337
	rm -f $root/platform/i86pc/kernel/drv/amd64/bscbus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6338
2958
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  6339
	# Remove obsolete pfil modules, binaries, and configuration files
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  6340
	rm -f $root/kernel/drv/pfil
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  6341
	rm -f $root/kernel/drv/pfil.conf
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  6342
	rm -f $root/kernel/drv/sparcv9/pfil
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  6343
	rm -f $root/kernel/drv/amd64/pfil
3861
e86534366a70 6535224 bfu misses deletion of strmod/pfil
yx160601
parents: 3781
diff changeset
  6344
	rm -f $root/kernel/strmod/pfil
e86534366a70 6535224 bfu misses deletion of strmod/pfil
yx160601
parents: 3781
diff changeset
  6345
	rm -f $root/kernel/strmod/sparcv9/pfil
e86534366a70 6535224 bfu misses deletion of strmod/pfil
yx160601
parents: 3781
diff changeset
  6346
	rm -f $root/kernel/strmod/amd64/pfil
2958
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  6347
	rm -f $root/usr/sbin/pfild
98aa41c076f5 PSARC/2005/334 Packet Filtering Hooks
dr146992
parents: 2923
diff changeset
  6348
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6349
	# Remove obsolete atomic_prim.h file.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6350
	rm -f $usr/include/v9/sys/atomic_prim.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6351
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6352
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6353
	# Remove sc_nct binary and the corresponding symlink to sc_nct from the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6354
	# Montecarlo platform specific directories (Reference: PSARC 2003/606). 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6355
	# To be specific, the following binary will be removed.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6356
	# /platform/SUNW,UltraSPARC-IIe-NetraCT-40/kernel/drv/sparcv9/sc_nct 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6357
	# Also, the following symlink will be removed.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6358
	# /platform/SUNW,UltraSPARC-IIe-NetraCT-60/kernel/drv/sparcv9/sc_nct
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6359
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6360
	if [ -f $root/platform/SUNW,UltraSPARC-IIe-NetraCT-40/kernel/drv/sparcv9/sc_nct ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6361
		rm -f $root/platform/SUNW,UltraSPARC-IIe-NetraCT-40/kernel/drv/sparcv9/sc_nct
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6362
		rm -f $root/platform/SUNW,UltraSPARC-IIe-NetraCT-60/kernel/drv/sparcv9/sc_nct
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6363
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6364
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6365
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6366
	# In case of bfu to an older release, remove traces of "new"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6367
	# Kerberos mechanisms.  Kerberos libraries and paths are corrected
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6368
	# after extraction is complete.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6369
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6370
	rm -f $root/kernel/misc/kgss/kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6371
	rm -f $root/kernel/misc/kgss/sparcv9/kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6372
	rm -f $root/platform/$karch/kernel/misc/kgss/sparcv9/kmech_krb5
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6373
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6374
	# Diskless clients have already extracted /usr so don't delete these
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6375
	# Non-global zones never extracts /usr so don't delete these
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6376
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6377
	if [ $diskless = no -a $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6378
		rm -f $usr/lib/gss/mech_krb5.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6379
		rm -f $usr/lib/gss/mech_krb5.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6380
		rm -f $usr/lib/sparcv9/gss/mech_krb5.so
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6381
		rm -f $usr/lib/sparcv9/gss/mech_krb5.so.1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6382
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6383
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6384
	# Remove old OpenSSL stuff from SUNWwbint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6385
	rm -rf $usr/include/openssl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6386
	rm -rf $usr/lib/openssl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6387
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6388
	#Remove ufs logging module - now merged into ufs module
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6389
	rm -f $rootprefix/kernel/misc/ufs_log
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6390
	rm -f $rootprefix/kernel/misc/sparcv9/ufs_log
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6391
1619
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6392
	#Remove ufs_log mdb/kmdb modules - now merged in to ufs module
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6393
	rm -f $rootprefix/kernel/kmdb/ufs_log
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6394
	rm -f $rootprefix/kernel/kmdb/sparcv9/ufs_log
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6395
	rm -f $rootprefix/kernel/kmdb/amd64/ufs_log
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6396
	rm -f $rootprefix/usr/lib/mdb/kvm/ufs_log.so
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6397
	rm -f $rootprefix/usr/lib/mdb/kvm/sparcv9/ufs_log.so
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6398
	rm -f $rootprefix/usr/lib/mdb/kvm/amd64/ufs_log.so
b29a07d0220d 6221730 ufs_log mdb module needs to be merged with the ufs one
sjelinek
parents: 1545
diff changeset
  6399
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6400
	#Remove diskmgtd. If backward BFU, will get re-installed from
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6401
	#archive.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6402
	rm -f $usr/lib/diskmgtd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6403
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6404
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6405
	# Remove old ia64 cruft
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6406
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6407
	if [ $target_isa = i386 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6408
		rm -f $usr/include/sys/ia64_archext.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6409
		rm -f $usr/include/sys/sysia64.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6410
		rm -rf $usr/include/ia64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6411
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6412
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6413
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6414
	# Remove machpage-related stuff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6415
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6416
	rm -f $usr/platform/*/include/vm/mach_page.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6417
	rm -f $usr/lib/adb/machpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6418
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6419
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6420
	# Remove old cacheos
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6421
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6422
	rm -f $root/etc/init.d/cacheos
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6423
	rm -f $root/etc/init.d/cacheos.finish
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6424
	rm -f $root/etc/init.d/cachefs.root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6425
	rm -f $root/etc/rcS.d/S35cacheos.sh
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6426
	rm -f $root/etc/rc2.d/S93cacheos.finish
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6427
	rm -f $root/etc/rcS.d/S41cachefs.root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6428
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6429
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6430
	# Remove unneeded nfsmapid entries
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6431
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6432
	nfsmapid_cfg
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6433
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6434
	#
2385
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6435
	# Nuke the nfsauth headers when we're working with the 'global'
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  6436
	# or a fully populated nonglobal zone. The cpio archive will lay the
2385
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6437
	# right one to match mountd(1m)'s comm method w/the kernel (via
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6438
	# kRPC or Doors/XDR).
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6439
	#
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6440
	dir_is_inherited usr 2>/dev/null;
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6441
	if [ $? = 1 -o $zone = global ]; then
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6442
		rm -f ${rootprefix}/usr/include/rpcsvc/nfsauth_prot.x
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6443
		rm -f ${rootprefix}/usr/include/rpcsvc/nfsauth_prot.h
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6444
		rm -f ${rootprefix}/usr/include/nfs/auth.h
95b548983d15 6448220 bfu command causes nfs/auth.h file missing if the system has zone
rmesta
parents: 2364
diff changeset
  6445
	fi
2315
9b2a16330ba6 6445209 snv_43 build servers fail to build ON (rpcbind should no longer include nfsauth_prot.h)
rmesta
parents: 2311
diff changeset
  6446
9b2a16330ba6 6445209 snv_43 build servers fail to build ON (rpcbind should no longer include nfsauth_prot.h)
rmesta
parents: 2311
diff changeset
  6447
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6448
	# Move the original manifests aside; later we will restore
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6449
	# unchanged originals to avoid superfluous re-import on reboot.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6450
	# (First blow away the old dir path just to be safe.)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6451
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6452
	rm -rf $root/$old_mfst_dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6453
	[ -d $root/$new_mfst_dir ] && mv $root/$new_mfst_dir $root/$old_mfst_dir
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6454
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6455
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6456
	# Remove obsolete sum.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6457
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6458
	rm -f $usr/include/sum.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6459
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6460
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6461
	# Remove obsolete std.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6462
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6463
	rm -f $usr/include/std.h
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6464
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6465
	#
132
e3f7eaf7dde4 PSARC/2005/362 Removal of <rpc/trace.h>
robinson
parents: 78
diff changeset
  6466
	# Remove obsolete rpc/trace.h
e3f7eaf7dde4 PSARC/2005/362 Removal of <rpc/trace.h>
robinson
parents: 78
diff changeset
  6467
	#
e3f7eaf7dde4 PSARC/2005/362 Removal of <rpc/trace.h>
robinson
parents: 78
diff changeset
  6468
	rm -f $usr/include/rpc/trace.h
e3f7eaf7dde4 PSARC/2005/362 Removal of <rpc/trace.h>
robinson
parents: 78
diff changeset
  6469
e3f7eaf7dde4 PSARC/2005/362 Removal of <rpc/trace.h>
robinson
parents: 78
diff changeset
  6470
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6471
	# Remove acpi_intp module
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6472
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6473
	if [ $target_isa = i386 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6474
		rm -f $root/kernel/misc/acpi_intp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6475
		rm -f $root/kernel/misc/amd64/acpi_intp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6476
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6477
461
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6478
	#
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6479
	# Remove obsolete librac
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6480
	#
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6481
	rm -f $usr/include/rpc/rac.h
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6482
	rm -f $usr/lib/llib-lrac
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6483
	rm -f $usr/lib/llib-lrac.ln
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6484
	rm -f $usr/lib/amd64/llib-lrac.ln
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6485
	rm -f $usr/lib/sparcv9/llib-lrac.ln
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6486
	rm -f $usr/lib/librac.so
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6487
	rm -f $usr/lib/librac.so.1
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6488
	rm -f $usr/lib/amd64/librac.so
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6489
	rm -f $usr/lib/amd64/librac.so.1
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6490
	rm -f $usr/lib/sparcv9/librac.so
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6491
	rm -f $usr/lib/sparcv9/librac.so.1
7f48ccb9d9a6 PSARC/2005/378 Obsolete and/or removal of disparaged librac
robinson
parents: 305
diff changeset
  6492
2311
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6493
	#
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6494
	# Remove /kernel/mac.  This directory was introduced by
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6495
	# PSARC/2006/248, and along with this came a syntax change to the
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6496
	# /etc/aggregation.conf file.  After archives have been extracted,
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6497
	# we check for the existance of the /kernel/mac directory to see if
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6498
	# we're doing a backward bfu and need to convert the syntax of the
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6499
	# /etc/aggregation.conf file to its old format.
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6500
	#
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6501
	if [ -d $root/kernel/mac ]; then
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6502
		from_new_aggrconf=1
2479
8a306e868728 6453157 missing initialization of from_new_aggrconf variable in bfu.sh
seb
parents: 2385
diff changeset
  6503
		rm -rf $root/kernel/mac
8a306e868728 6453157 missing initialization of from_new_aggrconf variable in bfu.sh
seb
parents: 2385
diff changeset
  6504
	else
8a306e868728 6453157 missing initialization of from_new_aggrconf variable in bfu.sh
seb
parents: 2385
diff changeset
  6505
		from_new_aggrconf=0
2311
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6506
	fi
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6507
2923
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6508
	# Remove libcmd from $root/lib.  It has moved back to $usr/lib.
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6509
	rm -f $root/lib/libcmd.so
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6510
	rm -f $root/lib/libcmd.so.1
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6511
	rm -f $root/lib/amd64/libcmd.so
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6512
	rm -f $root/lib/amd64/libcmd.so.1
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6513
	rm -f $root/lib/sparcv9/libcmd.so
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6514
	rm -f $root/lib/sparcv9/libcmd.so.1
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6515
	rm -f $root/lib/llib-lcmd
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6516
	rm -f $root/lib/llib-lcmd.ln
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6517
	rm -f $root/lib/amd64/llib-lcmd.ln
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6518
	rm -f $root/lib/sparcv9/llib-lcmd.ln
da82ab368162 PSARC 2006/561 libcmd must die
raf
parents: 2919
diff changeset
  6519
3148
9998f6336457 6448219 bsmrecord(1M)'s audit_record_attr database doesn't belong in /etc
tz204579
parents: 3147
diff changeset
  6520
	# Remove audit_record_attr. Moved to /usr/lib/security
9998f6336457 6448219 bsmrecord(1M)'s audit_record_attr database doesn't belong in /etc
tz204579
parents: 3147
diff changeset
  6521
	rm -f $root/etc/security/audit_record_attr
9998f6336457 6448219 bsmrecord(1M)'s audit_record_attr database doesn't belong in /etc
tz204579
parents: 3147
diff changeset
  6522
3445
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6523
	#
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6524
	# Remove xmemfs altogether.
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6525
	#
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6526
	rm -f $usr/include/sys/fs/xmem.h
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6527
	rm -f $usr/include/sys/fs/seg_xmem.h
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6528
	rm -f $usr/kernel/fs/xmemfs
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6529
	rm -f $usr/kernel/fs/amd64/xmemfs
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6530
	rm -rf $usr/lib/fs/xmemfs
cd5b6c3b1817 PSARC/2006/061 xmemfs EOF
blakej
parents: 3385
diff changeset
  6531
3871
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6532
	#
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6533
	# Remove obsolete libmacadm, liblaadm and libwladm. If this is
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6534
	# a backwards BFU, they will be extracted by cpio.
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6535
	#
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6536
	rm -f $root/lib/libmacadm.so.1
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6537
	rm -f $root/lib/liblaadm.so.1
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6538
	rm -f $root/lib/libwladm.so.1
5a1dfce6c5cc PSARC 2007/140 libdladm restructure
yz147064
parents: 3861
diff changeset
  6539
3893
4115db3e65ea 6518531 BFU Script should cleanup old PCI hotplug devlinks
scarter
parents: 3871
diff changeset
  6540
	#
4115db3e65ea 6518531 BFU Script should cleanup old PCI hotplug devlinks
scarter
parents: 3871
diff changeset
  6541
	# Remove PCI hotplug devlinks.  Their format has changed,
4115db3e65ea 6518531 BFU Script should cleanup old PCI hotplug devlinks
scarter
parents: 3871
diff changeset
  6542
	# and the old devlinks will interfere with the new ones.
4115db3e65ea 6518531 BFU Script should cleanup old PCI hotplug devlinks
scarter
parents: 3871
diff changeset
  6543
	#
4115db3e65ea 6518531 BFU Script should cleanup old PCI hotplug devlinks
scarter
parents: 3871
diff changeset
  6544
	rm -f $root/dev/cfg/*pci*
4115db3e65ea 6518531 BFU Script should cleanup old PCI hotplug devlinks
scarter
parents: 3871
diff changeset
  6545
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6546
	# End of pre-archive extraction hacks.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6547
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6548
	if [ $diskless = no -a $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6549
		print "Extracting ufs modules for boot block ... \c" | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6550
			tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6551
		do_extraction $cpiodir/$karch.usr$ZFIX \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6552
			'usr/platform/'$karch'/lib/fs/ufs/*' | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6553
			tee -a $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6554
		case $target_isa in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6555
		    sparc)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6556
			if [[ "$rootslice" = /dev/rdsk/* ]]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6557
				print "Installing boot block on $rootslice."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6558
				cd $usr/platform/$karch/lib/fs/ufs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6559
				installboot ./bootblk $rootslice
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6560
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6561
			;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6562
		    i386)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6563
			;;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6564
		    *)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6565
			;;	# unknown ISA
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6566
		esac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6567
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6568
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6569
	if [ $diskless = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6570
		node=${root##*/}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6571
		archlist=""
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6572
		for arch in $allarchs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6573
		do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6574
			egrep -s '/export/exec/.*'$arch'/usr/kvm' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6575
				$root/etc/vfstab ||
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6576
				test -d $root/platform/$arch &&
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6577
				archlist="$archlist $arch"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6578
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6579
		if [ -z "$old_style_archives" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6580
			extract_archives lib generic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6581
			extract_archives sbin generic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6582
			extract_archives kernel generic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6583
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6584
		extract_archives root generic $archlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6585
		if [ $target_isa = i386 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6586
			extract_boot_archives boot $archlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6587
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6588
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6589
		export PATH=/tmp/bfubin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6590
		node=`uname -n`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6591
		if [ $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6592
			extract_archives usr generic $usrarchs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6593
			if [ -z "$old_style_archives" ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6594
				extract_archives lib generic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6595
				extract_archives sbin generic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6596
				extract_archives kernel generic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6597
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6598
			extract_archives root generic $rootarchs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6599
			if [ $target_isa = i386 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6600
		        	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6601
		        	#  The assumption here is that if boot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6602
				#  archives exist at all, they only exist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6603
				#  for architectures where we also have
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6604
				#  .root archives.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6605
				#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6606
				extract_boot_archives boot $rootarchs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6607
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6608
		else
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6609
			dir_is_inherited usr ||
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6610
			    extract_archives usr generic $usrarchs
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6611
			dir_is_inherited lib ||
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6612
			    extract_archives lib generic
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6613
			dir_is_inherited sbin ||
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6614
			    extract_archives sbin generic
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6615
			dir_is_inherited platform &&
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6616
			    extract_archives root generic ||
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6617
			    extract_archives root generic $rootarchs
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6618
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6619
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6620
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6621
	touch reconfigure
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6622
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6623
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6624
	# UltraSparc III platforms have aes module in platform directory
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6625
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6626
	if [ ! -f $root/platform/$plat/kernel/crypto/sparcv9/aes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6627
		rm -f $root/platform/sun4u-us3/kernel/crypto/sparcv9/aes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6628
		rm -f $root/platform/sun4u-us3/kernel/crypto/sparcv9/aes256
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6629
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6630
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6631
	if [ $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6632
		print "\nRemoving duplicate kernel binaries ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6633
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6634
		# First, find all regular files underneath the */kernel
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6635
		# directories we extracted, and mark them as older or newer
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6636
		# than our reference file -- if newer, they were extracted
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6637
		# during the bfu.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6638
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6639
		# We then split out the pre-/kernel part from the post-/kernel
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6640
		# part, sort by post-/kernel part and age (new first), and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6641
		# delete old files which have new counterparts.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6642
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6643
		dirs="$rootprefix/kernel $usr/kernel"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6644
		for plat in $archlist $rootarchs $usrarchs; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6645
			dir=$rootprefix/platform/$plat/kernel
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6646
			[[ -d $dir ]] && dirs="$dirs $dir"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6647
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6648
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6649
		age=new
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6650
		ls -ct $time_ref `find $dirs -type f 2>/dev/null` | uniq |
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6651
		    while read f; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6652
			if [[ $f = $time_ref ]] then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6653
				age=old
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6654
			else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6655
				echo $age $f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6656
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6657
		done |
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6658
		    sed 's@\(.*/kernel\)/@\1 @' | sort -k 3 -k 1 | nawk '
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6659
			/^new/ { lastname = $3 }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6660
			/^old/ { if (lastname == $3) { print $2 "/" $3 } }
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6661
		    ' | while read x; do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6662
			echo rm $x
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6663
			rm $x
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6664
		done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6665
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6666
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6667
	echo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6668
	# Simulate installation of SUNWcry* - these are in the bfu archives.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6669
	if [ -f $rootprefix/etc/crypto/kcf.conf -a \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6670
	    -f $rootprefix/etc/crypto/pkcs11.conf ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6671
		enable_crypto_unlimited
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6672
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6673
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6674
	# Add uCF's metaslot feature
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6675
	if [ -f $rootprefix/etc/crypto/pkcs11.conf ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6676
		enable_crypto_metaslot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6677
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6678
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6679
	# Cleanup old Kerberos mechanisms
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6680
	cleanup_kerberos_mechanisms
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6681
305
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  6682
	# Fix network datalink configuration
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  6683
	if [ $zone = global -a $need_datalink = yes ]; then
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  6684
		create_datalink_conf
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  6685
	fi
6a86e61ccb15 6304883 6253542 broke bfu
ericheng
parents: 269
diff changeset
  6686
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6687
	print "\nRestoring configuration files.\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6688
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6689
	cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6690
	rm -rf bfu.ancestor
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6691
	test -d bfu.parent && mv bfu.parent bfu.ancestor
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6692
	mkdir bfu.parent
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6693
	print "Restoring configuration files ... \c" >> $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6694
	filelist $zone | cpio -pdmu bfu.parent 2>>$EXTRACT_LOG || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6695
	    extraction_error "restoring configuration files"
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  6696
	if [ $multi_or_direct = no ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6697
		if [ $have_realmode = yes ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6698
			if [ -d bfu.realmode ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6699
				( cd bfu.realmode ; realmode_filelist | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6700
				    cpio -pdmu ../bfu.ancestor 2>/dev/null )
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6701
				rm -rf bfu.realmode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6702
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6703
			mkdir bfu.realmode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6704
			( cd bfu.parent ; realmode_filelist | \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6705
				cpio -pdmu ../bfu.realmode 2>/dev/null )
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6706
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6707
			for file in $realmode_files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6708
			do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6709
				rm -rf bfu.parent/$file
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6710
			done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6711
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6712
	fi
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6713
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6714
	cd bfu.child
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6715
	for file in `filelist $zone`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6716
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6717
		# parent: freshly-BFUed version
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6718
		# child: pre-BFU version
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6719
		# ancestor: installed from archives the last time you BFUed
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6720
		# actual: in the root filesystem at this moment (same as parent)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6721
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6722
		parent=$rootprefix/bfu.parent/$file
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6723
		child=$rootprefix/bfu.child/$file
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6724
		ancestor=$rootprefix/bfu.ancestor/$file
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6725
		conflicts=$rootprefix/bfu.conflicts/$file
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6726
		actual=$rootprefix/$file
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6727
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6728
		# if a superfluous-to-local-zones file was blown away, skip it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6729
		[ -f $actual ] || continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6730
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6731
		# if there's been no change by the BFU, skip it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6732
		cmp -s $child $actual && continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6733
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6734
		# if the file was not installed by the BFU, skip it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6735
		[  -f $parent ] || continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6736
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6737
		# if this is a file which should never be updated by BFU,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6738
		# preserve the original (child) version
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6739
		if (echo $preserve_files | grep $file >/dev/null 2>&1)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6740
		then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6741
			print "    preserve: $file"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6742
			cp -p $child $actual
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6743
			continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6744
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6745
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6746
		# if the file was accepted from the parent on the last BFU,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6747
		# then accept it again this time without argument.  Or, if
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6748
		# this is the first bfu after an standard Solaris install
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6749
		# or upgrade, compare the file to one installed from packages.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6750
		# If it hasn't been modified since installation, accept
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6751
		# the file from the parent.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6752
		if [ -f $ancestor ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6753
			if cmp -s $child $ancestor; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6754
				print "      update: $file"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6755
				continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6756
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6757
		elif [ "$firstbfu" = "yes" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6758
			installedsum=$(grep "^/$file " \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6759
			    $rootprefix/var/sadm/install/contents |
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6760
			    awk '{ print $8 }')
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6761
			if [ -n "$installedsum" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6762
				actualsum=`sum $child | sed 's/ .*//'`
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6763
				if [ "$installedsum" -eq "$actualsum" ] ; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6764
					print "      update: $file"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6765
					continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6766
				fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6767
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6768
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6769
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6770
		# if the BFU'ed file is the same as the beginning of the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6771
		# pre-BFUed file, assume the user has added lines to the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6772
		# end, and restore the pre-BFUed version
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6773
		if (cmp $child $parent 2>&1) | egrep -s 'EOF on '$parent; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6774
			print "     restore: $file"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6775
			cp -p $child $actual
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6776
			continue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6777
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6778
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6779
		# if the new version is the same as it was the last time
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6780
		# BFU was run, but still different than the pre-BFU version,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6781
		# this is an "old" conflict; otherwise, it's a "NEW"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6782
		# conflict.  Old conflicts can usually be safely ignored.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6783
		if cmp -s $parent $ancestor; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6784
			print "old \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6785
		else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6786
			print "NEW \c"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6787
			print $file >>$rootprefix/bfu.conflicts/NEW
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6788
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6789
		print "conflict: $file"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6790
		(cd $root; print $file | cpio -pdmu bfu.conflicts 2>/dev/null)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6791
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6792
		# for all conflicts, restore the pre-BFU version and let
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6793
		# the user decide what to do.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6794
		cp -p $child $actual
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6795
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6796
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6797
	if [ $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6798
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6799
		# correct permissions using /etc/minor_perm from the parent and
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6800
		# child, prefer parent.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6801
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6802
		mperm=$rootprefix/etc/minor_perm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6803
		pmperm=$rootprefix/bfu.parent/etc/minor_perm
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6804
		if [ -f $pmperm ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6805
		then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6806
			mperm="$pmperm $mperm"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6807
		fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6808
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6809
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6810
		# Devices with changed permissions should be added here much
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6811
		# like in i.minorperm.  The "ssm" devices are special in that
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6812
		# they have no /dev links associated with them.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6813
		#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6814
		while read minor dev
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6815
		do (
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6816
			set -- `fgrep -h "$minor" $mperm` "";
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6817
			if [ ! -z "$2" ]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6818
			then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6819
				chmod $2 $rootprefix/dev/$dev 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6820
				chown $3:$4 $rootprefix/dev/$dev 2>/dev/null
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6821
			fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6822
		) done <<-EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6823
			ssm:*			../devices/ssm*:*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6824
			cpc:shared		../devices/pseudo/cpc*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6825
			icmp:icmp		icmp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6826
			icmp6:icmp6		icmp6
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6827
			ip:ip			ip
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6828
			ip6:ip6			ip6
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6829
			rts:rts			rts
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6830
			keysock:keysock		keysock
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6831
			ipsecah:ipsecah		ipsecah
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6832
			ipsecesp:ipsecesp	ipsecesp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6833
			spdsock:spdsock		spdsock
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6834
			sad:admin		sad/admin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6835
			fssnap:ctl		fssnapctl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6836
			fssnap:*		fssnap/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6837
			clone:ce		ce
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6838
			clone:eri		eri
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6839
			clone:ge		ge
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6840
			clone:hme		hme
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6841
			clone:le		le
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6842
			clone:qfe		qfe
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6843
			clone:bge		bge
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6844
			bge:*			bge*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6845
			clone:dmfe		dmfe
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6846
			dmfe:*			dmfe*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6847
			clone:pcelx		pcelx
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6848
			pcelx:*			pcelx*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6849
			clone:dnet		dnet
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6850
			dnet:*			dnet*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6851
			clone:elxl		elxl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6852
			elxl:*			elxl*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6853
			clone:iprb		iprb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6854
			iprb:*			iprb*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6855
			clone:spwr		spwr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6856
			spwr:*			spwr*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6857
		EOF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6858
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6859
		if [ $target_isa = i386 ] && [[ $rootslice = /dev/rdsk/* || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6860
		    $rootslice = /dev/md/rdsk/* ]]; then
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  6861
			check_boot_env
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6862
		fi
1422
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6863
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6864
		# Check for damage due to CR 6379341.  This was actually fixed
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6865
		# back in snv_24, but users BFUing from an S10 build up to
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6866
		# Nevada can still encounter it.
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6867
		rzi=$root/etc/zones/index
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6868
		if [ -f $rzi ]; then
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6869
			# Look for duplicated UUIDs.  If there are any, then
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6870
			# just wipe them out.
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6871
			if nawk -F: '
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6872
				/^\#/ || NF != 4 { print $0; next; }
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6873
				{
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6874
					if (flags[$4])
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6875
						sub(/:[-0-9a-z]*$/,":");
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6876
					print $0;
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6877
					flags[$4]=1;
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6878
				}
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6879
			' < $rzi > ${rzi}.bfu.$$; then
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6880
				if cmp -s $rzi ${rzi}.bfu.$$; then
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6881
					rm -f ${rzi}.bfu.$$
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6882
				else
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6883
					chown root:sys ${rzi}.bfu.$$
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6884
					chmod 644 ${rzi}.bfu.$$
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6885
					mv ${rzi}.bfu.$$ $rzi
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6886
				fi
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6887
			else
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6888
				rm -f ${rzi}.bfu.$$
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6889
			fi
ce4773037fb7 6379341 zones in /etc/zones/index has non-unique UUID
carlsonj
parents: 1414
diff changeset
  6890
		fi
3201
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6891
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6892
		# Move existing /etc/aggregation.conf entries to
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6893
		# /etc/dladm/aggregation.conf; or, if bfu'ing
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6894
		# backwards, move aggregation.conf back to /etc
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6895
		aggr_old=$rootprefix/etc/aggregation.conf
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6896
		aggr_new=$rootprefix/etc/dladm/aggregation.conf
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6897
		if [ $new_dladm = yes ]; then
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6898
			if [ -f $aggr_old ]; then
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6899
				# use cat instead of cp/mv to keep
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6900
				# owner+group of dest
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6901
				cat $aggr_old > $aggr_new
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6902
				rm -f $aggr_old
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6903
			fi
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6904
		else
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6905
			if [ -f $aggr_new ]; then
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6906
				cp $aggr_new $aggr_old
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6907
				chgrp sys $aggr_old
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6908
				rm -rf $rootprefix/etc/dladm
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6909
			fi
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6910
		fi
ce36d8f29866 6502269 bfu clobbers dladm configuration files
ericheng
parents: 3189
diff changeset
  6911
	fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6912
3217
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  6913
	# Fix up audit permissions
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  6914
	fix_up_audit
24c2e767a02d 6494262 application using audit interface require file_dac_read or uid 0
gww
parents: 3201
diff changeset
  6915
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6916
	print "\nFor each file in conflict, your version has been restored."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6917
	print "The new versions are under $rootprefix/bfu.conflicts."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6918
	print "\nMAKE SURE YOU RESOLVE ALL CONFLICTS BEFORE REBOOTING.\n"
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3445
diff changeset
  6919
	if [ $multi_or_direct = yes ]; then
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6920
		print "To install resolved changes required for reboot in the boot"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6921
		print "archive, invoke 'bootadm update-archive${cr_args}'\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6922
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6923
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6924
	if [ $zone != global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6925
		print "Resolve conflicts in the global zone first.  Many of"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6926
		print "the conflicts in non-global zones can be resolved by"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6927
		print "copying the corresponding file from the global zone.\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6928
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6929
		fixup_mpxio
2311
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6930
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6931
		#
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6932
		# If we're bfuing backward across PSARC/2006/248, then
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6933
		# revert the /etc/aggregation.conf to its old format.
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6934
		#
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6935
		if [ -f $rootprefix/etc/aggregation.conf -a \
2479
8a306e868728 6453157 missing initialization of from_new_aggrconf variable in bfu.sh
seb
parents: 2385
diff changeset
  6936
		    ! -d $rootprefix/kernel/mac -a \
8a306e868728 6453157 missing initialization of from_new_aggrconf variable in bfu.sh
seb
parents: 2385
diff changeset
  6937
		    $from_new_aggrconf = 1 ]; then
2311
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6938
			revert_aggregation_conf
2d86e52dcdf0 PSARC/2006/248 Nemo MAC-Type Plugin Architecture
seb
parents: 2309
diff changeset
  6939
		fi
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6940
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6941
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6942
	cd $root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6943
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6944
	smf_apply_conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6945
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6946
	update_policy_conf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6947
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6948
	if [ $zone != global ]; then
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  6949
		rm -rf $global_zone_only_files $superfluous_nonglobal_zone_files
1872
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6950
	fi
b97d31609f43 6191943 bfu should support whole root zones
comay
parents: 1706
diff changeset
  6951
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6952
	print "bfu'ed from $cpiodir on `date +%Y-%m-%d`" >>etc/motd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6953
	tail +`nawk '/bfu.ed from/ { x=NR }; END { print x+1 }' \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6954
		etc/motd.old` etc/motd.old >> etc/motd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6955
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6956
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6957
	# Hacks to work around minor annoyances and make life more pleasant.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6958
	# Part 2 of 2: post-archive-extraction stuff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6959
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6960
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6961
	rm -f var/statmon/state		# to prevent lockd/statd hangs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6962
	for f in etc/auto_*		# to make autofs happy
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6963
	do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6964
		file $f | grep executable >/dev/null || chmod -x $f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6965
	done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6966
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6967
	epilogue=$rootprefix/bfu.epilogue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6968
	if [ -f $epilogue ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6969
		print "Executing $epilogue"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6970
		$epilogue || print "WARNING: $epilogue failed with code $?"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6971
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6972
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6973
	((seconds = SECONDS))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6974
	((min = seconds / 60))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6975
	((sec = seconds % 60))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6976
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6977
	if [ $zone = global ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6978
		target=$node
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6979
	else
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6980
		target=$zone
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6981
	fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6982
	printf "Upgrade of $target took ${min}:%02d.\n" $sec
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6983
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6984
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6985
	# Do logging in the background so that if the automounter is gone,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6986
	# bfu doesn't wedge at this point.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6987
	#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6988
	log=$GATE/public/bfu.log
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6989
	(test -w $log && printf \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6990
		"`date +%Y'%'m%d` $node `uname -rv` $karch $cpiodir ${min}:%02d\n" \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6991
		$sec >>$log) &
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6992
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6993
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6994
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6995
# make sure the time reference is older than anything extracted
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6996
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6997
test $time_ref_seconds -eq $SECONDS && sleep 1
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6998
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  6999
test $diskless = yes && extract_archives usr generic $allarchs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7000
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7001
for root in $rootlist
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7002
do
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7003
	mondo_loop $root global
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7004
	lastroot=$root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7005
done
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7006
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  7007
if [ -s "$bfu_zone_list" ]; then
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  7008
	cat "$bfu_zone_list" | while read zone zonepath; do
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  7009
		print "\nNow for zone $zone..."
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  7010
		mondo_loop $zonepath/root $zone
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7011
	done
2364
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
  7012
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
  7013
	#
3948
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  7014
	# Normally we would clean up $bfu_zone_list but instead we leave it
b8d304c37bf9 6535942 bfu and acr don't tolerate non-native zones other than 'lx'
dp
parents: 3893
diff changeset
  7015
	# behind for ACR to locate and use inside the BFU alternate reality.
2364
bf1ecf500b07 6260800 acr doesn't update the boot archive
dp
parents: 2315
diff changeset
  7016
	#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7017
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7018
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7019
print "Turning off delayed i/o and syncing filesystems ..."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7020
sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7021
fastfs -s $rootlist $usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7022
fastfs $rootlist $usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7023
sync
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7024
lockfs -f $rootlist $usr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7025
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7026
egrep -s "^error " $EXTRACT_LOG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7027
if [ $? -eq 0 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7028
	print "\nWARNING: archive extraction errors occurred.\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7029
	print "See $EXTRACT_LOG for details.\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7030
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7031
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7032
lastrootprefix=${lastroot%/}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7033
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7034
if [ -t 0 -a -t 1 -a -t 2 ]; then
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7035
	print "\nEntering post-bfu protected environment (shell: ksh)."
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7036
	print "Edit configuration files as necessary, then reboot.\n"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7037
	cd $lastrootprefix/bfu.conflicts
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7038
	PS1='bfu# ' ksh -ip
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7039
fi
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7040
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7041
print "Exiting post-bfu protected environment.  To reenter, type:"
598
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  7042
print LD_NOAUXFLTR=1 LD_LIBRARY_PATH=/tmp/bfulib $ldlib64 PATH=/tmp/bfubin \
62a3fdbde968 6327152 bfuing over the fix for 6324631 can cause BFU/acr failures
jwadams
parents: 461
diff changeset
  7043
    /tmp/bfubin/ksh
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7044
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  7045
exit 0