	 k ֺI3ֺI3by name         by name         BUILD           d   	kH      A                                                ./               A          A          
k  m          @  ҺI3պI3պI3   	       @      ./lpp_name               m          m          4 R S bos.sysmgt {
bos.sysmgt.nim.spot 4.1.5.2 01 N U en_US Network Install Manager - SPOT
[
%
/usr/lib/boot/network 32
/usr/lpp/SAVESPACE 32
/usr/lib/objrepos 8
INSTWORK 56 16
%
%
%
IX65262  1 SSA disks not recognized in 4.1.5 NIM bos_inst.
IX67446  1 TTY CONFIGURED AT WRONG PORT AFTER NIM PRESERVATION INSTALL.
%
]
}
	k\      A                                                ./usr            A          A          
k{      A                                                ./usr/lpp                A          A          k2      A                                                ./usr/lpp/bos.sysmgt/bos.sysmgt.nim.spot/4.1.5.2                 A          A          kZ  m          	  ҺI3ͺI3ͺI3   	     ~  	      ./usr/lpp/bos.sysmgt/bos.sysmgt.nim.spot/4.1.5.2/liblpp.a                m          m          <aiaff>
2180        0           68          1534        0           22          190         0           808789913   300         300         640         9   productid `
bos.sysmgt 5765-39300
269         580         68          860468328   300         300         640         29  bos.sysmgt.nim.spot.copyright `
 Licensed Materials - Property of IBM

 576539300
   (C) Copyright International Business Machines Corp. 1993, 1997.

 All rights reserved.
 US Government Users Restricted Rights - Use, duplication or disclosure
 restricted by GSA ADP Schedule Contract with IBM Corp.

 474         1174        190         860469964   300         300         640         29  bos.sysmgt.nim.spot.inventory `
/usr/lib/boot/network/rc.bos_inst:
          owner = root
          group = system
          mode = 555
          type = FILE
          class = apply,inventory,bos.sysmgt.nim.spot
          size = 4716
          checksum = "03117     5 "

/usr/lib/boot/network/rc.diag:
          owner = root
          group = system
          mode = 555
          type = FILE
          class = apply,inventory,bos.sysmgt.nim.spot
          size = 5007
          checksum = "48650     5 "

67          1356        580         860469964   300         300         640         24  bos.sysmgt.nim.spot.size`
/usr/lib/boot/network 32
/usr/lpp/SAVESPACE 32
/usr/lib/objrepos 8
 66          1534        1174        860469964   300         300         640         22  bos.sysmgt.nim.spot.al`
./usr/lib/boot/network/rc.bos_inst
./usr/lib/boot/network/rc.diag
528         2180        1356        860469963   300         300         640         27  bos.sysmgt.nim.spot.fixdata `
fix:
	name = IX65262
	abstract = SSA disks not recognized in 4.1.5 NIM bos_inst.
	type = f
	filesets = "bos.sysmgt.nim.spot:4.1.5.1\n\
"
	symptom = " SSA disks will not be selectable as target disks for a BOS\n\
 install using 4.1.5 NIM.\n\
"

fix:
	name = IX67446
	abstract = TTY CONFIGURED AT WRONG PORT AFTER NIM PRESERVATION INSTALL.
	type = f
	filesets = "bos.sysmgt.nim.spot:4.1.5.2\n\
"
	symptom = " After performing a NIM preservation\n\
 install from 3.2.5 to 4.1.5, tty1\n\
 is left configured on serial port 2.\n\
"

230         0           1534        0           0           0           0           0   `
6           1534        1356        1174        580         190         68          bos.sysmgt.nim.spot.fixdata bos.sysmgt.nim.spot.al bos.sysmgt.nim.spot.size bos.sysmgt.nim.spot.inventory bos.sysmgt.nim.spot.copyright productid     k  m          l  ̺I3I3I3         @  l      ./usr/lib/boot/network/rc.bos_inst               m          m          # @(#)19  1.22.1.8  src/bos/usr/lib/boot/network/rc.bos_inst.sh, cmdnim, bos41M, s9715C1 4/7/97 15:00:44
#
#   COMPONENT_NAME: CMDNIM
#
#   FUNCTIONS: SubSet
#		mount_from_list
#
#   ORIGINS: 27, 83
#
#
#   (C) COPYRIGHT International Business Machines Corp. 1993, 1996
#   All Rights Reserved
#   Licensed Materials - Property of IBM
#   US Government Users Restricted Rights - Use, duplication or
#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
#   LEVEL 1, 5 Years Bull Confidential Information
#
# This script is to be run as a "dot" script from within rc.boot only.
# Function: BOS installation configuration on network booted machine.

# NOTE: Since the rc.diag file is very similar to this file, please check
# to see if changes made to either file are appropriate for the other.

mount_from_list()
{
${NIM_DEBUG}

	# Mount anything else from the info file
	# format of each stanza is:
	#		<hostname>:<remote dir>:<local mntpnt>
	if [ -n "${NIM_MOUNTS}" ]
	then
		${SHOWLED} 0x610
		OIFS="$IFS"
		for mount_args in ${NIM_MOUNTS}
		do
			IFS=':'
			set -- ${mount_args}
			IFS="$OIFS"

			# make sure local mount point exists
			if [ ! -d "${3}" ]
			then
				/SPOT/usr/bin/mkdir -p ${3} || loopled 0x611
			fi

			mount $1:$2 $3 || loopled 0x611

		done
	fi
}

SubSet()
{
set +x

# This function creates links for selected device types and classes.
# This provides a means to control which devices are configured, which
# saves time and system resources.  Links are from the remotely mounted
# filesystem which is mounted over /SPOT to the /usr/lib/methods directory.

for i in 14103c00 33531188 3353c088 3353c188 3353c288 3353c388 8efc 8fba \
	8ff4 ascsi bbl colorgda fd fda fga gga graygda hga hispd3d hscsi \
	ide0 ide1 isa_keyboard keyboard keyboard_2 kma kma_2 lft mint ncr810 \
	nep ppr pscsi rbypci s1a s1a_1 s1a_3 s2a s2a_1 s2a_3 s3a_3 scsi \
	serdasda serdasdc sga sga_bus sio sio_1 sio_2 sio_3 smint ssa ssar \
	sys tty vscsi wfg wga
do
	odmget -q type=$i PdDv
done | egrep "Change|Configure|Define" >/tmp/list1

for i in bus disk keyboard lvm pdisk tape
do
	odmget -q class=$i PdDv
done | egrep "Change|Configure|Define|Unconfigure" >>/tmp/list1

odmget -q "uniquetype = adapter/mca/ppr and attribute = cfg_method_load" PdAt| \
	egrep "values" >> /tmp/list1

odmget -q "uniquetype like adapter/*sio/* and attribute = load_module" PdAt| \
	egrep "values" >> /tmp/list1

# Link over Unconfigure and Undefine methods for
# tty so diagnostics pre-test can cleanup any
# tty ports created during its run

odmget -q"type=tty" PdDv | egrep "Unconfigure" >> /tmp/list1
odmget -q"type=tty" PdDv | egrep "Undefine" >> /tmp/list1

# sort it with unique option to prevent duplicates
sort -u /tmp/list1 |
	awk '$3 != "\"\"" {
		gsub(/"/, "", $3);
		gsub("/etc/", "/usr/lib/", $3);
		print "/SPOT" $3;
	}' > /tmp/list2

rm /tmp/list1
ln -fs $(cat /tmp/list2) /usr/lib/methods
rm /tmp/list2
}

##################### MAIN ########################
#
# -----------------------  PHASE ONE
#
${NIM_DEBUG}

case "$PHASE" in
	1)
	# update the Mstate
	/SPOT/usr/sbin/nimclient -S booting

	mount_from_list
	${SHOWLED} 0x622
set +x
	/SPOT/usr/bin/rm -fr /etc/init /usr/bin /usr/lib/drivers \
		/usr/lib/microcode /usr/lib/netsvc /usr/sbin

	/SPOT/usr/bin/ln -s /SPOT/usr/* /usr
	ln -fs /SPOT/usr/lib/!(libc.a|libs.a) /usr/lib
	ln -s /SPOT/usr/lib/boot/ssh /etc/init
${NIM_DEBUG}

	SubSet
	strload -f /dev/null
	cfgmgr -f -v
	${SHOWLED} 0x622
set +x
	# now link to the full databases
	ln -fs /usr/lib/objrepos/* /etc/objrepos
	ln -s /SPOT/usr/lib/methods/cfgcon /SPOT/usr/lib/methods/startlft \
		/SPOT/usr/lib/methods/starttty /usr/lib/methods
${NIM_DEBUG}
	SubSet
	export DEV_PKGNAME=ALL
	cfgmgr -s -v

	# do this link at the end of this phase because ksh has libs.a
	# open and we don't want multiple copies in memory at the same
	# time.  After this phase ends, init will restart ksh and ksh
	# will load the linked copy and the in-core copy will be removed
	#
	# we cannot do the same thing for libc.a because init has libc.a
	# open and init doesn't get restarted until phase 3 newroot
	ln -fs /SPOT/usr/lib/libs.a.min /usr/lib/libs.a

	${SHOWLED} 0x622
	;;

#
# -----------------------  PHASE TWO
#
	2)

set +x
	unset fd_invoker loopled
	shift $#

	rm -f /sbin/rc.boot

${NIM_DEBUG}

	# set TCP timeouts to reasonable values (default is 2 hours!!!)
	/SPOT/usr/sbin/no -o tcp_keepintvl=150
	/SPOT/usr/sbin/no -o tcp_keepidle=1200

	# the next three lines are only for testing.  for actual installs,
	# these three lines will be replaced by the exec of bi_main
#	/usr/lib/methods/cfgcon
#	PS1='RAMFS> '; export PS1
#	exec /usr/bin/ksh

	${SHOWLED} 0xfff
	exec /usr/lpp/bosinst/bi_main
	;;
esac
ion kn  m            ̺I3I3I3         B        ./usr/lib/boot/network/rc.diag n         m          m          # @(#)78	1.8.1.11  src/bos/usr/lib/boot/network/rc.diag.sh, cmddiag, bos41M, s9715C1 4/7/97 15:00:56
#
#   COMPONENT_NAME: CMDDIAG
#
#   FUNCTIONS: SubSet
#		mount_from_list
#
#   ORIGINS: 27
#
#
#   (C) COPYRIGHT International Business Machines Corp. 1993, 1996
#   All Rights Reserved
#   Licensed Materials - Property of IBM
#   US Government Users Restricted Rights - Use, duplication or
#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
#
# This script is to be run as a "dot" script from within rc.boot only.
# Function: BOS installation configuration on network booted machine.
#

mount_from_list()
{
${NIM_DEBUG}

	# Mount anything else from the info file
	# format of each stanza is:
	#		<hostname>:<remote dir>:<local mntpnt>
	if [ -n "${NIM_MOUNTS}" ]
	then
		${SHOWLED} 0x610
		OIFS="$IFS"
		for mount_args in ${NIM_MOUNTS}
		do
			IFS=':'
			set -- ${mount_args}
			IFS="$OIFS"

			# make sure local mount point exists
			if [ ! -d "${3}" ]
			then
				/SPOT/usr/bin/mkdir -p ${3} || loopled 0x611
			fi

			mount $1:$2 $3 || loopled 0x611

		done
	fi
}

SubSet()
{
set +x

# This function creates links for selected device types and classes.
# This provides a means to control which devices are configured, which
# saves time and system resources.  Links are from the remotely mounted
# filesystem which is mounted over /SPOT to the /usr/lib/methods directory.
#
# NOTE: This list of devices MUST be kept in sync with the other rc.* files
# used for network boot/install.

for i in 14103c00 33531188 3353c088 3353c188 3353c288 3353c388 8efc 8fba \
	8ff4 ascsi bbl colorgda fd fda fga gga graygda hga hispd3d hscsi \
	isa_keyboard keyboard keyboard_2 kma kma_2 lft mint ncr810 nep ppr \
	pscsi rbypci s1a s1a_1 s1a_3 s2a s2a_1 s2a_3 s3a_3 scsi serdasda \
	serdasdc sga sga_bus sio sio_1 sio_2 sio_3 smint ssa ssar sys tty \
	vscsi wga scsd
do
	odmget -q type=$i PdDv
done | egrep "Change|Configure|Define" >/tmp/list1

# Disk, tape and lvm are not included in the following list. The disk and
# tape are configured if not already before testing.

for i in bus keyboard
do
	odmget -q class=$i PdDv
done | egrep "Change|Configure|Define" >>/tmp/list1

odmget -q "attribute = cfg_method_load" PdAt | egrep "values" >> /tmp/list1

odmget -q "uniquetype like adapter/*sio/* and attribute = load_module" PdAt| \
	egrep "values" >> /tmp/list1

# Link over Unconfigure and Undefine methods for
# tty so diagnostics pre-test can cleanup any
# tty ports created during its run

odmget -q"type=tty" PdDv | egrep "Unconfigure" >> /tmp/list1
odmget -q"type=tty" PdDv | egrep "Undefine" >> /tmp/list1

# sort it with unique option to prevent duplicates
sort -u /tmp/list1 |
	awk '$3 != "\"\"" {
		gsub(/"/, "", $3);
		gsub("/etc/", "/usr/lib/", $3);
		print "/SPOT" $3;
	}' > /tmp/list2

rm /tmp/list1
ln -fs $(cat /tmp/list2) /usr/lib/methods
rm /tmp/list2
}

##################### MAIN ########################
#
# -----------------------  PHASE ONE
#
${NIM_DEBUG}

case "$PHASE" in
	1)
	# update the Mstate
	/SPOT/usr/sbin/nimclient -S booting

	mount_from_list
	${SHOWLED} 0x622
set +x
	/SPOT/usr/bin/rm -fr /etc/init /usr/bin /usr/lib/drivers \
		/usr/lib/microcode /usr/lib/netsvc /usr/sbin

	/SPOT/usr/bin/ln -s /SPOT/usr/* /usr
	ln -fs /SPOT/usr/lib/!(libc.a|libs.a) /usr/lib
	ln -s /SPOT/usr/lib/boot/ssh /etc/init
${NIM_DEBUG}

	strload -f /dev/null
	cfgmgr -f -v
	${SHOWLED} 0x622
set +x
	# now link to the full databases
	ln -fs /usr/lib/objrepos/* /etc/objrepos
	ln -s /SPOT/usr/lib/methods/cfgcon /SPOT/usr/lib/methods/startlft \
		/SPOT/usr/lib/methods/starttty /usr/lib/methods
${NIM_DEBUG}
	SubSet
	cfgmgr -s -v
	ln -s /SPOT/usr/lib/methods/* /usr/lib/methods

	# do this link at the end of this phase because ksh has libs.a
	# open and we don't want multiple copies in memory at the same
	# time.  After this phase ends, init will restart ksh and ksh
	# will load the linked copy and the in-core copy will be removed
	#
	# we cannot do the same thing for libc.a because init has libc.a
	# open and init doesn't get restarted until phase 3 newroot
	ln -fs /SPOT/usr/lib/libs.a.min /usr/lib/libs.a

	${SHOWLED} 0x622
	;;

#
# -----------------------  PHASE TWO
#
	2)

set +x
	unset fd_invoker loopled
	shift $#

	rm -f /sbin/rc.boot

	# configure the console and
	# copy the empty diagnostic object classes over to
	# the RAM filesystem from the remotely mounted system.
	# then execute the diagnostic pretests before running diag.
	/usr/lib/methods/cfgcon
	${SHOWLED} 0xfff
	for i in CDiagDev TMInput MenuGoal FRUB FRUs DAVars
	do
		cp /usr/lpp/diagnostics/obj/$i /etc/objrepos/$i
	done
	mkdir -p /etc/lpp/diagnostics/data
	/usr/lib/methods/startrcm >/dev/console 2>&1
	if [ -x /usr/lib/methods/cfggxme ]
	then
		/usr/lib/methods/cfggxme -l gxme0 >/dev/console 2>&1
	fi
	/usr/lib/methods/cfgrcm -l rcm0 >/dev/console 2>&1
	/usr/lpp/diagnostics/bin/diagpt </dev/console >/dev/console 2>&1
	exec /usr/lpp/diagnostics/bin/diagipl </dev/console >/dev/console 2>&1
	;;
esac
"kjr r libc.a because init has libc.a
	# open and init doesn't get restarted until phase 3 newroot
	ln -fs /SPOT/usr/lib/libs.a.min /usr/lib/libs.a

	${SHOWLED} 0x622
	;;

#
# -----------------------  PHASE TWO
#
	2)

set +x
	unset fd_invoker loopled
	shift $#

	rm -f /sbin/rc.boot

	# configure the console and
	# copy the empty diagnostic object classes over to
	# the RAM filesystem from the remotely mounted system.
	# then execute the diagnostic pretests before running diag.
	/usr/lib/methods/cfgcon
	${SHOWLED} 0xfff
	for i in CDiagDev TMInput MenuGoal FRUB FRUs DAVars
	do
		cp /usr/lpp/diagnostics/obj/$i /etc/objrepos/$i
	done