diff --git a/userspace/rootfs_override/etc/init.d/hald.sh b/userspace/rootfs_override/etc/init.d/hald.sh new file mode 100755 index 0000000000000000000000000000000000000000..57b11a65f42e9a560cb772186ed8295b1721627c --- /dev/null +++ b/userspace/rootfs_override/etc/init.d/hald.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +dotconfig=/wr/etc/dot-config + +start() { + echo -n "Starting HAL daemon: " + + if [ -f $dotconfig ]; then + . $dotconfig + else + echo "$0 unable to source dot-config ($dotconfig)!" + fi + + WRS_LOG=$CONFIG_WRS_LOG_HAL + + # if empty turn it to /dev/null + if [ -z $WRS_LOG ]; then + WRS_LOG="/dev/null"; + fi + + # if a pathname, use it + if echo "$WRS_LOG" | grep / > /dev/null; then + eval LOGPIPE=\" \> $WRS_LOG 2\>\&1 \"; + else + # not a pathname: use verbatim + eval LOGPIPE=\" 2\>\&1 \| logger -t wr-switch -p $WRS_LOG\" + fi + +# be carefull with pidof, no running script should have the same name as process + if pidof wrsw_hal > /dev/null; then + # wrsw_hal already running + echo "Failed (already running?)" + else + eval /wr/bin/wrsw_hal $LOGPIPE \& + echo "OK" + fi +} + +stop() { + echo -n "Stopping HAL " + start-stop-daemon -K -q --exec /wr/bin/wrsw_hal + if [ $? -eq 0 ]; then + echo "OK" + else + echo "Failed" + fi +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/userspace/rootfs_override/etc/init.d/ppsi.sh b/userspace/rootfs_override/etc/init.d/ppsi.sh new file mode 100755 index 0000000000000000000000000000000000000000..65e0c714cad851d5f283a25c7a98c6dfd88af0bd --- /dev/null +++ b/userspace/rootfs_override/etc/init.d/ppsi.sh @@ -0,0 +1,68 @@ +#!/bin/sh + +dotconfig=/wr/etc/dot-config + +start() { + echo -n "Starting PTP daemon: " + + if [ -f $dotconfig ]; then + . $dotconfig + else + echo "$0 unable to source dot-config ($dotconfig)!" + fi + + WRS_LOG=$CONFIG_WRS_LOG_PTP + + # if empty turn it to /dev/null + if [ -z $WRS_LOG ]; then + WRS_LOG="/dev/null"; + fi + + # if a pathname, use it + if echo "$WRS_LOG" | grep / > /dev/null; then + eval LOGPIPE=\" \> $WRS_LOG 2\>\&1 \"; + else + # not a pathname: use verbatim + eval LOGPIPE=\" 2\>\&1 \| logger -t wr-switch -p $WRS_LOG\" + fi + +# be carefull with pidof, no running script should have the same name as process + if pidof ppsi > /dev/null; then + # ppsi already running + echo "Failed (already running?)" + else + eval /wr/bin/ppsi $LOGPIPE \& + echo "OK" + fi +} + +stop() { + echo -n "Stopping PTP: " + start-stop-daemon -K -q --exec /wr/bin/ppsi + if [ $? -eq 0 ]; then + echo "OK" + else + echo "Failed" + fi +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/userspace/rootfs_override/etc/init.d/rtud.sh b/userspace/rootfs_override/etc/init.d/rtud.sh new file mode 100755 index 0000000000000000000000000000000000000000..8ae637f7c380c69810ba4e70cdaf0da2e4aa2182 --- /dev/null +++ b/userspace/rootfs_override/etc/init.d/rtud.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +dotconfig=/wr/etc/dot-config + +start() { + echo -n "Starting RTUd daemon: " + + if [ -f $dotconfig ]; then + . $dotconfig + else + echo "$0 unable to source dot-config ($dotconfig)!" + fi + + WRS_LOG=$CONFIG_WRS_LOG_RTU + + # if empty turn it to /dev/null + if [ -z $WRS_LOG ]; then + WRS_LOG="/dev/null"; + fi + + # if a pathname, use it + if echo "$WRS_LOG" | grep / > /dev/null; then + eval LOGPIPE=\" \> $WRS_LOG 2\>\&1 \"; + else + # not a pathname: use verbatim + eval LOGPIPE=\" 2\>\&1 \| logger -t wr-switch -p $WRS_LOG\" + fi + +# be carefull with pidof, no running script should have the same name as process + if pidof rtud > /dev/null; then + # rtud already running + echo "Failed (already running?)" + else + eval /wr/bin/wrsw_rtud $LOGPIPE \& + # ensure we receive UDP PTP frames, since ppsi supports UDP too. + /wr/bin/rtu_stat add 01:00:5e:00:01:81 18 0 & + echo "OK" + fi +} + +stop() { + echo -n "Stopping RTUd " + start-stop-daemon -K -q --exec /wr/bin/wrsw_rtud + if [ $? -eq 0 ]; then + echo "OK" + else + echo "Failed" + fi +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo $"Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/userspace/rootfs_override/etc/rcS/S61hald.sh b/userspace/rootfs_override/etc/rcS/S61hald.sh new file mode 120000 index 0000000000000000000000000000000000000000..e053cc418657034efde4254575cc6721f891606b --- /dev/null +++ b/userspace/rootfs_override/etc/rcS/S61hald.sh @@ -0,0 +1 @@ +../init.d/hald.sh \ No newline at end of file diff --git a/userspace/rootfs_override/etc/rcS/S61ppsi.sh b/userspace/rootfs_override/etc/rcS/S61ppsi.sh new file mode 120000 index 0000000000000000000000000000000000000000..8aaeeadb998c77940c428f426b1da70c7627dee5 --- /dev/null +++ b/userspace/rootfs_override/etc/rcS/S61ppsi.sh @@ -0,0 +1 @@ +../init.d/ppsi.sh \ No newline at end of file diff --git a/userspace/rootfs_override/etc/rcS/S61rtud.sh b/userspace/rootfs_override/etc/rcS/S61rtud.sh new file mode 120000 index 0000000000000000000000000000000000000000..33886d42571d177d16fdaa3c06db677d20bcb3cb --- /dev/null +++ b/userspace/rootfs_override/etc/rcS/S61rtud.sh @@ -0,0 +1 @@ +../init.d/rtud.sh \ No newline at end of file diff --git a/userspace/rootfs_override/wr/bin/apply_dot-config b/userspace/rootfs_override/wr/bin/apply_dot-config index 1e8bd49237ba41e34a2442279873e1818879e910..b1608f4a34af71761162d29859fa140c64b7680f 100755 --- a/userspace/rootfs_override/wr/bin/apply_dot-config +++ b/userspace/rootfs_override/wr/bin/apply_dot-config @@ -80,14 +80,6 @@ set | tr -d \' | grep CONFIG_SNMP | sed 's/=/ /' | while read varname value; do done copy_conf /wr/etc/snmpd.conf -# Fix log values -cp /wr/sbin/start-daemons.sh.in $T -set | tr -d \' | grep CONFIG_WRS_LOG | sed 's/=/ /' | while read varname value; do - if [ -z "$value" ]; then continue; fi - sed -i "/$varname/ s,$varname,$value," $T -done -copy_conf /wr/sbin/start-daemons.sh - # Select a ppsi configuration file if [ "$CONFIG_PTP_PORT_PARAMS" = "y" ]; then /wr/bin/assembly_ppsi_conf.sh diff --git a/userspace/rootfs_override/wr/sbin/start-daemons.sh.in b/userspace/rootfs_override/wr/sbin/start-daemons.sh.in deleted file mode 100755 index c01cc9bf34b1b0fefc815ce9cb8645efc9f2455a..0000000000000000000000000000000000000000 --- a/userspace/rootfs_override/wr/sbin/start-daemons.sh.in +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/ash -echo "Starting up WR daemons..." - -# The following variables are modified at build time, with Kconfig values -LOG_HAL=CONFIG_WRS_LOG_HAL -LOG_RTU=CONFIG_WRS_LOG_RTU -LOG_PTP=CONFIG_WRS_LOG_PTP - -# The loop below is a little intricate because of the eval, but I need it this -# to have pipe and file as both supported. -# Also, to have both stdout and stderr, we need "2>&1" before the pipe, but -# after the file redirection (why????) - -for n in HAL RTU PTP; do - # if empty turn it to /dev/null - if eval test -z "\$LOG_$n"; then LOG_$n="/dev/null"; fi - # if a pathname, use it - eval value="\$LOG_$n" - if echo "$value" | grep / > /dev/null; then - eval LOGPIPE_$n=\" \> $value 2\>\&1 \"; - continue; - fi - # not a pathname: use verbatim - eval LOGPIPE_$n=\" 2\>\&1 \| logger -t wr-switch -p $value\" -done - -export WR_HOME="/wr" - -eval $WR_HOME/bin/wrsw_hal $LOGPIPE_HAL \& -eval $WR_HOME/bin/wrsw_rtud $LOGPIPE_RTU \& -eval $WR_HOME/bin/ppsi $LOGPIPE_PTP \& - -# ensure we receive UDP PTP frames, since ppsi supports UDP too. -$WR_HOME/bin/rtu_stat add 01:00:5e:00:01:81 18 0 & - diff --git a/userspace/rootfs_override/wr/sbin/startup-mb.sh b/userspace/rootfs_override/wr/sbin/startup-mb.sh index 55753f35ed0ff94bfa004286a95a2a1c0f19c089..1a5712c50cfb9a9c573c1a2c84fb7163ae103b31 100755 --- a/userspace/rootfs_override/wr/sbin/startup-mb.sh +++ b/userspace/rootfs_override/wr/sbin/startup-mb.sh @@ -62,5 +62,4 @@ insmod $WR_HOME/lib/modules/wr-nic.ko macaddr=$val insmod $WR_HOME/lib/modules/wr_rtu.ko insmod $WR_HOME/lib/modules/wr_pstats.ko pstats_nports=18 insmod $WR_HOME/lib/modules/wr_clocksource.ko -$WR_HOME/sbin/start-daemons.sh