Przeglądaj źródła

Merge branch 'stretch' of https://github.com/bashrc/freedombone

Bob Mottram 7 lat temu
rodzic
commit
be89e042c9

+ 46
- 0
src/freedombone-image-customise Wyświetl plik

125
 
125
 
126
 MESH_TEXT_EDITOR='pluma'
126
 MESH_TEXT_EDITOR='pluma'
127
 
127
 
128
+OLSR2_REPO="https://github.com/OLSR/OONF"
129
+OLSR2_COMMIT='81033251c4ee1c5699bfee9d2985112c6266ab0a'
130
+
128
 BMX6_REPO="https://github.com/bmx-routing/bmx6"
131
 BMX6_REPO="https://github.com/bmx-routing/bmx6"
129
 BMX6_COMMIT='39dd1f2d99ac5a3fa28e92f8173c15039132e181'
132
 BMX6_COMMIT='39dd1f2d99ac5a3fa28e92f8173c15039132e181'
130
 
133
 
668
     chroot "$rootdir" systemctl enable meshshutdown
671
     chroot "$rootdir" systemctl enable meshshutdown
669
 }
672
 }
670
 
673
 
674
+install_olsr2() {
675
+    chroot "$rootdir" apt-get -yq install cmake libnl-3-dev
676
+
677
+    git clone $OLSR2_REPO $rootdir/etc/olsr2
678
+
679
+    cat <<EOF > $rootdir/usr/bin/install_olsr2
680
+#!/bin/bash
681
+cd /etc/olsr2
682
+git checkout $OLSR2_COMMIT -b $OLSR2_COMMIT
683
+cd /etc/olsr2/build
684
+cmake ..
685
+make
686
+make install
687
+EOF
688
+    chroot "$rootdir" chmod +x /usr/bin/install_olsr2
689
+    chroot "$rootdir" /usr/bin/install_olsr2
690
+
691
+    if [ ! -f $rootdir/usr/local/sbin/olsrd2_static ]; then
692
+        echo $'Unable to build OLSR2'
693
+        exit 79835392
694
+    fi
695
+
696
+    rm $rootdir/usr/bin/install_olsr2
697
+
698
+    echo '[Unit]' > $rootdir/etc/systemd/system/olsr2.service
699
+    echo 'Description=OLSR2 mesh routing protocol' >> $rootdir/etc/systemd/system/olsr2.service
700
+    echo 'Requires=network.target' >> $rootdir/etc/systemd/system/olsr2.service
701
+    echo 'After=network.target' >> $rootdir/etc/systemd/system/olsr2.service
702
+    echo '' >> $rootdir/etc/systemd/system/olsr2.service
703
+    echo '[Service]' >> $rootdir/etc/systemd/system/olsr2.service
704
+    echo 'Type=forking' >> $rootdir/etc/systemd/system/olsr2.service
705
+    echo 'User=root' >> $rootdir/etc/systemd/system/olsr2.service
706
+    echo 'Group=root' >> $rootdir/etc/systemd/system/olsr2.service
707
+    echo 'ExecStart=/usr/local/sbin/olsrd2_static wlan0' >> $rootdir/etc/systemd/system/olsr2.service
708
+    echo 'ExecStop=/usr/bin/kill -15 $MAINPID' >> $rootdir/etc/systemd/system/olsr2.service
709
+    echo 'PIDFile=/var/run/olsr2/pid' >> $rootdir/etc/systemd/system/olsr2.service
710
+    echo 'Restart=on-failure' >> $rootdir/etc/systemd/system/olsr2.service
711
+    echo '' >> $rootdir/etc/systemd/system/olsr2.service
712
+    echo '[Install]' >> $rootdir/etc/systemd/system/olsr2.service
713
+    echo 'WantedBy=multi-user.target' >> $rootdir/etc/systemd/system/olsr2.service
714
+}
715
+
671
 install_bmx6() {
716
 install_bmx6() {
672
     git clone $BMX6_REPO $rootdir/etc/bmx6
717
     git clone $BMX6_REPO $rootdir/etc/bmx6
673
 
718
 
853
     install_batman
898
     install_batman
854
     install_bmx6
899
     install_bmx6
855
     install_bmx7
900
     install_bmx7
901
+    install_olsr2
856
     mesh_shutdown_script
902
     mesh_shutdown_script
857
     install_vpn
903
     install_vpn
858
     install_tomb
904
     install_tomb

+ 4
- 0
src/freedombone-image-mesh Wyświetl plik

1423
     systemctl disable bmx7
1423
     systemctl disable bmx7
1424
     echo $'BMX7 disabled' >> $INSTALL_LOG
1424
     echo $'BMX7 disabled' >> $INSTALL_LOG
1425
 
1425
 
1426
+    systemctl stop olsr2
1427
+    systemctl disable olsr2
1428
+    echo $'OLSR2 disabled' >> $INSTALL_LOG
1429
+
1426
     #tomb slam all
1430
     #tomb slam all
1427
     tmp_ram_disk 100
1431
     tmp_ram_disk 100
1428
     enable_predictable_device_names
1432
     enable_predictable_device_names

+ 14
- 2
src/freedombone-mesh-batman Wyświetl plik

54
 
54
 
55
     if grep -q "bmx6" $MESH_CURRENT_PROTOCOL; then
55
     if grep -q "bmx6" $MESH_CURRENT_PROTOCOL; then
56
         bmx6 -c show=originators
56
         bmx6 -c show=originators
57
-    else
57
+    fi
58
+    if grep -q "bmx7" $MESH_CURRENT_PROTOCOL; then
58
         bmx7 -c show=originators
59
         bmx7 -c show=originators
59
     fi
60
     fi
60
 }
61
 }
71
 
72
 
72
     systemctl stop bmx6
73
     systemctl stop bmx6
73
     systemctl stop bmx7
74
     systemctl stop bmx7
75
+    systemctl stop olsr2
74
     systemctl disable bmx6
76
     systemctl disable bmx6
75
     systemctl disable bmx7
77
     systemctl disable bmx7
78
+    systemctl disable olsr2
76
     systemctl stop dnsmasq
79
     systemctl stop dnsmasq
77
     systemctl disable dnsmasq
80
     systemctl disable dnsmasq
78
 
81
 
206
 
209
 
207
     sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx6 dev=${IFACE}|g" /etc/systemd/system/bmx6.service
210
     sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx6 dev=${IFACE}|g" /etc/systemd/system/bmx6.service
208
     sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx7 dev=${IFACE}|g" /etc/systemd/system/bmx7.service
211
     sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx7 dev=${IFACE}|g" /etc/systemd/system/bmx7.service
212
+    sed -i "s|ExecStart=.*|ExecStart=/usr/local/sbin/olsrd2_static ${IFACE}|g" /etc/systemd/system/olsr2.service
209
     systemctl daemon-reload
213
     systemctl daemon-reload
210
 
214
 
211
     add_wifi_interface $IFACE $WIFI_SSID ad-hoc $CHANNEL
215
     add_wifi_interface $IFACE $WIFI_SSID ad-hoc $CHANNEL
229
 
233
 
230
             sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx6 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx6.service
234
             sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx6 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx6.service
231
             sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx7 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx7.service
235
             sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx7 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx7.service
236
+            sed -i "s|ExecStart=.*|ExecStart=/usr/local/sbin/olsrd2_static ${IFACE} ${EIFACE}|g" /etc/systemd/system/olsr2.service
232
             systemctl daemon-reload
237
             systemctl daemon-reload
233
         else
238
         else
234
             echo $"$EIFACE is not connected"
239
             echo $"$EIFACE is not connected"
255
     if grep -q "bmx6" $MESH_DEFAULT_PROTOCOL; then
260
     if grep -q "bmx6" $MESH_DEFAULT_PROTOCOL; then
256
         systemctl enable bmx6
261
         systemctl enable bmx6
257
         systemctl restart bmx6
262
         systemctl restart bmx6
258
-    else
263
+    fi
264
+
265
+    if grep -q "bmx7" $MESH_DEFAULT_PROTOCOL; then
259
         systemctl enable bmx7
266
         systemctl enable bmx7
260
         systemctl restart bmx7
267
         systemctl restart bmx7
261
     fi
268
     fi
262
 
269
 
270
+    if grep -q "olsr" $MESH_DEFAULT_PROTOCOL; then
271
+        systemctl enable olsr2
272
+        systemctl restart olsr2
273
+    fi
274
+
263
     systemctl restart avahi-daemon
275
     systemctl restart avahi-daemon
264
 
276
 
265
     verify
277
     verify