浏览代码

Merge branch 'stretch' of https://github.com/bashrc/freedombone

Bob Mottram 7 年前
父节点
当前提交
0c025e21c2

+ 1
- 1
doc/EN/armbian.org 查看文件

16
 #+end_export
16
 #+end_export
17
 
17
 
18
 #+begin_quote
18
 #+begin_quote
19
-"/we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres hauting cyberspace. engineers, artists, hackers./"
19
+"/we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres haunting cyberspace. engineers, artists, hackers./"
20
 #+end_quote
20
 #+end_quote
21
 
21
 
22
 If you have a single board ARM computer which isn't one of the supported ones then you can probably still install Freedombone onto it if it has a [[https://www.armbian.com/download/][Debian Stretch Armbian image]] available for it.
22
 If you have a single board ARM computer which isn't one of the supported ones then you can probably still install Freedombone onto it if it has a [[https://www.armbian.com/download/][Debian Stretch Armbian image]] available for it.

+ 6
- 0
doc/EN/debianinstall.org 查看文件

16
 </center>
16
 </center>
17
 #+END_EXPORT
17
 #+END_EXPORT
18
 
18
 
19
+#+BEGIN_QUOTE
20
+"/The antagonism of surveillance is not privacy but the making of communities in struggle/"
21
+
22
+-- Arun Kundnani
23
+#+END_QUOTE
24
+
19
 Although the image builder supports a variety of architectures there may still be some which aren't supported. These especially include systems which have a proprietary boot blob, such as the Raspberry Pi boards.
25
 Although the image builder supports a variety of architectures there may still be some which aren't supported. These especially include systems which have a proprietary boot blob, such as the Raspberry Pi boards.
20
 
26
 
21
 It's still possible to install the system onto these unsupported devices if you need to. First you'll need to ensure that you have *Debian Stretch* installed and can get ssh access to the system. Then either via ssh, or directly on the target device in the case of an old laptop or netbook:
27
 It's still possible to install the system onto these unsupported devices if you need to. First you'll need to ensure that you have *Debian Stretch* installed and can get ssh access to the system. Then either via ssh, or directly on the target device in the case of an old laptop or netbook:

+ 18
- 26
src/freedombone-app-hubzilla 查看文件

37
 HUBZILLA_CODE=
37
 HUBZILLA_CODE=
38
 HUBZILLA_ONION_PORT=8085
38
 HUBZILLA_ONION_PORT=8085
39
 HUBZILLA_REPO="https://github.com/redmatrix/hubzilla.git"
39
 HUBZILLA_REPO="https://github.com/redmatrix/hubzilla.git"
40
-HUBZILLA_THEMES_REPO="https://github.com/DeadSuperHero/redmatrix-themes"
40
+HUBZILLA_COMMIT='577da0eb9eb1f90a4cf7a70cfb3582cfb49007ac'
41
 HUBZILLA_ADDONS_REPO="https://github.com/redmatrix/hubzilla-addons.git"
41
 HUBZILLA_ADDONS_REPO="https://github.com/redmatrix/hubzilla-addons.git"
42
+HUBZILLA_ADDONS_COMMIT='be9dcd044b9326c3bd9301d7c4b375a2c2f54663'
42
 HUBZILLA_ADMIN_PASSWORD=
43
 HUBZILLA_ADMIN_PASSWORD=
43
-HUBZILLA_COMMIT='bc2b948f1f6e62b1c277a4042200bb6678956f3f'
44
-HUBZILLA_ADDONS_COMMIT='f08ef6b93e9580bf241ad60c09f4e5162d04475f'
45
 
44
 
46
 hubzilla_variables=(ONION_ONLY
45
 hubzilla_variables=(ONION_ONLY
47
                     HUBZILLA_DOMAIN_NAME
46
                     HUBZILLA_DOMAIN_NAME
127
             fi
126
             fi
128
             if [[ $hubzilla_domain_server != "https"* ]]; then
127
             if [[ $hubzilla_domain_server != "https"* ]]; then
129
                 dialog --title $"Hubzilla channel directory server" \
128
                 dialog --title $"Hubzilla channel directory server" \
130
-                       --msgbox $"Invalid domain - include the https://" 6 40
129
+                       --msgbox $"\nInvalid domain - include the https://" 7 60
131
                 return
130
                 return
132
             fi
131
             fi
133
             ./var/www/$HUBZILLA_DOMAIN_NAME/htdocs/util/config system directory_server $hubzilla_domain_server
132
             ./var/www/$HUBZILLA_DOMAIN_NAME/htdocs/util/config system directory_server $hubzilla_domain_server
134
             dialog --title $"Hubzilla channel directory server" \
133
             dialog --title $"Hubzilla channel directory server" \
135
-                   --msgbox $"Domain channel directory server changed to $hubzilla_domain_server" 6 40
134
+                   --msgbox $"\nDomain channel directory server changed to\n\n  $hubzilla_domain_server" 10 60
136
             ;;
135
             ;;
137
     esac
136
     esac
138
 }
137
 }
336
     function_check install_mariadb
335
     function_check install_mariadb
337
     install_mariadb
336
     install_mariadb
338
 
337
 
338
+    if [ -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
339
+        remove_hubzilla
340
+    fi
341
+
339
     function_check get_mariadb_password
342
     function_check get_mariadb_password
340
     get_mariadb_password
343
     get_mariadb_password
341
 
344
 
350
         mkdir /var/www/$HUBZILLA_DOMAIN_NAME
353
         mkdir /var/www/$HUBZILLA_DOMAIN_NAME
351
     fi
354
     fi
352
     if [ ! -d $HUBZILLA_PATH ]; then
355
     if [ ! -d $HUBZILLA_PATH ]; then
353
-        mkdir $HUBZILLA_PATH
356
+        mkdir -p $HUBZILLA_PATH
354
     fi
357
     fi
355
 
358
 
356
     if [ ! -f $HUBZILLA_PATH/index.php ]; then
359
     if [ ! -f $HUBZILLA_PATH/index.php ]; then
357
-        cd $INSTALL_DIR
358
-
359
         if [ -d /repos/hubzilla ]; then
360
         if [ -d /repos/hubzilla ]; then
360
-            mkdir hubzilla
361
-            cp -r -p /repos/hubzilla/. hubzilla
362
-            cd hubzilla
361
+            mkdir $HUBZILLA_PATH
362
+            cp -r -p /repos/hubzilla/. $HUBZILLA_PATH
363
+            cd $HUBZILLA_PATH
363
             git pull
364
             git pull
364
         else
365
         else
365
             function_check git_clone
366
             function_check git_clone
366
-            git_clone $HUBZILLA_REPO hubzilla
367
+            git_clone $HUBZILLA_REPO $HUBZILLA_PATH
367
         fi
368
         fi
368
 
369
 
369
         git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
370
         git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
370
         set_completion_param "hubzilla commit" "$HUBZILLA_COMMIT"
371
         set_completion_param "hubzilla commit" "$HUBZILLA_COMMIT"
371
 
372
 
372
-        rm -rf $HUBZILLA_PATH
373
-        mv hubzilla $HUBZILLA_PATH
374
-
375
         if [ -d /repos/hubzilla-addons ]; then
373
         if [ -d /repos/hubzilla-addons ]; then
376
             mkdir $HUBZILLA_PATH/addon
374
             mkdir $HUBZILLA_PATH/addon
377
             cp -r -p /repos/hubzilla-addons/. $HUBZILLA_PATH/addon
375
             cp -r -p /repos/hubzilla-addons/. $HUBZILLA_PATH/addon
385
         git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
383
         git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
386
         set_completion_param "hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT"
384
         set_completion_param "hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT"
387
 
385
 
388
-        # some extra themes
389
-        #git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1
390
-        #cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
391
-
392
         chown -R www-data:www-data $HUBZILLA_PATH
386
         chown -R www-data:www-data $HUBZILLA_PATH
393
     fi
387
     fi
394
 
388
 
389
+    if [ ! -f $HUBZILLA_PATH/install/schema_mysql.sql ]; then
390
+        echo $'No database schema found for hubzilla'
391
+        exit 252782
392
+    fi
393
+
395
     HUBZILLA_ONION_HOSTNAME=
394
     HUBZILLA_ONION_HOSTNAME=
396
     if [[ $ONION_ONLY != "no" ]]; then
395
     if [[ $ONION_ONLY != "no" ]]; then
397
         HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
396
         HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
464
         echo '        # With php-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
463
         echo '        # With php-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
465
         echo '        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
464
         echo '        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
466
         echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
465
         echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
467
-        echo '        fastcgi_read_timeout 30;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
468
         echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
466
         echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
469
         echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
467
         echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
470
         echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
468
         echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
531
         echo '        # With php-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
529
         echo '        # With php-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
532
         echo '        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
530
         echo '        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
533
         echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
531
         echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
534
-        echo '        fastcgi_read_timeout 30;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
535
         echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
532
         echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
536
         echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
533
         echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
537
         echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
534
         echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
584
     function_check nginx_ensite
581
     function_check nginx_ensite
585
     nginx_ensite $HUBZILLA_DOMAIN_NAME
582
     nginx_ensite $HUBZILLA_DOMAIN_NAME
586
 
583
 
587
-    # initialize the database
588
-    if [ ! -f $HUBZILLA_PATH/install/schema_mysql.sql ]; then
589
-        echo $'No database schema found for hubzilla'
590
-        exit 252782
591
-    fi
592
     function_check initialise_database
584
     function_check initialise_database
593
     initialise_database hubzilla $HUBZILLA_PATH/install/schema_mysql.sql
585
     initialise_database hubzilla $HUBZILLA_PATH/install/schema_mysql.sql
594
 
586
 

+ 0
- 11
src/freedombone-image 查看文件

556
     IMAGE_NAME=$'usb'
556
     IMAGE_NAME=$'usb'
557
 fi
557
 fi
558
 
558
 
559
-if [[ $VARIANT == 'beaglebonewifi' ]]; then
560
-    if [ ! $WIFI_SSID ]; then
561
-        WIFI_SSID=${PROJECT_NAME}
562
-    fi
563
-    if [ ! "$WIFI_PASSPHRASE" ]; then
564
-        WIFI_PASSPHRASE=${PROJECT_NAME}
565
-    fi
566
-    WIFI_TYPE='wpa2-psk'
567
-    WIFI_HOTSPOT='yes'
568
-fi
569
-
570
 # append amnesic to the image name if needed
559
 # append amnesic to the image name if needed
571
 if [[ $AMNESIC != 'no' ]]; then
560
 if [[ $AMNESIC != 'no' ]]; then
572
     IMAGE_NAME="${IMAGE_NAME}-amnesic"
561
     IMAGE_NAME="${IMAGE_NAME}-amnesic"

+ 0
- 27
src/freedombone-image-customise 查看文件

195
 configure_networking() {
195
 configure_networking() {
196
     chroot "$rootdir" apt-get -yq install resolvconf
196
     chroot "$rootdir" apt-get -yq install resolvconf
197
 
197
 
198
-    if [[ "$MACHINE" == "beaglebonewifi" ]]; then
199
-        # Allow networking over USB in order to configure the
200
-        # wifi login settings
201
-
202
-        echo '# This file describes the network interfaces available on your system' > $rootdir/etc/network/interfaces
203
-        echo '# and how to activate them. For more information, see interfaces(5).' >> $rootdir/etc/network/interfaces
204
-        echo 'source /etc/network/interfaces.d/*' >> $rootdir/etc/network/interfaces
205
-
206
-        echo 'iface usb0 inet static' >> $rootdir/etc/network/interfaces.d/usb
207
-        echo '    address 192.168.7.2' >> $rootdir/etc/network/interfaces.d/usb
208
-        echo '    netmask 255.255.255.252' >> $rootdir/etc/network/interfaces.d/usb
209
-        echo '    network 192.168.7.0' >> $rootdir/etc/network/interfaces.d/usb
210
-        echo '    gateway 192.168.7.1' >> $rootdir/etc/network/interfaces.d/usb
211
-        return
212
-    fi
213
-
214
     if [[ $DEBIAN_INSTALL_ONLY != "no" ]]; then
198
     if [[ $DEBIAN_INSTALL_ONLY != "no" ]]; then
215
         return
199
         return
216
     fi
200
     fi
492
 }
476
 }
493
 
477
 
494
 atheros_wifi() {
478
 atheros_wifi() {
495
-    if [[ "$MACHINE" == "beaglebonewifi" ]]; then
496
-        return
497
-    fi
498
-
499
     chroot "$rootdir" dpkg -i /root/freedombone/drivers/firmware-ath9k-htc.deb
479
     chroot "$rootdir" dpkg -i /root/freedombone/drivers/firmware-ath9k-htc.deb
500
     chroot "$rootdir" apt-get -yq install firmware-linux-free
480
     chroot "$rootdir" apt-get -yq install firmware-linux-free
501
 }
481
 }
2106
         dd if=$rootdir/usr/lib/u-boot/am335x_boneblack/u-boot.img of="$image" \
2086
         dd if=$rootdir/usr/lib/u-boot/am335x_boneblack/u-boot.img of="$image" \
2107
            count=2 seek=1 conv=notrunc bs=384k
2087
            count=2 seek=1 conv=notrunc bs=384k
2108
         ;;
2088
         ;;
2109
-    beaglebonewifi)
2110
-        touch $rootdir/root/.wifi-only
2111
-        dd if=$rootdir/usr/lib/u-boot/am335x_boneblack/MLO of="$image" \
2112
-           count=1 seek=1 conv=notrunc bs=128k
2113
-        dd if=$rootdir/usr/lib/u-boot/am335x_boneblack/u-boot.img of="$image" \
2114
-           count=2 seek=1 conv=notrunc bs=384k
2115
-        ;;
2116
     cubieboard2)
2089
     cubieboard2)
2117
         dd if=$rootdir/usr/lib/u-boot/Cubieboard2/u-boot-sunxi-with-spl.bin of="$image" \
2090
         dd if=$rootdir/usr/lib/u-boot/Cubieboard2/u-boot-sunxi-with-spl.bin of="$image" \
2118
            seek=8 conv=notrunc bs=1k
2091
            seek=8 conv=notrunc bs=1k

+ 1
- 12
src/freedombone-image-hardware-setup 查看文件

94
 }
94
 }
95
 
95
 
96
 beaglebone_flash() {
96
 beaglebone_flash() {
97
-    bbb_version=$1
98
     # allow flash-kernel to work without valid /proc contents
97
     # allow flash-kernel to work without valid /proc contents
99
     # ** this doesn't *really* work, since there are too many checks
98
     # ** this doesn't *really* work, since there are too many checks
100
     #    that fail in an emulated environment!  We'll have to do it by
99
     #    that fail in an emulated environment!  We'll have to do it by
101
     #    hand below anyway...
100
     #    hand below anyway...
102
-    if [[ "$bbb_version" == 'wireless' ]]; then
103
-        export FK_MACHINE="TI AM335x BeagleBone Black Wireless"
104
-    else
105
-        export FK_MACHINE="TI AM335x BeagleBone Black"
106
-    fi
101
+    export FK_MACHINE="TI AM335x BeagleBone Black"
107
     apt-get install -y flash-kernel
102
     apt-get install -y flash-kernel
108
 }
103
 }
109
 
104
 
250
         beaglebone_repack_kernel
245
         beaglebone_repack_kernel
251
         enable_serial_console ttyO0
246
         enable_serial_console ttyO0
252
         ;;
247
         ;;
253
-    beaglebonewifi)
254
-        beaglebone_setup_boot wireless
255
-        beaglebone_flash wireless
256
-        beaglebone_repack_kernel wireless
257
-        enable_serial_console ttyO0
258
-        ;;
259
     cubietruck)
248
     cubietruck)
260
         a20_setup_boot sun7i-a20-cubietruck.dtb
249
         a20_setup_boot sun7i-a20-cubietruck.dtb
261
         enable_serial_console ttyS0
250
         enable_serial_console ttyS0

+ 0
- 13
src/freedombone-image-make 查看文件

119
  --roottype btrfs \
119
  --roottype btrfs \
120
 "
120
 "
121
         ;;
121
         ;;
122
-    beaglebonewifi)
123
-        extra_pkgs="$beaglebone_pkgs"
124
-        extra_opts="\
125
- --variant minbase \
126
- --bootoffset=2mib \
127
- --bootsize 128M \
128
- --boottype ext2 \
129
- --no-kernel \
130
- --no-extlinux \
131
- --foreign /usr/bin/qemu-arm-static \
132
- --roottype btrfs \
133
-"
134
-        ;;
135
     cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2 | pcduino3)
122
     cubietruck | a20-olinuxino-lime | a20-olinuxino-lime2 | a20-olinuxino-micro | cubieboard2 | pcduino3)
136
         extra_pkgs="$a20_pkgs"
123
         extra_pkgs="$a20_pkgs"
137
         extra_opts="\
124
         extra_opts="\

+ 0
- 11
src/freedombone-image-makefile 查看文件

97
 	$(SIGN)
97
 	$(SIGN)
98
 	@echo "Build complete."
98
 	@echo "Build complete."
99
 
99
 
100
-# build Beaglebone Black Wireless SD card image
101
-beaglebonewifi: prep
102
-	$(eval ARCHITECTURE = armhf)
103
-	$(eval MACHINE = beaglebonewifi)
104
-	$(MAKE_IMAGE)
105
-	@rm -f $(ARCHIVE)
106
-	$(XZ) $(IMAGE)
107
-	@echo ""
108
-	$(SIGN)
109
-	@echo "Build complete."
110
-
111
 # build Cubieboard2 SD card image
100
 # build Cubieboard2 SD card image
112
 cubieboard2: prep
101
 cubieboard2: prep
113
 	$(eval ARCHITECTURE = armhf)
102
 	$(eval ARCHITECTURE = armhf)

+ 4
- 0
src/freedombone-utils-web 查看文件

254
             check_certificates ${SITE_DOMAIN_NAME}
254
             check_certificates ${SITE_DOMAIN_NAME}
255
         else
255
         else
256
             echo $"Lets Encrypt failed for $SITE_DOMAIN_NAME"
256
             echo $"Lets Encrypt failed for $SITE_DOMAIN_NAME"
257
+            if [ -f /etc/nginx/sites-available/$SITE_DOMAIN_NAME ]; then
258
+                nginx_dissite $SITE_DOMAIN_NAME
259
+                systemctl restart nginx
260
+            fi
257
             exit 682529
261
             exit 682529
258
         fi
262
         fi
259
         return
263
         return

+ 2
- 2
website/EN/armbian.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2018-02-12 Mon 20:13 -->
6
+<!-- 2018-02-17 Sat 21:19 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
249
 
249
 
250
 <blockquote>
250
 <blockquote>
251
 <p>
251
 <p>
252
-"<i>we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres hauting cyberspace. engineers, artists, hackers.</i>"
252
+"<i>we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres haunting cyberspace. engineers, artists, hackers.</i>"
253
 </p>
253
 </p>
254
 </blockquote>
254
 </blockquote>
255
 
255
 

+ 11
- 1
website/EN/debianinstall.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2018-01-23 Tue 20:50 -->
6
+<!-- 2018-02-17 Sat 21:19 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title>&lrm;</title>
9
 <title>&lrm;</title>
248
 <h1>How to install on an existing Debian system</h1>
248
 <h1>How to install on an existing Debian system</h1>
249
 </center>
249
 </center>
250
 
250
 
251
+<blockquote>
252
+<p>
253
+"<i>The antagonism of surveillance is not privacy but the making of communities in struggle</i>"
254
+</p>
255
+
256
+<p>
257
+&#x2013; Arun Kundnani
258
+</p>
259
+</blockquote>
260
+
251
 <p>
261
 <p>
252
 Although the image builder supports a variety of architectures there may still be some which aren't supported. These especially include systems which have a proprietary boot blob, such as the Raspberry Pi boards.
262
 Although the image builder supports a variety of architectures there may still be some which aren't supported. These especially include systems which have a proprietary boot blob, such as the Raspberry Pi boards.
253
 </p>
263
 </p>