Mercurial > hg > beaglert
diff scripts/set_startup.sh @ 62:a11e23f4e6af newapi
Added script options for running in a loop at startup (needs further support for stopping) and running the project in the foreground
author | andrewm |
---|---|
date | Wed, 15 Jul 2015 19:40:15 +0100 |
parents | ad6b2767beaf |
children | abd7795dad5d |
line wrap: on
line diff
--- a/scripts/set_startup.sh Wed Jul 15 19:09:18 2015 +0100 +++ b/scripts/set_startup.sh Wed Jul 15 19:40:15 2015 +0100 @@ -7,6 +7,7 @@ BBB_PATH="/root/BeagleRT" ENABLE_STARTUP=1 COMMAND_ARGS= +RUN_IN_LOOP=0 # This path is hard-coded in the BeagleRT image at present. BBB_STARTUP_SCRIPT="/root/BeagleRT_startup.sh" @@ -14,19 +15,21 @@ function usage { THIS_SCRIPT=`basename "$0"` - echo "Usage: $THIS_SCRIPT [-b path-on-beaglebone] [-c command-line-args] [-n]" + echo "Usage: $THIS_SCRIPT [-b path-on-beaglebone] [-c command-line-args] [-n] [-l]" echo " This script enables (by default) or disables running the BeagleRT project at startup. The -n option disables auto-startup, otherwise auto-startup is enabled. The -b option changes the default path, which is otherwise $BBB_PATH. The -c option passes command-line arguments to - the BeagleRT program; enclose the argument string in quotes." + the BeagleRT program; enclose the argument string in quotes. + The -l option runs the BeagleRT program in a loop, restarting + automatically in the event of a crash." } OPTIND=1 -while getopts "b:c:nh" opt; do +while getopts "b:c:nlh" opt; do case $opt in b) BBB_PATH=$OPTARG ;; @@ -34,6 +37,8 @@ ;; n) ENABLE_STARTUP=0 ;; + l) RUN_IN_LOOP=1 + ;; h|\?) usage exit 1 esac @@ -53,12 +58,19 @@ else echo "Enabling BeagleRT at startup..." + + SCRIPT_PRERUN= + SCRIPT_POSTRUN= + if [ $RUN_IN_LOOP -ne 0 ] ; then + SCRIPT_PRERUN="bash -c \\\"while true ; do" + SCRIPT_POSTRUN=" ; done \\\" " + fi ssh $BBB_ADDRESS "echo \"#!/bin/sh # # This file is autogenerated by BeagleRT. Do not edit! echo Running BeagleRT... -screen -S BeagleRT -d -m $BBB_PATH/BeagleRT $COMMAND_ARGS\" > $BBB_STARTUP_SCRIPT" +screen -S BeagleRT -d -m $SCRIPT_PRERUN $BBB_PATH/BeagleRT $COMMAND_ARGS $SCRIPT_POSTRUN\" > $BBB_STARTUP_SCRIPT" fi \ No newline at end of file