#!/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