-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmmdvm_novalidation.sh
193 lines (182 loc) · 6 KB
/
mmdvm_novalidation.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "Questo script deve essere eseguito come root ( sudo ./mmdvm_novalidation.sh )" 1>&2
exit 1
fi
echo "
**********************************************************************************
*****IU7IGU-CISARLecce & DIGILAND GROUP MMDVM-NOValidation Script for PI-STAR*****
**********************************************************************************
**********************************************************************************
******************************TOOLz for PI-STAR MENU'*****************************
**********************************************************************************
"
display=false
permanent=false
pistar-reset(){
systemctl stop pistar-watchdog.timer
systemctl stop pistar-watchdog
systemctl stop mmdvmhost.timer
systemctl stop mmdvmhost
echo "Processi di PI-STAR fermati"
echo "Ripristino il pistar-update"
rm /usr/local/sbin/pistar-update
cd /usr/local/sbin/
wget https://raw.githubusercontent.com/AndyTaylorTweet/Pi-Star_Binaries_sbin/master/pistar-update -O pistar-update > /dev/null 2>&1
chmod +x /usr/local/sbin/pistar-update
echo "Ora puoi aggiornare il sistema"
systemctl start pistar-watchdog.timer
systemctl start pistar-watchdog
systemctl start mmdvmhost.timer
systemctl start mmdvmhost
echo "Processi di PI-STAR riavviati"
}
mmdvm_novalidation(){
systemctl stop pistar-watchdog.timer
systemctl stop pistar-watchdog
systemctl stop mmdvmhost.timer
systemctl stop mmdvmhost
echo "Processi di PI-STAR fermati"
echo "Scarico i file necessari --->"
echo "Download MMDVMHost"
git clone https://github.com/g4klx/MMDVMHost.git > /dev/null 2>&1
if [ -f DStarControl.cpp ]; then
rm DStarControl.cpp
fi
if $permanent; then
echo "Download Pistar-update modificato"
if [ -f pistar-update-mod* ]; then
rm pistar-update-mod*
fi
if [[ $2 == "hd" && -n "$2" ]]; then
wget https://raw.githubusercontent.com/iu7igu/pistar-novalidation/master/pistar-update-mod-hd -O pistar-update-mod-hd > /dev/null 2>&1
rm /usr/local/sbin/pistar-update
mv pistar-update-mod-hd /usr/local/sbin/pistar-update
chmod +x /usr/local/sbin/pistar-update
else
wget https://raw.githubusercontent.com/iu7igu/pistar-novalidation/master/pistar-update-mod -O pistar-update-mod > /dev/null 2>&1
rm /usr/local/sbin/pistar-update
mv pistar-update-mod /usr/local/sbin/pistar-update
chmod +x /usr/local/sbin/pistar-update
fi
fi
echo "Download DStarControl.cpp per il NOValidation"
wget https://raw.githubusercontent.com/iu7igu/pistar-novalidation/master/DStarControl.cpp -O DStarControl.cpp > /dev/null 2>&1
if [ -f ok.rules ]; then
rm ok.rules
fi
echo "Download file rules per abilitare le porte USB/AMA/ACM"
wget https://raw.githubusercontent.com/iu7igu/pistar-novalidation/master/ok.rules -O ok.rules > /dev/null 2>&1
mv DStarControl.cpp MMDVMHost/DStarControl.cpp
cd MMDVMHost
if $display; then
echo "Compilo MMDVMHost con supporto per HD44780"
echo
make clean > /dev/null 2>&1
make -f Makefile.Pi.HD44780
else
echo "Compilo MMDVMHost"
echo
make clean > /dev/null 2>&1
make -f Makefile.Pi.OLED
fi
echo "Sostituzione MMDVMHost e rules con backup"
cd /usr/local/bin/
echo "Muovo MMDVMHost"
if [ -f MMDVMHost ]; then
cp MMDVMHost MMDVMHost.bak
cd /home/pi-star/MMDVMHost
mv MMDVMHost /usr/local/bin/
else
cd /home/pi-star/MMDVMHost
mv MMDVMHost /usr/local/bin/
fi
cd /etc/udev/rules.d/
echo "Muovo il file Rules"
if [ -f 99-com.rules ]; then
cp 99-com.rules 99-com.rules.bak
rm 99-com.rules
cd /home/pi-star/
mv ok.rules /etc/udev/rules.d/99-com.rules
else
cd /home/pi-star/
mv ok.rules /etc/udev/rules.d/99-com.rules
fi
echo "Installazione completata, rimuovo i file scaricati"
rm -r /home/pi-star/MMDVMHost
systemctl start pistar-watchdog.timer
systemctl start pistar-watchdog
systemctl start mmdvmhost.timer
systemctl start mmdvmhost
echo "Processi di PI-STAR riavviati"
}
if [[ $1 == "up" && -n "$1" ]]; then
if [[ $2 == "hd" && -n "$2" ]]; then
display=true
fi
permanent=true
mmdvm_novalidation
else
PS3="Scegli tra le varie opzioni: "
options=("Installa MMDVM-NOValidation" "Installa MMDVM-NOValidation con supporto per HD44780" "Installa MMDVM-NOValidation in modo permanente" "Installa MMDVM-NOValidation con supporto per HD44780 in modo permanente" "Ripristina Pistar-Update" "Cambia server DMRIds.dat (Anti-GDPR)" "Riavvia" "!!Esci!!")
select opt in "${options[@]}"
do
case $opt in
"Installa MMDVM-NOValidation")
echo "Installo MMDVM-NOValidation";
display=false
mmdvm_novalidation
break
;;
"Installa MMDVM-NOValidation con supporto per HD44780")
echo "Installo MMDVM-NOValidation con supporto per HD44780"
display=true
mmdvm_novalidation
break
;;
"Ripristina Pistar-Update")
echo "Resetto il Pistar-Update"
pistar-reset
break
;;
"Installa MMDVM-NOValidation in modo permanente")
echo "Installo MMDVM-NOValidation in modo permanente"
display=false
permanent=true
mmdvm_novalidation
break
;;
"Installa MMDVM-NOValidation con supporto per HD44780 in modo permanente")
echo "Installo MMDVM-NOValidation con supporto per HD44780"
display=true
permanent=true
mmdvm_novalidation
break
;;
"Cambia server DMRIds.dat (Anti-GDPR)")
echo "Sostituisco il file HostFilesUpdate.sh"
wget http://iu7igummdvm.duckdns.org/mmdvm/HostFilesUpdate.sh > /dev/null
mv HostFilesUpdate.sh /usr/local/sbin/HostFilesUpdate.sh
cd /usr/local/sbin/
chmod +x HostFilesUpdate.sh
echo "Aggiorno il file DMRIds.dat dal server americano"
./HostFilesUpdate.sh
echo
echo "I NOMINATIVI SARANNO VISUALIZZATI AL RIAVVIO DEL SISTEMA"
echo
break
;;
"Riavvia")
read -p "Ho finito di installare tutto, posso riavviare ora? Y/N" -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]];then
/sbin/reboot
fi
break
;;
"!!Esci!!")
break
;;
*) echo "Scelta non valida";;
esac
done
fi