| 
				
			 | 
			
			
				@@ -64,6 +64,9 @@ MY_USERNAME=$2 
			 | 
		
	
		
			
			| 
				64
			 | 
			
				64
			 | 
			
			
				 FREEDNS_SUBDOMAIN_CODE=$3 
			 | 
		
	
		
			
			| 
				65
			 | 
			
				65
			 | 
			
			
				 SYSTEM_TYPE=$4 
			 | 
		
	
		
			
			| 
				66
			 | 
			
				66
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+# Are we installing on a Beaglebone Black (BBB) or some other system? 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+INSTALLING_ON_BBB="yes" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				67
			 | 
			
				70
			 | 
			
			
				 # Different system variants which may be specified within 
			 | 
		
	
		
			
			| 
				68
			 | 
			
				71
			 | 
			
			
				 # the SYSTEM_TYPE option 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				72
			 | 
			
			
				 VARIANT_WRITER="writer" 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -75,8 +78,14 @@ VARIANT_SOCIAL="social" 
			 | 
		
	
		
			
			| 
				75
			 | 
			
				78
			 | 
			
			
				 VARIANT_MEDIA="media" 
			 | 
		
	
		
			
			| 
				76
			 | 
			
				79
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				77
			 | 
			
				80
			 | 
			
			
				 SSH_PORT=2222 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+# kernel specifically tweaked for the Beaglebone Black 
			 | 
		
	
		
			
			| 
				78
			 | 
			
				83
			 | 
			
			
				 KERNEL_VERSION="v3.15.10-bone7" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+# Whether or not to use the beaglebone's hardware random number generator 
			 | 
		
	
		
			
			| 
				79
			 | 
			
				86
			 | 
			
			
				 USE_HWRNG="yes" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				87
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				88
			 | 
			
			
				+# Whether this system is being installed within a docker container 
			 | 
		
	
		
			
			| 
				80
			 | 
			
				89
			 | 
			
			
				 INSTALLED_WITHIN_DOCKER="no" 
			 | 
		
	
		
			
			| 
				81
			 | 
			
				90
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				82
			 | 
			
				91
			 | 
			
			
				 # If you want to run an encrypted mailing list specify its name here. 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -458,7 +467,9 @@ function update_the_kernel { 
			 | 
		
	
		
			
			| 
				458
			 | 
			
				467
			 | 
			
			
				   if grep -Fxq "update_the_kernel" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				459
			 | 
			
				468
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				460
			 | 
			
				469
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				461
			 | 
			
				
			 | 
			
			
				-  if [[ $INSTALLED_WITHIN_DOCKER == "yes" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				470
			 | 
			
			
				+  # if this is not a beaglebone or is a docker container 
			 | 
		
	
		
			
			| 
				
			 | 
			
				471
			 | 
			
			
				+  # then just use the standard kernel 
			 | 
		
	
		
			
			| 
				
			 | 
			
				472
			 | 
			
			
				+  if [[ $INSTALLED_WITHIN_DOCKER == "yes" || $INSTALLING_ON_BBB != "yes" ]]; then 
			 | 
		
	
		
			
			| 
				462
			 | 
			
				473
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				463
			 | 
			
				474
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				464
			 | 
			
				475
			 | 
			
			
				   cd /opt/scripts/tools 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -470,7 +481,7 @@ function enable_zram { 
			 | 
		
	
		
			
			| 
				470
			 | 
			
				481
			 | 
			
			
				   if grep -Fxq "enable_zram" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				471
			 | 
			
				482
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				472
			 | 
			
				483
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				473
			 | 
			
				
			 | 
			
			
				-  if [[ $INSTALLED_WITHIN_DOCKER == "yes" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				484
			 | 
			
			
				+  if [[ $INSTALLED_WITHIN_DOCKER == "yes" || $INSTALLING_ON_BBB != "yes" ]]; then 
			 | 
		
	
		
			
			| 
				474
			 | 
			
				485
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				475
			 | 
			
				486
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				476
			 | 
			
				487
			 | 
			
			
				   if ! grep -q "options zram num_devices=1" /etc/modprobe.d/zram.conf; then 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -552,6 +563,13 @@ function random_number_generator { 
			 | 
		
	
		
			
			| 
				552
			 | 
			
				563
			 | 
			
			
				   if grep -Fxq "random_number_generator" $COMPLETION_FILE; then 
			 | 
		
	
		
			
			| 
				553
			 | 
			
				564
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				554
			 | 
			
				565
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				566
			 | 
			
			
				+  if [[ $INSTALLING_ON_BBB != "yes" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				567
			 | 
			
			
				+      # On systems which are not beaglebones assume that 
			 | 
		
	
		
			
			| 
				
			 | 
			
				568
			 | 
			
			
				+      # no hardware random number generator is available 
			 | 
		
	
		
			
			| 
				
			 | 
			
				569
			 | 
			
			
				+      # and use the second best option 
			 | 
		
	
		
			
			| 
				
			 | 
			
				570
			 | 
			
			
				+      apt-get -y --force-yes install haveged 
			 | 
		
	
		
			
			| 
				
			 | 
			
				571
			 | 
			
			
				+      return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				572
			 | 
			
			
				+  fi 
			 | 
		
	
		
			
			| 
				555
			 | 
			
				573
			 | 
			
			
				   if [[ $INSTALLED_WITHIN_DOCKER == "yes" ]]; then 
			 | 
		
	
		
			
			| 
				556
			 | 
			
				574
			 | 
			
			
				       # it is assumed that docker uses the random number 
			 | 
		
	
		
			
			| 
				557
			 | 
			
				575
			 | 
			
			
				       # generator of the host system 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -586,7 +604,7 @@ function configure_ssh { 
			 | 
		
	
		
			
			| 
				586
			 | 
			
				604
			 | 
			
			
				   echo 'configure_ssh' >> $COMPLETION_FILE 
			 | 
		
	
		
			
			| 
				587
			 | 
			
				605
			 | 
			
			
				   # Don't reboot if installing within docker 
			 | 
		
	
		
			
			| 
				588
			 | 
			
				606
			 | 
			
			
				   # random numbers will come from the host system 
			 | 
		
	
		
			
			| 
				589
			 | 
			
				
			 | 
			
			
				-  if [[ $INSTALLED_WITHIN_DOCKER == "yes" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				607
			 | 
			
			
				+  if [[ $INSTALLED_WITHIN_DOCKER == "yes" || $INSTALLING_ON_BBB != "yes" ]]; then 
			 | 
		
	
		
			
			| 
				590
			 | 
			
				608
			 | 
			
			
				       return 
			 | 
		
	
		
			
			| 
				591
			 | 
			
				609
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				592
			 | 
			
				610
			 | 
			
			
				   echo '' 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -2994,12 +3012,12 @@ function install_mediagoblin { 
			 | 
		
	
		
			
			| 
				2994
			 | 
			
				3012
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				2995
			 | 
			
				3013
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				2996
			 | 
			
				3014
			 | 
			
			
				 function decrypt_file { 
			 | 
		
	
		
			
			| 
				2997
			 | 
			
				
			 | 
			
			
				-	if [ ! $FILE_TO_DECRYPT ]; then 
			 | 
		
	
		
			
			| 
				2998
			 | 
			
				
			 | 
			
			
				-		return 
			 | 
		
	
		
			
			| 
				2999
			 | 
			
				
			 | 
			
			
				-	fi 
			 | 
		
	
		
			
			| 
				3000
			 | 
			
				
			 | 
			
			
				-	if [ ! -d $FILE_TO_DECRYPT ]; then 
			 | 
		
	
		
			
			| 
				3001
			 | 
			
				
			 | 
			
			
				-		return 
			 | 
		
	
		
			
			| 
				3002
			 | 
			
				
			 | 
			
			
				-	fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3015
			 | 
			
			
				+    if [ ! $FILE_TO_DECRYPT ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3016
			 | 
			
			
				+        return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3017
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3018
			 | 
			
			
				+    if [ ! -d $FILE_TO_DECRYPT ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3019
			 | 
			
			
				+        return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3020
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				3003
			 | 
			
				3021
			 | 
			
			
				     bcrypt $FILE_TO_DECRYPT 
			 | 
		
	
		
			
			| 
				3004
			 | 
			
				3022
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				3005
			 | 
			
				3023
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -3102,10 +3120,10 @@ function create_backup_script { 
			 | 
		
	
		
			
			| 
				3102
			 | 
			
				3120
			 | 
			
			
				   echo 'echo "Backup completed"' >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				3103
			 | 
			
				3121
			 | 
			
			
				   if [[ $ENCRYPT_BACKUPS == "yes" ]]; then 
			 | 
		
	
		
			
			| 
				3104
			 | 
			
				3122
			 | 
			
			
				       echo 'echo "Archiving backup data"' >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				3105
			 | 
			
				
			 | 
			
			
				-	  echo "cd $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				3106
			 | 
			
				
			 | 
			
			
				-	  echo "tar -czvf $USB_MOUNT/backup.tar.gz $USB_MOUNT/backup" >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				3107
			 | 
			
				
			 | 
			
			
				-	  echo 'echo "Encrypting backup data"' >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				3108
			 | 
			
				
			 | 
			
			
				-	  echo "bcrypt -c $USB_MOUNT/backup.tar.gz" >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3123
			 | 
			
			
				+      echo "cd $USB_MOUNT" >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3124
			 | 
			
			
				+      echo "tar -czvf $USB_MOUNT/backup.tar.gz $USB_MOUNT/backup" >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3125
			 | 
			
			
				+      echo 'echo "Encrypting backup data"' >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3126
			 | 
			
			
				+      echo "bcrypt -c $USB_MOUNT/backup.tar.gz" >> /usr/bin/$BACKUP_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				3109
			 | 
			
				3127
			 | 
			
			
				   fi 
			 | 
		
	
		
			
			| 
				3110
			 | 
			
				3128
			 | 
			
			
				   echo 'exit 0' >> /usr/bin/$RESTORE_SCRIPT_NAME 
			 | 
		
	
		
			
			| 
				3111
			 | 
			
				3129
			 | 
			
			
				   chmod 600 /usr/bin/$BACKUP_SCRIPT_NAME 
			 |