blob: 5e3e8af5940dffeefb2e7505018a7eca0beeedbe [file] [log] [blame]
Austin Schuha617d032017-09-14 00:06:59 -07001#!/bin/bash
Austin Schuhf4fd6a92018-09-16 16:31:12 -07002#
3# Note: this should be run from within bazel
Ravago Jonesa66eed22022-11-26 15:35:36 -08004# and before /home/admin/bin is created by :download_stripped
Austin Schuhf4fd6a92018-09-16 16:31:12 -07005
Lee Mracek3126dc42018-06-18 04:44:39 -04006set -Eeuo pipefail
Austin Schuha617d032017-09-14 00:06:59 -07007
8if [ $# != 1 ];
9then
Michael Schuhe2baf9c2018-05-31 16:32:46 -100010 echo "# setup_robot.sh is used to configure a newly flashed roboRIO"
11 echo ""
12 echo "Usage: setup_roborio.sh 10.9.71.2"
13 echo ""
14 echo "# or if that does not work, try"
15 echo ""
16 echo "Usage: setup_roborio.sh roboRIO-971-frc.local"
Austin Schuha617d032017-09-14 00:06:59 -070017 exit 1
18fi
19
20readonly ROBOT_HOSTNAME="$1"
21
Austin Schuhcb091712018-02-21 20:01:55 -080022echo "Looking to see if l is aliased right."
Lee Mracek3126dc42018-06-18 04:44:39 -040023
Austin Schuhf4fd6a92018-09-16 16:31:12 -070024if ! HAS_ALIAS=$(ssh "admin@${ROBOT_HOSTNAME}" "cat /etc/profile"); then
Lee Mracek3126dc42018-06-18 04:44:39 -040025 echo "ssh command failed remotely"
26 exit 1
Austin Schuhf4fd6a92018-09-16 16:31:12 -070027elif echo "${HAS_ALIAS}" | grep -Fq "alias l"; then
Austin Schuha617d032017-09-14 00:06:59 -070028 echo "Already has l alias"
29else
30 echo "Adding l alias"
31 ssh "admin@${ROBOT_HOSTNAME}" 'echo "alias l=\"ls -la\"" >> /etc/profile'
Michael Schuhe2baf9c2018-05-31 16:32:46 -100032 echo "Adding symbolic link to loging directory"
33 ssh "admin@${ROBOT_HOSTNAME}" ln -s /media/sda1 logs
Austin Schuhc0ec2a82022-02-24 17:26:29 -080034 ssh "admin@${ROBOT_HOSTNAME}" mkdir bin
35 ssh "admin@${ROBOT_HOSTNAME}" ln -s /media/sda1/aos_log-current bin/aos_log-current
Tyler Chatowb8fa2902020-10-31 14:58:58 -070036 echo "Adding aos_dump autocomplete to profile"
Austin Schuhc0ec2a82022-02-24 17:26:29 -080037 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'
38 ssh "admin@${ROBOT_HOSTNAME}" 'echo "export PATH=\"\${PATH}:/home/admin/bin\"" >> /etc/profile'
Austin Schuha617d032017-09-14 00:06:59 -070039fi
40
Tyler Chatow03fdb2a2020-12-26 18:39:36 -080041ssh "admin@${ROBOT_HOSTNAME}" "sed -i 's/vm\.overcommit_memory=2/vm\.overcommit_memory=0/' /etc/sysctl.conf"
42
Austin Schuhc2f05dc2021-03-06 23:05:09 -080043ssh "admin@${ROBOT_HOSTNAME}" 'echo "vm.min_free_kbytes=4000" >> /etc/sysctl.conf'
Austin Schuh17ceb5c2020-11-21 17:25:00 -080044
Austin Schuh9950f682021-11-06 15:27:58 -070045ssh "admin@${ROBOT_HOSTNAME}" 'sed -i -e "s/^StartupDLLs/;StartupDLLs/" /etc/natinst/share/ni-rt.ini'
Austin Schuhb5917092020-02-21 17:56:41 -080046
Tyler Chatowe45e9772018-10-27 20:11:40 -070047# This fails if the code isn't running.
48ssh "admin@${ROBOT_HOSTNAME}" 'PATH="${PATH}":/usr/local/natinst/bin/ /usr/local/frc/bin/frcKillRobot.sh -r -t' || true
Austin Schuha617d032017-09-14 00:06:59 -070049
50echo "Deploying robotCommand startup script"
James Kuszmaul5c22e082019-12-14 20:43:07 -080051scp frc971/config/robotCommand "admin@${ROBOT_HOSTNAME}:/home/lvuser/"