-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup-olsr.sh
executable file
·84 lines (73 loc) · 2.5 KB
/
setup-olsr.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/env sh
# determine whether we are on a NUC or on a TPLINK
opkg_path=`which opkg`
if [ -z "$opkg_path" ]; then
sudo apt-get install -y git cmake
if [ ! -d OONF ]; then
git clone https://github.com/AdvancedNetworkingSystems/OONF.git
cd OONF
#git checkout netjsoninfo-fix-disable-mpr-plugin
git checkout v0.14.1
mkdir -p build
cd build
cmake ..
make -j 4
cd ../..
fi
if [ -L /usr/sbin/olsrd2_static ]; then
sudo rm /usr/sbin/olsrd2_static
sudo rm /usr/sbin/olsrd2_dynamic
fi
sudo ln -s $PWD/OONF/build/olsrd2_static /usr/sbin/olsrd2_static
sudo ln -s $PWD/OONF/build/olsrd2_dynamic /usr/sbin/olsrd2_dynamic
# In order to use the remotecontrol plugin (required for the config
# command) the olsrd2 service must call olsrd2_dynamic
cat OONF/src/olsrd2/debian/olsrd2.init | sed \
-e 's/^DAEMON=.*$/DAEMON=\/usr\/bin\/olsrd2_dynamic/' > \
/tmp/olsrd2.init
sudo mv /tmp/olsrd2.init /etc/init.d/olsrd2
cat OONF/src/olsrd2/debian/olsrd2.service | sed \
-e 's/\(^.*\)olsrd2_static\(.*$\)/\1olsrd2_dynamic\2/' > \
/tmp/olsrd2.service
sudo mv /tmp/olsrd2.service /etc/systemd/system/
# sudo cp OONF/src/olsrd2/debian/olsrd2.init /etc/init.d/olsrd2
# sudo cp OONF/src/olsrd2/debian/olsrd2.service /etc/systemd/system/
sudo mkdir -p /etc/olsrd2/
sudo cp olsrd2.conf /etc/olsrd2/
sudo /bin/systemctl daemon-reload
if [ ! -d olsrd ]; then
# required to build all plugins
sudo apt-get install -y libgps-dev
git clone https://github.com/AdvancedNetworkingSystems/olsrd.git
cd olsrd
# tc validiy x10, hello validity x10
git checkout poprow
# tc validity x60, hello validity x10
# git checkout poprow_validity
# tc validity x3, hello validity 3x
# git checkout poprow_validity_x3
# tc validity default, hello validity x10
# git checkout 9e38e425173050f62b4f38c2029a1c8c80df3471
# tc validity x30, hello validity x10
# git checkout poprow_tc_validity_x30
make -j 4 build_all
sudo cp lib/*/*.so.* /usr/local/lib
cd ..
fi
if [ -L /usr/sbin/olsrd ]; then
sudo rm /usr/sbin/olsrd
fi
sudo ln -s $PWD/olsrd/olsrd /usr/sbin/olsrd
sudo cp olsrd.service /etc/systemd/system
sudo mkdir -p /etc/olsrd/
sudo cp olsrd.conf /etc/olsrd/
sudo /bin/systemctl daemon-reload
else
olsrd2_path=`which olsrd2`
if [ "$olsrd2_path" == "" ]; then
opkg install oonf-init-scripts_2016-05-31_ar71xx.ipk
opkg install oonf-olsrd2-git_2016-05-31_ar71xx.ipk
ln -s /usr/sbin/olsrd2 /usr/sbin/olsrd2_dynamic
fi
sed -i -e "s/--load.*$/--load \/root\/olsrd2.conf/g" /lib/functions/oonf_init.sh
fi