90 lines
1.9 KiB
Bash
Executable File
90 lines
1.9 KiB
Bash
Executable File
#! /sbin/sh
|
|
#Tag 0x00000f00
|
|
|
|
# SN0 System Startup
|
|
# "$Revision: 1.15 $"
|
|
|
|
IS_ON=/sbin/chkconfig
|
|
MMSCD=/usr/etc/mmscd
|
|
CLSHMCTL=/usr/etc/clshmctl
|
|
|
|
case "$1" in
|
|
'start')
|
|
# Retrieve messages from the IP27 PROM Log
|
|
|
|
/usr/sbin/sn0log -s -a
|
|
|
|
# (Re)start the multi-module system controller daemon.
|
|
#
|
|
# Note: the daemon probes to determines if an MMSC is present, and
|
|
# exits if not. If no MMSC is present, the probing process results
|
|
# in an MMSC "ping" command being sent to the console, consisting of
|
|
# the characters 0xa0 0x00 0x00 0x00 0xa0.
|
|
#
|
|
# The following check skips mmscd if running on an Origin200.
|
|
|
|
if [ `ls -d /hw/module/*/slot/MotherBoard 2>/dev/null | wc -l` = 0 ]
|
|
then
|
|
killall -k 3 mmscd
|
|
|
|
if $IS_ON mmscd; then
|
|
if $IS_ON verbose; then
|
|
echo "System controller daemons: mmscd."
|
|
fi
|
|
|
|
MFLAGS=""
|
|
|
|
if $IS_ON cleanpowerdown ; then MFLAGS="${MFLAGS} -g"; fi
|
|
if $IS_ON cpumeter ; then MFLAGS="${MFLAGS} -m"; fi
|
|
if [ -f /usr/gfx/gfxinit ]; then MFLAGS="${MFLAGS} -G"; fi
|
|
|
|
if [ `nvram console` != d ]; then
|
|
MFLAGS="${MFLAGS} -c /dev/ttyd1"
|
|
fi
|
|
|
|
/sbin/suattr -C CAP_SCHED_MGT,CAP_DEVICE_MGT+ip \
|
|
-c "${MMSCD} ${MFLAGS} -t 'System activity for `hostname`'"
|
|
sleep 1; echo "\r\c"
|
|
fi
|
|
|
|
|
|
# Starts up the craylink shared memory daemon.
|
|
# since placed the enclosing "if" doesn't get run on o200s
|
|
|
|
${CLSHMCTL} shutdown > /dev/null 2>&1
|
|
|
|
if $IS_ON clshmd; then
|
|
if $IS_ON verbose; then
|
|
echo "Craylink shared memory daemon: clshmd."
|
|
fi
|
|
|
|
/sbin/suattr -C CAP_SCHED_MGT,CAP_DEVICE_MGT+ip \
|
|
-c "${CLSHMCTL} startup"
|
|
sleep 1; echo "\r\c"
|
|
fi
|
|
|
|
fi
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
'stop')
|
|
# Stop the system controller daemon
|
|
|
|
# /sbin/scmsg "System coming down.."
|
|
|
|
killall -TERM -k 3 mmscd
|
|
|
|
# Stop the craylink shared memory daemon
|
|
${CLSHMCTL} shutdown > /dev/null 2>&1
|
|
|
|
exit 0
|
|
;;
|
|
|
|
*)
|
|
echo "usage: $0 {start|stop}"
|
|
;;
|
|
|
|
esac
|