@@ -34,15 +34,18 @@ patch_lnd_conf()
34
34
35
35
run_main ()
36
36
{
37
- if [[ -z $2 ]]; then
38
- echo " Usage: $( basename " $0 " ) [--skip-mkp224o ] /dev/sda2 /dev/sdb1 [/mnt/usd [/mnt/ssd]]"
37
+ if [[ -z $2 ]] || [[ " $1 " == " --help " ]] ; then
38
+ echo " Usage: $( basename " $0 " ) [options ] /dev/sda2 /dev/sdb1 [/mnt/usd [/mnt/ssd]]"
39
39
echo " Where:"
40
40
echo " /dev/sda2 - uSD card root partition (use '-' to not mount)"
41
41
echo " /dev/sdb1 - SSD data partition (use '-' to not mount)"
42
42
echo " /mnt/usd - uSD card mount point / directory"
43
43
echo " /mnt/ssd - SSD mount point / directory"
44
44
echo " Options:"
45
45
echo " --skip-mkp224o - skip generating onion keys (requires them to be already present on SSD)"
46
+ echo " --test-image - configure image for testing (allows ssh root access with password)"
47
+ # FixMe: --update-update is temporary hack, remove after https://github.com/nakamochi/sysupdates/pull/8 is merged.
48
+ echo " --update-update - update /sysupdates/update.sh on SSD from local copy"
46
49
echo " Example: $( basename " $0 " ) /dev/sdc2 /dev/sdd1"
47
50
exit 1
48
51
fi
@@ -52,12 +55,29 @@ run_main()
52
55
exit 1
53
56
fi
54
57
55
- if [[ " $1 " == " --skip-mkp224o" ]]; then
56
- shift
57
- skip_mkp224o=1
58
- else
59
- skip_mkp224o=0
60
- fi
58
+ skip_mkp224o=0
59
+ test_image=0
60
+ update_update=0
61
+ while [[ " $1 " == --* ]]; do
62
+ case " $1 " in
63
+ --skip-mkp224o)
64
+ skip_mkp224o=1
65
+ shift
66
+ ;;
67
+ --test-image)
68
+ test_image=1
69
+ shift
70
+ ;;
71
+ --update-update)
72
+ update_update=1
73
+ shift
74
+ ;;
75
+ * )
76
+ echo " Error: unknown option $1 "
77
+ exit 1
78
+ ;;
79
+ esac
80
+ done
61
81
62
82
if [[ " $skip_mkp224o " -eq 0 ]]; then
63
83
if ! check_exists mkp224o; then
@@ -240,6 +260,33 @@ run_main()
240
260
chown -R " $lnd_user_group " " $SSD_MOUNT_POINT " /lnd
241
261
echo " done."
242
262
263
+ # finalize image for testing or production
264
+ if [[ " $test_image " -eq 1 ]]; then
265
+ echo -n " Finalizing image for testing ... "
266
+ sed -i " s/^#?PermitRootLogin.*/PermitRootLogin yes/" " $USD_MOUNT_POINT " /etc/ssh/sshd_config
267
+ sed -i " s/^#?PasswordAuthentication.*/PasswordAuthentication yes/" " $USD_MOUNT_POINT " /etc/ssh/sshd_config
268
+ root_pass=" nakamochi"
269
+ crypted_root_pass=" $( mkpasswd " $root_pass " ) "
270
+ sed -i " s/^root:[^:]*:/root:$crypted_root_pass :/" " $USD_MOUNT_POINT " /etc/shadow
271
+ echo " done."
272
+ echo " Test image root password is $root_pass , ssh root login allowed."
273
+ else
274
+ echo -n " Finalizing image for production ... "
275
+ sed -i " s/^#?PermitRootLogin.*/PermitRootLogin no/" " $USD_MOUNT_POINT " /etc/ssh/sshd_config
276
+ sed -i " s/^#?PasswordAuthentication.*/PasswordAuthentication no/" " $USD_MOUNT_POINT " /etc/ssh/sshd_config
277
+ crypted_root_pass=" $( mkpasswd " $( tr -dc ' A-Za-z0-9' < /dev/urandom | head -c 13; echo) " ) "
278
+ sed -i " s/^root:[^:]*:/root:$crypted_root_pass :/" " $USD_MOUNT_POINT " /etc/shadow
279
+ echo " done."
280
+ fi
281
+
282
+ if [[ " $update_update " -eq 1 ]]; then
283
+ # update /sysupdates/update.sh on SSD from local copy
284
+ echo -n " Updating /sysupdates/update.sh on SSD ... "
285
+ cp " $( dirname " $0 " ) /update.sh" " $SSD_MOUNT_POINT " /sysupdates/update.sh
286
+ chmod +x " $SSD_MOUNT_POINT " /sysupdates/update.sh
287
+ echo " done."
288
+ fi
289
+
243
290
sync
244
291
echo " All DONE, Nakamochi uSD and SSD should be ready!"
245
292
}
0 commit comments