|
@@ -215,6 +215,8 @@ create_generic_image() {
|
215
|
215
|
# Don't install any configuration. This will be a base system
|
216
|
216
|
if [[ $VARIANT != "mesh" ]]; then
|
217
|
217
|
CONFIG_FILENAME=
|
|
218
|
+ else
|
|
219
|
+ touch $rootdir/root/.initial_mesh_setup
|
218
|
220
|
fi
|
219
|
221
|
|
220
|
222
|
# The presence of this file indicates that the initial
|
|
@@ -292,7 +294,7 @@ EOF
|
292
|
294
|
echo " ${PROJECT_NAME} menuconfig-onion" >> $rootdir/root/.bashrc
|
293
|
295
|
fi
|
294
|
296
|
else
|
295
|
|
- echo " ${PROJECT_NAME}-image-mesh" >> $rootdir/root/.bashrc
|
|
297
|
+ echo 'echo ""'
|
296
|
298
|
fi
|
297
|
299
|
echo ' if [ "$?" = "0" ]; then' >> $rootdir/root/.bashrc
|
298
|
300
|
echo " if [ -f ~/${PROJECT_NAME}-completed.txt ]; then" >> $rootdir/root/.bashrc
|
|
@@ -359,6 +361,32 @@ atheros_wifi() {
|
359
|
361
|
fi
|
360
|
362
|
}
|
361
|
363
|
|
|
364
|
+initialise_mesh() {
|
|
365
|
+ if [[ $VARIANT != "mesh" ]]; then
|
|
366
|
+ return
|
|
367
|
+ fi
|
|
368
|
+ MESH_SERVICE='mesh-setup.service'
|
|
369
|
+ MESH_SETUP_DAEMON=$rootdir/etc/systemd/system/$MESH_SERVICE
|
|
370
|
+
|
|
371
|
+ echo '[Unit]' > $MESH_SETUP_DAEMON
|
|
372
|
+ echo 'Description=Initial mesh router configuration' >> $MESH_SETUP_DAEMON
|
|
373
|
+ echo 'After=syslog.target' >> $MESH_SETUP_DAEMON
|
|
374
|
+ echo 'After=network.target' >> $MESH_SETUP_DAEMON
|
|
375
|
+ echo '[Service]' >> $MESH_SETUP_DAEMON
|
|
376
|
+ echo 'Type=simple' >> $MESH_SETUP_DAEMON
|
|
377
|
+ echo 'User=root' >> $MESH_SETUP_DAEMON
|
|
378
|
+ echo 'Group=root' >> $MESH_SETUP_DAEMON
|
|
379
|
+ echo 'WorkingDirectory=/root' >> $MESH_SETUP_DAEMON
|
|
380
|
+ echo "ExecStart=/usr/local/bin/${PROJECT_NAME}-image-mesh > /var/log/mesh-setup.log" >> $MESH_SETUP_DAEMON
|
|
381
|
+ echo '' >> $MESH_SETUP_DAEMON
|
|
382
|
+ echo 'TimeoutSec=99999' >> $MESH_SETUP_DAEMON
|
|
383
|
+ echo '' >> $MESH_SETUP_DAEMON
|
|
384
|
+ echo '[Install]' >> $MESH_SETUP_DAEMON
|
|
385
|
+ echo 'WantedBy=multi-user.target' >> $MESH_SETUP_DAEMON
|
|
386
|
+
|
|
387
|
+ chroot $rootdir systemctl enable $MESH_SERVICE
|
|
388
|
+}
|
|
389
|
+
|
362
|
390
|
# Set to true/false to control if eatmydata is used during build
|
363
|
391
|
use_eatmydata=true
|
364
|
392
|
|
|
@@ -470,6 +498,7 @@ admin_user_sudo
|
470
|
498
|
create_generic_image
|
471
|
499
|
atheros_wifi
|
472
|
500
|
continue_installation
|
|
501
|
+initialise_mesh
|
473
|
502
|
|
474
|
503
|
cd /
|
475
|
504
|
echo $"info: killing leftover processes in chroot"
|