diff --git a/arduino-linux-setup-15.sh b/arduino-linux-setup-15.sh new file mode 100644 index 0000000..f0aa3f6 --- /dev/null +++ b/arduino-linux-setup-15.sh @@ -0,0 +1,382 @@ +#!/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 v15 changelog : +# +# + Fixed the bug that can't uninstall ModemManager and install uucp in openSUSE +# +# Release v14 changelog : +# +# + Installing uucp package for different Linux distros +# + Rewriting UDEV rule for STM32 bootloader mode +# +# Release v13 changelog : +# +# + Disabling serial port HW flow +# +# Release v12 changelog : +# +# + Improving rules for DFU mode +# +# Release v11 changelog : +# +# + Fixing ModemManager removal for Fedora Core +# + Adding Atmel ICE Debugger CMSIS-DAP rule +# +# 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 +# + +#!/bin/bash + +# 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 tty + sudo groupadd dialout + sudo groupadd uucp + sudo groupadd plugdev + + 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 + + usbgenericrules > /tmp/00-usb-permissions.rules + + hardwareflowdisable > /tmp/uucp-port + + sudo mv /tmp/*.rules /etc/udev/rules.d/ + + sudo mv /tmp/uucp-port /etc/uucp/port + + refreshudev + + echo "" + echo "*********** Please Reboot your system ************" + echo "" +fi