Skip to content

Instantly share code, notes, and snippets.

@mansouryaacoubi
Last active May 11, 2018 17:30
Show Gist options
  • Save mansouryaacoubi/253fd2f90f949d1a86614f11e7def613 to your computer and use it in GitHub Desktop.
Save mansouryaacoubi/253fd2f90f949d1a86614f11e7def613 to your computer and use it in GitHub Desktop.
Configure RPi (Setup)
#!/bin/bash
# @author Mansour Yaacoubi
# @filename config-rpi.sh
################# CHECK WHETHER SCRIPT IS RUNNING AS ROOT #################
# Run script as root (higher privileges)
if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit 1
else
clear
echo
echo "Script is running with higher privileges as: $SUDO_USER -> $(whoami)"
echo
fi
DEFAULT_USER='pi'
dlfilename='dl-tools.sh'
NEW_USER=''
WIFI_NAME=''
WIFI_KEY=''
if [ "$SUDO_USER" == "$DEFAULT_USER" ];then
if [ ! -z $1 ];then
NEW_USER="$1"
else
echo "Enter new username: "
read NEW_USER
fi
echo "add new user $NEW_USER"
adduser $NEW_USER
adduser $NEW_USER sudo
reboot
else
echo "Enter WIFI SSID: "
read WIFI_NAME
echo "Enter WIFI Key: "
read WIFI_KEY
echo ""
echo "1) delete old user $DEFAULT_USER"
deluser $DEFAULT_USER
rm -r /home/$DEFAULT_USER
echo "2) configure raspi"
raspi-config
echo "3) add WIFI $WIFI_NAME"
wpa_passphrase "$WIFI_NAME" "$WIFI_KEY" >> /etc/wpa_supplicant/wpa_supplicant.conf
sleep 3
wpa_cli reconfigure
wget -q --tries=10 --timeout=20 --spider http://google.com
if [[ $? -eq 0 ]]; then
echo "Raspi Online"
echo "4) download tools"
bash <(curl -s https://gist.githubusercontent.com/mansouryaacoubi/0582fe108f699956c677b95e24c71e9a/raw/73c7ce97257eb76a4d2c3a1b4c7243f8efdf0355/dl-tools.sh)
else
echo "Raspi is offline. Tools can be downloaded after reboot".
echo "#!/bin/bash" > $dlfilename
echo "" >> $dlfilename
echo "cd ~" >> $dlfilename
echo "rm -f "$0 >> $dlfilename
echo "bash <(curl -s https://gist.githubusercontent.com/mansouryaacoubi/0582fe108f699956c677b95e24c71e9a/raw/73c7ce97257eb76a4d2c3a1b4c7243f8efdf0355/dl-tools.sh)" >> $dlfilename
chmod +x $dlfilename
fi
rm -f /boot/$(basename $0)
reboot
fi
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment