1
0
Files
irix-657m-src/eoe/cmd/initpkg/init.d/sn0start
2022-09-29 17:59:04 +03:00

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