Austin Schuh | a617d03 | 2017-09-14 00:06:59 -0700 | [diff] [blame] | 1 | #!/bin/bash |
Austin Schuh | f4fd6a9 | 2018-09-16 16:31:12 -0700 | [diff] [blame] | 2 | # |
| 3 | # Note: this should be run from within bazel |
| 4 | |
Lee Mracek | 3126dc4 | 2018-06-18 04:44:39 -0400 | [diff] [blame] | 5 | set -Eeuo pipefail |
Austin Schuh | a617d03 | 2017-09-14 00:06:59 -0700 | [diff] [blame] | 6 | |
| 7 | if [ $# != 1 ]; |
| 8 | then |
Michael Schuh | e2baf9c | 2018-05-31 16:32:46 -1000 | [diff] [blame] | 9 | echo "# setup_robot.sh is used to configure a newly flashed roboRIO" |
| 10 | echo "" |
| 11 | echo "Usage: setup_roborio.sh 10.9.71.2" |
| 12 | echo "" |
| 13 | echo "# or if that does not work, try" |
| 14 | echo "" |
| 15 | echo "Usage: setup_roborio.sh roboRIO-971-frc.local" |
Austin Schuh | a617d03 | 2017-09-14 00:06:59 -0700 | [diff] [blame] | 16 | exit 1 |
| 17 | fi |
| 18 | |
| 19 | readonly ROBOT_HOSTNAME="$1" |
| 20 | |
Austin Schuh | cb09171 | 2018-02-21 20:01:55 -0800 | [diff] [blame] | 21 | echo "Looking to see if l is aliased right." |
Lee Mracek | 3126dc4 | 2018-06-18 04:44:39 -0400 | [diff] [blame] | 22 | |
Austin Schuh | f4fd6a9 | 2018-09-16 16:31:12 -0700 | [diff] [blame] | 23 | if ! HAS_ALIAS=$(ssh "admin@${ROBOT_HOSTNAME}" "cat /etc/profile"); then |
Lee Mracek | 3126dc4 | 2018-06-18 04:44:39 -0400 | [diff] [blame] | 24 | echo "ssh command failed remotely" |
| 25 | exit 1 |
Austin Schuh | f4fd6a9 | 2018-09-16 16:31:12 -0700 | [diff] [blame] | 26 | elif echo "${HAS_ALIAS}" | grep -Fq "alias l"; then |
Austin Schuh | a617d03 | 2017-09-14 00:06:59 -0700 | [diff] [blame] | 27 | echo "Already has l alias" |
| 28 | else |
| 29 | echo "Adding l alias" |
| 30 | ssh "admin@${ROBOT_HOSTNAME}" 'echo "alias l=\"ls -la\"" >> /etc/profile' |
Michael Schuh | e2baf9c | 2018-05-31 16:32:46 -1000 | [diff] [blame] | 31 | echo "Adding symbolic link to loging directory" |
| 32 | ssh "admin@${ROBOT_HOSTNAME}" ln -s /media/sda1 logs |
Austin Schuh | c0ec2a8 | 2022-02-24 17:26:29 -0800 | [diff] [blame^] | 33 | ssh "admin@${ROBOT_HOSTNAME}" mkdir bin |
| 34 | ssh "admin@${ROBOT_HOSTNAME}" ln -s /media/sda1/aos_log-current bin/aos_log-current |
Tyler Chatow | b8fa290 | 2020-10-31 14:58:58 -0700 | [diff] [blame] | 35 | echo "Adding aos_dump autocomplete to profile" |
Austin Schuh | c0ec2a8 | 2022-02-24 17:26:29 -0800 | [diff] [blame^] | 36 | ssh "admin@${ROBOT_HOSTNAME}" 'echo "if [ -f /home/admin/bin/aos_dump_autocomplete.sh ]; then source /home/admin/bin/aos_dump_autocomplete.sh; fi;" >> /etc/profile' |
| 37 | ssh "admin@${ROBOT_HOSTNAME}" 'echo "export PATH=\"\${PATH}:/home/admin/bin\"" >> /etc/profile' |
Austin Schuh | a617d03 | 2017-09-14 00:06:59 -0700 | [diff] [blame] | 38 | fi |
| 39 | |
Tyler Chatow | 03fdb2a | 2020-12-26 18:39:36 -0800 | [diff] [blame] | 40 | ssh "admin@${ROBOT_HOSTNAME}" "sed -i 's/vm\.overcommit_memory=2/vm\.overcommit_memory=0/' /etc/sysctl.conf" |
| 41 | |
Austin Schuh | c2f05dc | 2021-03-06 23:05:09 -0800 | [diff] [blame] | 42 | ssh "admin@${ROBOT_HOSTNAME}" 'echo "vm.min_free_kbytes=4000" >> /etc/sysctl.conf' |
Austin Schuh | 17ceb5c | 2020-11-21 17:25:00 -0800 | [diff] [blame] | 43 | |
Austin Schuh | 9950f68 | 2021-11-06 15:27:58 -0700 | [diff] [blame] | 44 | ssh "admin@${ROBOT_HOSTNAME}" 'sed -i -e "s/^StartupDLLs/;StartupDLLs/" /etc/natinst/share/ni-rt.ini' |
Austin Schuh | b591709 | 2020-02-21 17:56:41 -0800 | [diff] [blame] | 45 | |
Tyler Chatow | e45e977 | 2018-10-27 20:11:40 -0700 | [diff] [blame] | 46 | # This fails if the code isn't running. |
| 47 | ssh "admin@${ROBOT_HOSTNAME}" 'PATH="${PATH}":/usr/local/natinst/bin/ /usr/local/frc/bin/frcKillRobot.sh -r -t' || true |
Austin Schuh | a617d03 | 2017-09-14 00:06:59 -0700 | [diff] [blame] | 48 | |
| 49 | echo "Deploying robotCommand startup script" |
James Kuszmaul | 5c22e08 | 2019-12-14 20:43:07 -0800 | [diff] [blame] | 50 | scp frc971/config/robotCommand "admin@${ROBOT_HOSTNAME}:/home/lvuser/" |