diff options
Diffstat (limited to 'scripts/install-beaglebone.sh')
-rwxr-xr-x | scripts/install-beaglebone.sh | 65 |
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 |