#!/bin/bash
#

#
#
# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# For modifying parameters passed to ttymon, do not edit
# this script. Instead use svccfg(1m) to modify the SMF
# repository. For example:
#
# # svccfg
# svc:> select system/console-login
# svc:/system/console-login> setprop ttymon/terminal_type = "xterm"
# svc:/system/console-login> exit

#PATH=/bin:/usr/sbin:/usr/bin:/usr/local/bin:$PATH
#PATH=/usr/bin:/usr/gnu/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
PATH=/usr/gnu/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export EDITOR=vi
export LOGNAME=root
export HOME=/root
export PS1="\W> "
export TERMINFO=/usr/share/lib/terminfo
#TERMINFO=/usr/gnu/share/terminfo
export TERM=sun-color
#export TERM=xterm-color
#export LANG=en_US.UTF-8
#export LC_ALL=en_US.UTF-8
export LC_ALL=C
export SHELL=/bin/bash
FIRSTSTART=/.dilos-first-start
TRYREBOOT=/.dilos-try-reboot
export PATH EDITOR LOGNAME HOME PS1 TERM TERMINFO SHELL
if test ! -f $FIRSTSTART; then
	unset SUN_PERSONALITY
#	/usr/bin/screen -q -T xterm-color </dev/console >/dev/console 2>&1
	/usr/bin/screen -q </dev/console >/dev/console 2>&1
	/usr/bin/clear >/dev/console
	sleep 1

	if test -f $TRYREBOOT; then
		touch $FIRSTSTART
		cp /usr/sbin/uadmin /uadmin
#		cp /usr/sun/bin/sleep /sleep
		cp /usr/bin/sleep /sleep
		cp /usr/bin/eject /eject
#		cp /usr/sun/bin/true /true
		cp /usr/bin/true /true
		cp /usr/lib/libvolmgt.so.1 /lib
		cp /usr/lib/libshell.so.1 /lib
		cp /usr/lib/libast.so.1 /lib
		cp /usr/lib/libcmd.so.1 /lib
		cp /usr/lib/libdll.so.1 /lib
		cp /usr/lib/libsum.so.1 /lib
		cp /usr/lib/libsmbios.so.1 /lib
		sync
		reboot -qn 2>/dev/null &
		/sleep 1
		/eject -f cdrom 2>/dev/null
		echo "Rebooting into new root filesystem now..." >/dev/msglog
		while /true; do /sleep 1; done
		/uadmin 2 8 2>/dev/null
	fi

	echo >/dev/msglog
	echo "Next options are available:" >/dev/msglog
	echo >/dev/msglog
	echo "  * you may safely reboot now by pressing CTRL-ALT-DEL or" >/dev/msglog
	echo "    login as 'root'(empty password) and type 'reboot' command;" >/dev/msglog
	echo >/dev/msglog
	echo "  * you could login now as 'root'(empty password) and make" >/dev/msglog
	echo "    additional modifications;" >/dev/msglog
	echo >/dev/msglog
	echo "  * you could execute /usr/instarch/distr-install.sh" >/dev/msglog
	echo "    script at anytime to repeat installation procedure;" >/dev/msglog
	echo >/dev/msglog
	echo "              Enjoy! From the DilOS Team." >/dev/msglog
	touch $FIRSTSTART
fi

FMRI=svc:/system/console-login

getproparg() {
	val=`svcprop -p $2 $FMRI`
	[ -n "$val" ] && echo $1 $val
}

args="-g"

val=`svcprop -p ttymon/device $FMRI`
# if this isn't set, recover a little
[ -z "$val" ] && val=/dev/console
args="$args -d $val"

args="$args `getproparg -l ttymon/label`"
args="$args `getproparg -T ttymon/terminal_type`"
args="$args `getproparg -m ttymon/modules`"

val=`svcprop -p ttymon/nohangup $FMRI`
[ "$val" = "true" ] && args="$args -h"

val=`svcprop -p ttymon/timeout $FMRI`
[ -n "$val" -a "$val" != "0" ] && args="$args -t $val"

val=`svcprop -p ttymon/prompt $FMRI`
if [ -n "$val" ]; then
	prompt=`eval echo $val`
	exec /usr/lib/saf/ttymon $args -p "`eval echo $prompt` "
else
	exec /usr/lib/saf/ttymon $args
fi
