#!/bin/bash # arduino-linux-setup.sh : A simple Arduino setup script for Linux systems # Copyright (C) 2015 Arduino Srl # # Author : Arturo Rinaldi # E-mail : arty.net2@gmail.com # Project URL : https://github.com/artynet/arduino-linux-setup # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Release v10 changelog : # # + Adding support for Slackware # + Changed distribution not supported message # + Changed distribution check sort order (thanks to thenktor @github.com) # + Small fix for ArchLinux # # Release v9 changelog : # # + Adding support for ArchLinux # + Adding support for systemd # + Fixing a couple of wrong kernel entries # # Release v8 changelog : # # + rules are now created in /tmp folder # # Release v7 changelog : # # + Adding project URL # + minor bugfixing # # Release v6 changelog : # # + removing sudocheck function and control # # Release v5 changelog : # # + adding UDEV rule for stm32 DFU mode # # Release v4 changelog : # # + The rules are generated in a temporary folder # # + the user should run it without sudo while having its permissions # # Release v3 changelog : # # + The most common linux distros are now fully supported # # + now the script checks for SUDO permissions # # if [[ $EUID != 0 ]] ; then # echo This must be run as root! # exit 1 # fi refreshudev () { echo "" echo "Restarting udev" echo "" sudo udevadm control --reload-rules sudo udevadm trigger if [ -d /lib/systemd/ ] then sudo systemctl restart systemd-udevd else sudo service udev restart fi } groupsfunc () { echo "" echo "******* Add User to dialout,tty, uucp, plugdev groups *******" echo "" sudo groupadd plugdev sudo groupadd dialout sudo usermod -a -G tty $1 sudo usermod -a -G dialout $1 sudo usermod -a -G uucp $1 sudo usermod -a -G plugdev $1 } acmrules () { echo "" echo "# Setting serial port rules" echo "" cat < /tmp/90-extraacl.rules openocdrules > /tmp/98-openocd.rules avrisprules > /tmp/avrisp.rules dfustm32rules > /tmp/40-dfuse.rules dfuarduino101rules > /tmp/99-arduino-101.rules sudo mv /tmp/*.rules /etc/udev/rules.d/ refreshudev echo "" echo "*********** Please Reboot your system ************" echo "" fi