Kaynağa Gözat

Convert babel to systemd

Bob Mottram 9 yıl önce
ebeveyn
işleme
95d20e1597
1 değiştirilmiş dosya ile 26 ekleme ve 14 silme
  1. 26
    14
      src/freedombone

+ 26
- 14
src/freedombone Dosyayı Görüntüle

@@ -1670,19 +1670,32 @@ function mesh_babel {
1670 1670
   fi
1671 1671
   apt-get -y install babeld
1672 1672
 
1673
-  numarray=( 1 2 3 4 5 6 7 8 9 0 )
1674
-  a=${numarray[$RANDOM%2]}${numarray[$RANDOM%10]}${numarray[$RANDOM%10]}
1675
-  b=${numarray[$RANDOM%2]}${numarray[$RANDOM%10]}${numarray[$RANDOM%10]}
1676
-  echo '#!/bin/sh' > /usr/bin/mesh-babel
1677
-  echo 'systemctl stop networking' >> /usr/bin/mesh-babel
1678
-  echo 'ifconfig wlan0 down' >> /usr/bin/mesh-babel
1679
-  echo 'iwconfig wlan0 mode ad-hoc channel 11 essid “mesh"' >> /usr/bin/mesh-babel
1680
-  echo 'ifconfig wlan0 up' >> /usr/bin/mesh-babel
1681
-  echo 'avahi-autoipd wlan0' >> /usr/bin/mesh-babel
1682
-  echo "ifconfig wlan0:avahi 192.168.$a.$b netmask 255.255.255.0 broadcast 192.168.13.255" >> /usr/bin/mesh-babel
1683
-  echo "babeld -D wlan0:avahi -p $BABEL_PORT -d 5 wlan0" >> /usr/bin/mesh-babel
1684
-  echo 'exit 0' >> /usr/bin/mesh-babel
1685
-  chmod +x /usr/bin/mesh-babel
1673
+  babel_script=/var/lib/babel
1674
+
1675
+  echo '#!/bin/sh' > $babel_script
1676
+  echo 'systemctl stop networking' >> $babel_script
1677
+  echo 'ifconfig wlan0 down' >> $babel_script
1678
+  echo "iwconfig wlan0 mode ad-hoc channel $WIFI_CHANNEL essid \"$ESSID\"" >> $babel_script
1679
+  echo 'ifconfig wlan0 up' >> $babel_script
1680
+  echo 'avahi-autoipd wlan0' >> $babel_script
1681
+  echo -n "ifconfig wlan0:avahi $LOCAL_NETWORK_STATIC_IP_ADDRESS netmask " >> $babel_script
1682
+  echo '255.255.255.0 broadcast 192.168.13.255' >> $babel_script
1683
+  echo "babeld -D wlan0:avahi -p $BABEL_PORT -d 5 wlan0" >> $babel_script
1684
+  echo 'exit 0' >> $babel_script
1685
+  chmod +x $babel_script
1686
+
1687
+  echo '[Unit]' > /etc/systemd/system/babel.service
1688
+  echo 'Description=Babel Mesh' >> /etc/systemd/system/babel.service
1689
+  echo '' >> /etc/systemd/system/babel.service
1690
+  echo '[Service]' >> /etc/systemd/system/babel.service
1691
+  echo 'Type=oneshot' >> /etc/systemd/system/babel.service
1692
+  echo "ExecStart=$babel_script start" >> /etc/systemd/system/babel.service
1693
+  echo "ExecStop=$babel_script stop" >> /etc/systemd/system/babel.service
1694
+  echo 'RemainAfterExit=yes' >> /etc/systemd/system/babel.service
1695
+  echo '' >> /etc/systemd/system/babel.service
1696
+  echo '[Install]' >> /etc/systemd/system/babel.service
1697
+  echo 'WantedBy=multi-user.target' >> /etc/systemd/system/babel.service
1698
+  systemctl enable babel
1686 1699
 
1687 1700
   echo 'mesh_babel' >> $COMPLETION_FILE
1688 1701
 }
@@ -1834,7 +1847,6 @@ function mesh_batman_bridge {
1834 1847
   echo '[Install]' >> /etc/systemd/system/batman.service
1835 1848
   echo 'WantedBy=multi-user.target' >> /etc/systemd/system/batman.service
1836 1849
   systemctl enable batman
1837
-  systemctl daemon-reload
1838 1850
 
1839 1851
   if ! grep -q "Mesh Networking (B.A.T.M.A.N)" /home/$MY_USERNAME/README; then
1840 1852
       echo '' >> /home/$MY_USERNAME/README