aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/install-beaglebone.sh
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-07-05 13:21:02 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-07-05 14:21:32 -0400
commit2d173f51b1531ffbde3723655bae0adb9bca5ecb (patch)
tree781921bb209c5b116b8bf0c0bd7f5869734f9cbd /scripts/install-beaglebone.sh
parentb32ba3727bf6b07bb1099cde694f9d55081855ca (diff)
downloadkutter-2d173f51b1531ffbde3723655bae0adb9bca5ecb.tar.gz
kutter-2d173f51b1531ffbde3723655bae0adb9bca5ecb.tar.xz
kutter-2d173f51b1531ffbde3723655bae0adb9bca5ecb.zip
pru: Add documentation and install scripts for running on the PRU
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'scripts/install-beaglebone.sh')
-rwxr-xr-xscripts/install-beaglebone.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/scripts/install-beaglebone.sh b/scripts/install-beaglebone.sh
new file mode 100755
index 00000000..209f6948
--- /dev/null
+++ b/scripts/install-beaglebone.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+# This script installs Klipper on a Beaglebone running Debian Jessie
+# for use with its PRU micro-controller.
+
+# Step 1: Do main install
+install_main()
+{
+ # Run the octopi script - raspbian is close enough to debian for
+ # this to work.
+ ${SRCDIR}/scripts/install-octopi.sh
+}
+
+# Step 2: Install additional system packages
+install_packages()
+{
+ # Install desired packages
+ PKGLIST="gcc-pru"
+
+ report_status "Installing beaglebone packages..."
+ sudo apt-get install --yes ${PKGLIST}
+}
+
+# Step 3: Install startup script
+install_script()
+{
+ report_status "Installing pru start script..."
+ sudo cp "${SRCDIR}/scripts/klipper-pru-start.sh" /etc/init.d/klipper_pru
+ sudo update-rc.d klipper_pru defaults
+}
+
+# Step 4: Install pru udev rule
+install_udev()
+{
+ report_status "Installing pru udev rule..."
+ sudo /bin/sh -c "cat > /etc/udev/rules.d/pru.rules" <<EOF
+KERNEL=="rpmsg_pru30", MODE="0666"
+EOF
+}
+
+# Helper functions
+report_status()
+{
+ echo -e "\n\n###### $1"
+}
+
+verify_ready()
+{
+ if [ "$EUID" -eq 0 ]; then
+ echo "This script must not run as root"
+ exit -1
+ fi
+}
+
+# Force script to exit if an error occurs
+set -e
+
+# Find SRCDIR from the pathname of this script
+SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
+
+# Run installation steps defined above
+verify_ready
+install_main
+install_packages
+install_script
+install_udev