|
@@ -302,6 +302,15 @@ DATABASE_PASSWORD_FILE=/root/dbpass
|
302
|
302
|
# log file where details of remote backups are stored
|
303
|
303
|
REMOTE_BACKUPS_LOG=/var/log/remotebackups.log
|
304
|
304
|
|
|
305
|
+# Whether to enable wifi (on the BBB via USB)
|
|
306
|
+ENABLE_WIFI="no"
|
|
307
|
+
|
|
308
|
+# ESSID for wifi
|
|
309
|
+WIFI_ESSID=
|
|
310
|
+
|
|
311
|
+# Optional wifi password
|
|
312
|
+WIFI_PASSWORD=
|
|
313
|
+
|
305
|
314
|
# message if something fails to install
|
306
|
315
|
CHECK_MESSAGE="Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list."
|
307
|
316
|
|
|
@@ -372,6 +381,15 @@ function read_configuration {
|
372
|
381
|
if grep -q "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE; then
|
373
|
382
|
LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep "LOCAL_NETWORK_STATIC_IP_ADDRESS" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
374
|
383
|
fi
|
|
384
|
+ if grep -q "ENABLE_WIFI" $CONFIGURATION_FILE; then
|
|
385
|
+ ENABLE_WIFI=$(grep "ENABLE_WIFI" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
386
|
+ fi
|
|
387
|
+ if grep -q "WIFI_PASSWORD" $CONFIGURATION_FILE; then
|
|
388
|
+ WIFI_PASSWORD=$(grep "WIFI_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
389
|
+ fi
|
|
390
|
+ if grep -q "WIFI_ESSID" $CONFIGURATION_FILE; then
|
|
391
|
+ WIFI_ESSID=$(grep "WIFI_ESSID" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
392
|
+ fi
|
375
|
393
|
if grep -q "BACKUP_CERTIFICATE" $CONFIGURATION_FILE; then
|
376
|
394
|
BACKUP_CERTIFICATE=$(grep "BACKUP_CERTIFICATE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
377
|
395
|
fi
|
|
@@ -7004,6 +7022,64 @@ function backup_github_projects {
|
7004
|
7022
|
echo 'backup_github_projects' >> $COMPLETION_FILE
|
7005
|
7023
|
}
|
7006
|
7024
|
|
|
7025
|
+function get_wifi_essid {
|
|
7026
|
+ if [ -f /home/$MY_USERNAME/README ]; then
|
|
7027
|
+ if grep -q "ESSID" /home/$MY_USERNAME/README; then
|
|
7028
|
+ if [ ! $WIFI_ESSID ]; then
|
|
7029
|
+ WIFI_ESSID=$(cat /home/$MY_USERNAME/README | grep "ESSID" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
|
7030
|
+ fi
|
|
7031
|
+ fi
|
|
7032
|
+ fi
|
|
7033
|
+}
|
|
7034
|
+
|
|
7035
|
+function get_wifi_password {
|
|
7036
|
+ if [ -f /home/$MY_USERNAME/README ]; then
|
|
7037
|
+ if grep -q "Wifi password" /home/$MY_USERNAME/README; then
|
|
7038
|
+ if [ ! $WIFI_PASSWORD ]; then
|
|
7039
|
+ WIFI_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "Wifi password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
|
7040
|
+ fi
|
|
7041
|
+ fi
|
|
7042
|
+ fi
|
|
7043
|
+}
|
|
7044
|
+
|
|
7045
|
+function enable_wifi {
|
|
7046
|
+ if grep -Fxq "enable_wifi" $COMPLETION_FILE; then
|
|
7047
|
+ return
|
|
7048
|
+ fi
|
|
7049
|
+ if [[ ENABLE_WIFI != "yes" ]]; then
|
|
7050
|
+ return
|
|
7051
|
+ fi
|
|
7052
|
+ sed -i 's/#auto wlan0/auto wlan0/g' /etc/network/interfaces
|
|
7053
|
+ sed -i 's/#iface wlan0 inet dhcp/iface wlan0 inet dhcp/g' /etc/network/interfaces
|
|
7054
|
+ sed -i 's/# wpa-ssid "essid"/ wpa-ssid "essid"/g' /etc/network/interfaces
|
|
7055
|
+
|
|
7056
|
+ get_wifi_essid
|
|
7057
|
+ get_wifi_password
|
|
7058
|
+
|
|
7059
|
+ # Create an ESSID if one doesn't exist
|
|
7060
|
+ if [ ! $WIFI_ESSID ]; then
|
|
7061
|
+ WIFI_ESSID="Freedom"$(openssl rand -base64 4)
|
|
7062
|
+ sed -i "s/essid/$WIFI_ESSID/g" /etc/network/interfaces
|
|
7063
|
+ fi
|
|
7064
|
+ # Add a password
|
|
7065
|
+ if [ $WIFI_PASSWORD ]; then
|
|
7066
|
+ sed -i 's/# wpa-psk "password"/ wpa-psk "wifipassword"/g' /etc/network/interfaces
|
|
7067
|
+ sed -i "s/wifipassword/$WIFI_PASSWORD/g" /etc/network/interfaces
|
|
7068
|
+ fi
|
|
7069
|
+
|
|
7070
|
+ if ! grep -q "Wifi settings" /home/$MY_USERNAME/README; then
|
|
7071
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
7072
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
7073
|
+ echo 'Wifi Settings' >> /home/$MY_USERNAME/README
|
|
7074
|
+ echo '=============' >> /home/$MY_USERNAME/README
|
|
7075
|
+ echo "ESSID: $WIFI_ESSID" >> /home/$MY_USERNAME/README
|
|
7076
|
+ echo "Wifi password: $WIFI_PASSWORD" >> /home/$MY_USERNAME/README
|
|
7077
|
+ chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
|
7078
|
+ fi
|
|
7079
|
+
|
|
7080
|
+ echo 'enable_wifi' >> $COMPLETION_FILE
|
|
7081
|
+}
|
|
7082
|
+
|
7007
|
7083
|
function install_final {
|
7008
|
7084
|
if grep -Fxq "install_final" $COMPLETION_FILE; then
|
7009
|
7085
|
return
|
|
@@ -7028,6 +7104,7 @@ function install_final {
|
7028
|
7104
|
read_configuration
|
7029
|
7105
|
argument_checks
|
7030
|
7106
|
install_not_on_BBB
|
|
7107
|
+enable_wifi
|
7031
|
7108
|
remove_default_user
|
7032
|
7109
|
configure_firewall
|
7033
|
7110
|
configure_firewall_for_ssh
|