|
@@ -111,148 +111,148 @@ WIFI_HOTSPOT='no'
|
111
|
111
|
WIFI_NETWORKS_FILE=~/${PROJECT_NAME}-wifi.cfg
|
112
|
112
|
|
113
|
113
|
mesh_router_setup_script() {
|
114
|
|
- # create a setup script for a mesh router
|
115
|
|
- mesh_script_filename=$1
|
116
|
|
- echo "MY_USERNAME=${USERNAME}" > $mesh_script_filename
|
117
|
|
- echo "DEFAULT_DOMAIN_NAME=${USERNAME}" >> $mesh_script_filename
|
118
|
|
- echo 'SYSTEM_TYPE=mesh' >> $mesh_script_filename
|
119
|
|
- echo 'INSTALLING_ON_BBB=no' >> $mesh_script_filename
|
120
|
|
- echo 'USB_DRIVE=/dev/sda1' >> $mesh_script_filename
|
121
|
|
- echo 'DDNS_PROVIDER=' >> $mesh_script_filename
|
122
|
|
- echo 'DDNS_USERNAME=' >> $mesh_script_filename
|
123
|
|
- echo 'DDNS_PASSWORD=' >> $mesh_script_filename
|
124
|
|
- echo 'DEFAULT_LANGUAGE=en_GB.UTF-8' >> $mesh_script_filename
|
125
|
|
- echo 'MY_EMAIL_ADDRESS=' >> $mesh_script_filename
|
126
|
|
- echo 'ENABLE_CJDNS=no' >> $mesh_script_filename
|
127
|
|
- echo 'ENABLE_BATMAN=yes' >> $mesh_script_filename
|
128
|
|
- echo 'ENABLE_BABEL=no' >> $mesh_script_filename
|
129
|
|
- echo 'DEBIAN_REPO=' >> $mesh_script_filename
|
130
|
|
- echo 'NAMESERVER1=' >> $mesh_script_filename
|
131
|
|
- echo 'NAMESERVER2=' >> $mesh_script_filename
|
132
|
|
- echo 'BATMAN_CELLID=any' >> $mesh_script_filename
|
133
|
|
- echo 'WIFI_CHANNEL=9' >> $mesh_script_filename
|
|
114
|
+ # create a setup script for a mesh router
|
|
115
|
+ mesh_script_filename=$1
|
|
116
|
+ echo "MY_USERNAME=${USERNAME}" > $mesh_script_filename
|
|
117
|
+ echo "DEFAULT_DOMAIN_NAME=${USERNAME}" >> $mesh_script_filename
|
|
118
|
+ echo 'SYSTEM_TYPE=mesh' >> $mesh_script_filename
|
|
119
|
+ echo 'INSTALLING_ON_BBB=no' >> $mesh_script_filename
|
|
120
|
+ echo 'USB_DRIVE=/dev/sda1' >> $mesh_script_filename
|
|
121
|
+ echo 'DDNS_PROVIDER=' >> $mesh_script_filename
|
|
122
|
+ echo 'DDNS_USERNAME=' >> $mesh_script_filename
|
|
123
|
+ echo 'DDNS_PASSWORD=' >> $mesh_script_filename
|
|
124
|
+ echo 'DEFAULT_LANGUAGE=en_GB.UTF-8' >> $mesh_script_filename
|
|
125
|
+ echo 'MY_EMAIL_ADDRESS=' >> $mesh_script_filename
|
|
126
|
+ echo 'ENABLE_CJDNS=no' >> $mesh_script_filename
|
|
127
|
+ echo 'ENABLE_BATMAN=yes' >> $mesh_script_filename
|
|
128
|
+ echo 'ENABLE_BABEL=no' >> $mesh_script_filename
|
|
129
|
+ echo 'DEBIAN_REPO=' >> $mesh_script_filename
|
|
130
|
+ echo 'NAMESERVER1=' >> $mesh_script_filename
|
|
131
|
+ echo 'NAMESERVER2=' >> $mesh_script_filename
|
|
132
|
+ echo 'BATMAN_CELLID=any' >> $mesh_script_filename
|
|
133
|
+ echo 'WIFI_CHANNEL=9' >> $mesh_script_filename
|
134
|
134
|
}
|
135
|
135
|
|
136
|
136
|
while [[ $# > 1 ]]
|
137
|
137
|
do
|
138
|
|
- key="$1"
|
139
|
|
-
|
140
|
|
- case $key in
|
141
|
|
- -h|--help)
|
142
|
|
- show_help
|
143
|
|
- ;;
|
144
|
|
- -c|--config)
|
145
|
|
- shift
|
146
|
|
- CONFIG_FILENAME="$1"
|
147
|
|
- if [ ! -f $CONFIG_FILENAME ]; then
|
148
|
|
- echo $"Config file $CONFIG_FILENAME not found"
|
149
|
|
- exit 3
|
150
|
|
- fi
|
151
|
|
- DEFAULT_DOMAIN_NAME=$(cat $CONFIG_FILENAME | grep 'DEFAULT_DOMAIN_NAME' | awk -F '=' '{print $2}')
|
152
|
|
- ;;
|
153
|
|
- -t|--target|--board)
|
154
|
|
- shift
|
155
|
|
- IMAGE_TYPE="$1"
|
156
|
|
- ;;
|
157
|
|
- -u|--user|--username)
|
158
|
|
- shift
|
159
|
|
- USERNAME="$1"
|
160
|
|
- ;;
|
161
|
|
- -p|--password)
|
162
|
|
- shift
|
163
|
|
- PASSWORD="$1"
|
164
|
|
- if [ ${#PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
|
165
|
|
- echo $"Your password chould contain at least ${MINIMUM_PASSWORD_LENGTH} characters"
|
166
|
|
- exit 3628
|
167
|
|
- fi
|
168
|
|
- ;;
|
169
|
|
- --sshkey|--sshpubkey|--pubkey)
|
170
|
|
- shift
|
171
|
|
- SSH_PUBKEY="$1"
|
172
|
|
- ;;
|
173
|
|
- -s|--size)
|
174
|
|
- shift
|
175
|
|
- IMAGE_SIZE="$1"
|
176
|
|
- ;;
|
177
|
|
- # Box static IP address on the LAN
|
178
|
|
- --ip)
|
179
|
|
- shift
|
180
|
|
- BOX_IP_ADDRESS="$1"
|
181
|
|
- ;;
|
182
|
|
- # Router IP address on the LAN
|
183
|
|
- --iprouter)
|
184
|
|
- shift
|
185
|
|
- ROUTER_IP_ADDRESS="$1"
|
186
|
|
- ;;
|
187
|
|
- # nameserver 1
|
188
|
|
- --ns1|--nameserver1)
|
189
|
|
- shift
|
190
|
|
- NAMESERVER1="$1"
|
191
|
|
- ;;
|
192
|
|
- # nameserver 2
|
193
|
|
- --ns2|--nameserver2)
|
194
|
|
- shift
|
195
|
|
- NAMESERVER2="$1"
|
196
|
|
- ;;
|
197
|
|
- -i|--interactive)
|
198
|
|
- shift
|
199
|
|
- INTERACTIVE="$1"
|
200
|
|
- ;;
|
201
|
|
- -g|--generic)
|
202
|
|
- shift
|
203
|
|
- GENERIC_IMAGE="$1"
|
204
|
|
- ;;
|
205
|
|
- --minimal)
|
206
|
|
- shift
|
207
|
|
- MINIMAL_INSTALL="$1"
|
208
|
|
- ;;
|
209
|
|
- --ssh|--sshport)
|
210
|
|
- shift
|
211
|
|
- SSH_PORT="$1"
|
212
|
|
- ;;
|
213
|
|
- -v|--variant)
|
214
|
|
- shift
|
215
|
|
- VARIANT="$1"
|
216
|
|
- ;;
|
217
|
|
- -o|--onion)
|
218
|
|
- shift
|
219
|
|
- ONION_ONLY="$1"
|
220
|
|
- ;;
|
221
|
|
- -r|--repo|--repository)
|
222
|
|
- shift
|
223
|
|
- PROJECT_REPO="$1"
|
224
|
|
- ;;
|
225
|
|
- -m|--mirror)
|
226
|
|
- shift
|
227
|
|
- MIRROR="$1"
|
228
|
|
- ;;
|
229
|
|
- --debianonly|--basic|--minimal)
|
230
|
|
- shift
|
231
|
|
- DEBIAN_INSTALL_ONLY="$1"
|
232
|
|
- ;;
|
233
|
|
- --interface|--if)
|
|
138
|
+ key="$1"
|
|
139
|
+
|
|
140
|
+ case $key in
|
|
141
|
+ -h|--help)
|
|
142
|
+ show_help
|
|
143
|
+ ;;
|
|
144
|
+ -c|--config)
|
|
145
|
+ shift
|
|
146
|
+ CONFIG_FILENAME="$1"
|
|
147
|
+ if [ ! -f $CONFIG_FILENAME ]; then
|
|
148
|
+ echo $"Config file $CONFIG_FILENAME not found"
|
|
149
|
+ exit 3
|
|
150
|
+ fi
|
|
151
|
+ DEFAULT_DOMAIN_NAME=$(cat $CONFIG_FILENAME | grep 'DEFAULT_DOMAIN_NAME' | awk -F '=' '{print $2}')
|
|
152
|
+ ;;
|
|
153
|
+ -t|--target|--board)
|
|
154
|
+ shift
|
|
155
|
+ IMAGE_TYPE="$1"
|
|
156
|
+ ;;
|
|
157
|
+ -u|--user|--username)
|
|
158
|
+ shift
|
|
159
|
+ USERNAME="$1"
|
|
160
|
+ ;;
|
|
161
|
+ -p|--password)
|
|
162
|
+ shift
|
|
163
|
+ PASSWORD="$1"
|
|
164
|
+ if [ ${#PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
|
|
165
|
+ echo $"Your password chould contain at least ${MINIMUM_PASSWORD_LENGTH} characters"
|
|
166
|
+ exit 3628
|
|
167
|
+ fi
|
|
168
|
+ ;;
|
|
169
|
+ --sshkey|--sshpubkey|--pubkey)
|
|
170
|
+ shift
|
|
171
|
+ SSH_PUBKEY="$1"
|
|
172
|
+ ;;
|
|
173
|
+ -s|--size)
|
|
174
|
+ shift
|
|
175
|
+ IMAGE_SIZE="$1"
|
|
176
|
+ ;;
|
|
177
|
+ # Box static IP address on the LAN
|
|
178
|
+ --ip)
|
|
179
|
+ shift
|
|
180
|
+ BOX_IP_ADDRESS="$1"
|
|
181
|
+ ;;
|
|
182
|
+ # Router IP address on the LAN
|
|
183
|
+ --iprouter)
|
|
184
|
+ shift
|
|
185
|
+ ROUTER_IP_ADDRESS="$1"
|
|
186
|
+ ;;
|
|
187
|
+ # nameserver 1
|
|
188
|
+ --ns1|--nameserver1)
|
|
189
|
+ shift
|
|
190
|
+ NAMESERVER1="$1"
|
|
191
|
+ ;;
|
|
192
|
+ # nameserver 2
|
|
193
|
+ --ns2|--nameserver2)
|
|
194
|
+ shift
|
|
195
|
+ NAMESERVER2="$1"
|
|
196
|
+ ;;
|
|
197
|
+ -i|--interactive)
|
|
198
|
+ shift
|
|
199
|
+ INTERACTIVE="$1"
|
|
200
|
+ ;;
|
|
201
|
+ -g|--generic)
|
|
202
|
+ shift
|
|
203
|
+ GENERIC_IMAGE="$1"
|
|
204
|
+ ;;
|
|
205
|
+ --minimal)
|
|
206
|
+ shift
|
|
207
|
+ MINIMAL_INSTALL="$1"
|
|
208
|
+ ;;
|
|
209
|
+ --ssh|--sshport)
|
|
210
|
+ shift
|
|
211
|
+ SSH_PORT="$1"
|
|
212
|
+ ;;
|
|
213
|
+ -v|--variant)
|
|
214
|
+ shift
|
|
215
|
+ VARIANT="$1"
|
|
216
|
+ ;;
|
|
217
|
+ -o|--onion)
|
|
218
|
+ shift
|
|
219
|
+ ONION_ONLY="$1"
|
|
220
|
+ ;;
|
|
221
|
+ -r|--repo|--repository)
|
|
222
|
+ shift
|
|
223
|
+ PROJECT_REPO="$1"
|
|
224
|
+ ;;
|
|
225
|
+ -m|--mirror)
|
|
226
|
+ shift
|
|
227
|
+ MIRROR="$1"
|
|
228
|
+ ;;
|
|
229
|
+ --debianonly|--basic|--minimal)
|
|
230
|
+ shift
|
|
231
|
+ DEBIAN_INSTALL_ONLY="$1"
|
|
232
|
+ ;;
|
|
233
|
+ --interface|--if)
|
234
|
234
|
shift
|
235
|
235
|
WIFI_INTERFACE="$1"
|
236
|
236
|
;;
|
237
|
|
- --ssid|--essid)
|
|
237
|
+ --ssid|--essid)
|
238
|
238
|
shift
|
239
|
239
|
WIFI_SSID="$1"
|
240
|
240
|
;;
|
241
|
|
- --wifitype)
|
|
241
|
+ --wifitype)
|
242
|
242
|
shift
|
243
|
243
|
WIFI_TYPE="$1"
|
244
|
244
|
;;
|
245
|
|
- --wifipass|--passphrase)
|
|
245
|
+ --wifipass|--passphrase)
|
246
|
246
|
shift
|
247
|
247
|
WIFI_PASSPHRASE="$1"
|
248
|
248
|
;;
|
249
|
|
- --hotspot)
|
|
249
|
+ --hotspot)
|
250
|
250
|
shift
|
251
|
251
|
if [[ $"$1" == $'yes' || $"$1" == $'y' ]]; then
|
252
|
252
|
WIFI_HOTSPOT='yes'
|
253
|
|
- fi
|
|
253
|
+ fi
|
254
|
254
|
;;
|
255
|
|
- --networks)
|
|
255
|
+ --networks)
|
256
|
256
|
shift
|
257
|
257
|
WIFI_NETWORKS_FILE="$1"
|
258
|
258
|
;;
|
|
@@ -331,11 +331,15 @@ chown -R $CURR_USER:$CURR_USER $TEMPBUILD_DIR
|
331
|
331
|
cd $TEMPBUILD_DIR
|
332
|
332
|
|
333
|
333
|
if [[ $MINIMAL_INSTALL == "yes" ]]; then
|
334
|
|
- IMAGE_NAME='min'
|
|
334
|
+ IMAGE_NAME=$'min'
|
335
|
335
|
fi
|
336
|
336
|
|
337
|
337
|
if [[ $ONION_ONLY != "no" ]]; then
|
338
|
|
- IMAGE_NAME='onion'
|
|
338
|
+ IMAGE_NAME=$'onion'
|
|
339
|
+fi
|
|
340
|
+
|
|
341
|
+if [[ $VARIANT == 'mesh' ]]; then
|
|
342
|
+ IMAGE_NAME=$'mesh'
|
339
|
343
|
fi
|
340
|
344
|
|
341
|
345
|
cd $TEMPBUILD_DIR
|
|
@@ -366,7 +370,7 @@ make $IMAGE_TYPE \
|
366
|
370
|
WIFI_HOTSPOT="$WIFI_HOTSPOT" \
|
367
|
371
|
WIFI_NETWORKS_FILE="$WIFI_NETWORKS_FILE" \
|
368
|
372
|
VARIANT="$VARIANT"
|
369
|
|
-
|
|
373
|
+
|
370
|
374
|
if [ ! "$?" = "0" ]; then
|
371
|
375
|
echo $'Build failed'
|
372
|
376
|
rm -rf $TEMPBUILD_DIR
|