andrewm@59
|
1 #!/bin/bash
|
andrewm@59
|
2 #
|
andrewm@59
|
3 # This script enables or disables running BeagleRT when the board starts
|
andrewm@59
|
4 # up.
|
andrewm@59
|
5
|
andrewm@59
|
6 BBB_ADDRESS="root@192.168.7.2"
|
andrewm@59
|
7 BBB_PATH="/root/BeagleRT"
|
andrewm@59
|
8 ENABLE_STARTUP=1
|
andrewm@60
|
9 COMMAND_ARGS=
|
andrewm@62
|
10 RUN_IN_LOOP=0
|
andrewm@59
|
11
|
andrewm@59
|
12 # This path is hard-coded in the BeagleRT image at present.
|
andrewm@59
|
13 BBB_STARTUP_SCRIPT="/root/BeagleRT_startup.sh"
|
andrewm@59
|
14
|
andrewm@59
|
15 function usage
|
andrewm@59
|
16 {
|
andrewm@59
|
17 THIS_SCRIPT=`basename "$0"`
|
andrewm@62
|
18 echo "Usage: $THIS_SCRIPT [-b path-on-beaglebone] [-c command-line-args] [-n] [-l]"
|
andrewm@59
|
19
|
andrewm@59
|
20 echo "
|
andrewm@59
|
21 This script enables (by default) or disables running the BeagleRT
|
andrewm@59
|
22 project at startup. The -n option disables auto-startup, otherwise
|
andrewm@59
|
23 auto-startup is enabled. The -b option changes the default path, which
|
andrewm@60
|
24 is otherwise $BBB_PATH. The -c option passes command-line arguments to
|
andrewm@62
|
25 the BeagleRT program; enclose the argument string in quotes.
|
andrewm@62
|
26 The -l option runs the BeagleRT program in a loop, restarting
|
andrewm@62
|
27 automatically in the event of a crash."
|
andrewm@59
|
28 }
|
andrewm@59
|
29
|
andrewm@59
|
30 OPTIND=1
|
andrewm@59
|
31
|
andrewm@62
|
32 while getopts "b:c:nlh" opt; do
|
andrewm@59
|
33 case $opt in
|
andrewm@59
|
34 b) BBB_PATH=$OPTARG
|
andrewm@59
|
35 ;;
|
andrewm@60
|
36 c) COMMAND_ARGS=$OPTARG
|
andrewm@60
|
37 ;;
|
andrewm@59
|
38 n) ENABLE_STARTUP=0
|
andrewm@59
|
39 ;;
|
andrewm@62
|
40 l) RUN_IN_LOOP=1
|
andrewm@62
|
41 ;;
|
andrewm@59
|
42 h|\?) usage
|
andrewm@59
|
43 exit 1
|
andrewm@59
|
44 esac
|
andrewm@59
|
45 done
|
andrewm@59
|
46
|
andrewm@59
|
47 shift $((OPTIND-1))
|
andrewm@59
|
48
|
andrewm@59
|
49 if [ $ENABLE_STARTUP -eq 0 ]
|
andrewm@59
|
50 then
|
andrewm@59
|
51 echo "Disabling BeagleRT at startup..."
|
andrewm@59
|
52
|
andrewm@59
|
53 ssh $BBB_ADDRESS "echo \"#!/bin/sh
|
andrewm@59
|
54 #
|
andrewm@59
|
55 # This file is autogenerated by BeagleRT. Do not edit!
|
andrewm@59
|
56
|
andrewm@59
|
57 # Run on startup disabled -- nothing to do here\" > $BBB_STARTUP_SCRIPT"
|
andrewm@59
|
58
|
andrewm@59
|
59 else
|
andrewm@59
|
60 echo "Enabling BeagleRT at startup..."
|
andrewm@62
|
61
|
andrewm@62
|
62 SCRIPT_PRERUN=
|
andrewm@62
|
63 SCRIPT_POSTRUN=
|
andrewm@62
|
64 if [ $RUN_IN_LOOP -ne 0 ] ; then
|
giuliomoro@328
|
65 SCRIPT_PRERUN="bash -c \\\"while sleep 0.5 ; do"
|
andrewm@62
|
66 SCRIPT_POSTRUN=" ; done \\\" "
|
andrewm@62
|
67 fi
|
andrewm@59
|
68
|
andrewm@59
|
69 ssh $BBB_ADDRESS "echo \"#!/bin/sh
|
andrewm@59
|
70 #
|
andrewm@59
|
71 # This file is autogenerated by BeagleRT. Do not edit!
|
andrewm@59
|
72
|
andrewm@59
|
73 echo Running BeagleRT...
|
andrewm@62
|
74 screen -S BeagleRT -d -m $SCRIPT_PRERUN $BBB_PATH/BeagleRT $COMMAND_ARGS $SCRIPT_POSTRUN\" > $BBB_STARTUP_SCRIPT"
|
andrewm@59
|
75
|
giuliomoro@328
|
76 fi
|