Browse Source

wifi configuration for image builds

Bob Mottram 7 years ago
parent
commit
d37241040b
1 changed files with 39 additions and 10 deletions
  1. 39
    10
      src/freedombone-image-customise

+ 39
- 10
src/freedombone-image-customise View File

@@ -485,19 +485,48 @@ configure_wifi() {
485 485
         return
486 486
     fi
487 487
 
488
-    if [ -f $WIFI_NETWORKS_FILE ]; then
489
-        chroot "$rootdir" ${PROJECT_NAME}-wifi --networks $WIFI_NETWORKS_FILE
490
-        return
491
-    fi
488
+    wifi_setup_service=setupwififirstboot
489
+    wifi_setup_file=$rootdir/root/setup_wifi_firstboot
490
+    echo '#!/bin/bash' > $wifi_setup_file
492 491
 
493
-    if [[ $WIFI_TYPE != 'none' ]]; then
494
-        if [ ${#WIFI_PASSPHRASE} -lt 2 ]; then
495
-            return
496
-        fi
497
-        chroot "$rootdir" ${PROJECT_NAME}-wifi -s $WIFI_SSID -t $WIFI_TYPE -p $WIFI_PASSPHRASE --hotspot $WIFI_HOTSPOT
492
+    if [ -f $WIFI_NETWORKS_FILE ]; then
493
+        echo "${PROJECT_NAME}-wifi --networks $WIFI_NETWORKS_FILE" >> $wifi_setup_file
498 494
     else
499
-        chroot "$rootdir" ${PROJECT_NAME}-wifi -s $WIFI_SSID -t $WIFI_TYPE --hotspot $WIFI_HOTSPOT
495
+        if [[ $WIFI_TYPE != 'none' ]]; then
496
+            if [ ${#WIFI_PASSPHRASE} -lt 2 ]; then
497
+                return
498
+            fi
499
+            echo "${PROJECT_NAME}-wifi -s $WIFI_SSID -t $WIFI_TYPE -p $WIFI_PASSPHRASE --hotspot $WIFI_HOTSPOT" >> $wifi_setup_file
500
+        else
501
+            echo "${PROJECT_NAME}-wifi -s $WIFI_SSID -t $WIFI_TYPE --hotspot $WIFI_HOTSPOT" >> $wifi_setup_file
502
+        fi
500 503
     fi
504
+
505
+    echo "systemctl stop ${wifi_setup_service}" >> $wifi_setup_file
506
+    echo "systemctl disable ${wifi_setup_service}" >> $wifi_setup_file
507
+    echo "rm /etc/systemd/system/${wifi_setup_service}.service" >> $wifi_setup_file
508
+    echo 'systemctl reboot -i' >> $wifi_setup_file
509
+    chmod +x $wifi_setup_file
510
+
511
+
512
+    echo '[Unit]' > $rootdir/etc/systemd/system/${wifi_setup_service}.service
513
+    echo 'Description=Initial wifi configuration' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
514
+    echo 'After=syslog.target' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
515
+    echo 'After=network.target' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
516
+    echo '' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
517
+    echo '[Service]' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
518
+    echo 'Type=simple' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
519
+    echo 'User=root' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
520
+    echo 'Group=root' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
521
+    echo 'WorkingDirectory=/root' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
522
+    echo "ExecStart=/root/setup_wifi_firstboot > /var/log/wifi_setup.log" >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
523
+    echo '' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
524
+    echo 'TimeoutSec=99999' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
525
+    echo '' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
526
+    echo '[Install]' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
527
+    echo 'WantedBy=multi-user.target' >> $rootdir/etc/systemd/system/${wifi_setup_service}.service
528
+    chmod +x $rootdir/etc/systemd/system/${wifi_setup_service}.service
529
+    chroot "$rootdir" systemctl enable ${wifi_setup_service}
501 530
 }
502 531
 
503 532
 ##############################################################################