From 8b23baea8ae7d9b53ac5cf5248bdb0e7874ebf97 Mon Sep 17 00:00:00 2001 From: openoms Date: Tue, 12 Feb 2019 14:57:50 +0000 Subject: [PATCH 01/39] set public_IP to local_ip if no PublicIP found on startup --- dietpi/README.md | 3 +++ home.admin/_bootstrap.sh | 8 ++++---- home.admin/assets/bootstrap.service | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dietpi/README.md b/dietpi/README.md index ac4ac7e..834186e 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -158,3 +158,6 @@ Allows you to automatically execute a custom script at the end of DietPi install Option 1 = Copy your script to /boot/Automation_Custom_Script.sh and it will be executed automatically. Option 2 = Host your script online, then use AUTO_SETUP_CUSTOM_SCRIPT_EXEC=http://myweb.com/myscript.sh, it will be downloaded and executed automatically. | 0=disabled NB: Executed script log /var/tmp/dietpi/logs/dietpi-automation_custom_script.log + +### Guide to clone your SD-cards and shrink the image in linux: +https://beebom.com/how-clone-raspberry-pi-sd-card-windows-linux-macos/ \ No newline at end of file diff --git a/home.admin/_bootstrap.sh b/home.admin/_bootstrap.sh index c68a53a..05c5e66 100644 --- a/home.admin/_bootstrap.sh +++ b/home.admin/_bootstrap.sh @@ -283,16 +283,16 @@ if [ ${configExists} -eq 1 ]; then source ${configFile} # update public IP on boot - # wait otherwise looking for publicIP fails - sleep 5 freshPublicIP=$(curl -s http://v4.ipv6-test.com/api/myip.php) if [ ${#freshPublicIP} -eq 0 ]; then - echo "WARNING: Was not able to determine external IP on startup." >> $logFile + echo "WARNING: Was not able to determine external IP on startup. Setting publicIP to local_ip" >> $logFile + local_ip=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + sed -i "s/^publicIP=.*/publicIP=${local_ip}/g" ${configFile} else publicIPValueExists=$( sudo cat ${configFile} | grep -c 'publicIP=' ) if [ ${publicIPValueExists} -gt 1 ]; then # remove one - echo "more then one publiIp entry - removing one" >> $logFile + echo "more then one publicIp entry - removing one" >> $logFile sed -i "s/^publicIP=.*//g" ${configFile} publicIPValueExists=$( sudo cat ${configFile} | grep -c 'publicIP=' ) fi diff --git a/home.admin/assets/bootstrap.service b/home.admin/assets/bootstrap.service index c83db1f..11244a5 100644 --- a/home.admin/assets/bootstrap.service +++ b/home.admin/assets/bootstrap.service @@ -8,7 +8,7 @@ After=network.target [Service] User=root Group=root -Type=simple +Type=oneshot RemainAfterExit=true ExecStart=/home/admin/_bootstrap.sh StandardOutput=journal From d2c9a110e1a1e29c998f8786c740456bf3678bb3 Mon Sep 17 00:00:00 2001 From: openoms Date: Tue, 12 Feb 2019 15:22:19 +0000 Subject: [PATCH 02/39] write local IP as a placeholder if no publicIP exists --- home.admin/_bootstrap.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/home.admin/_bootstrap.sh b/home.admin/_bootstrap.sh index 05c5e66..87eab5b 100644 --- a/home.admin/_bootstrap.sh +++ b/home.admin/_bootstrap.sh @@ -285,9 +285,16 @@ if [ ${configExists} -eq 1 ]; then # update public IP on boot freshPublicIP=$(curl -s http://v4.ipv6-test.com/api/myip.php) if [ ${#freshPublicIP} -eq 0 ]; then - echo "WARNING: Was not able to determine external IP on startup. Setting publicIP to local_ip" >> $logFile - local_ip=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') - sed -i "s/^publicIP=.*/publicIP=${local_ip}/g" ${configFile} + # prevent having no publicIP set at all and LND getting stuck + # https://github.com/rootzoll/raspiblitz/issues/312#issuecomment-462675101 + if [ ${#publicIP} -eq 0 ]; then + localIP=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + echo "WARNING: No publicIP information at all - working with placeholder: ${localIP}" >> $logFile + sed -i "s/^publicIP=.*/publicIP=${local_ip}/g" ${configFile} + fi + fi + if [ ${#freshPublicIP} -eq 0 ]; then + echo "WARNING: Was not able to determine external IP on startup." >> $logFile else publicIPValueExists=$( sudo cat ${configFile} | grep -c 'publicIP=' ) if [ ${publicIPValueExists} -gt 1 ]; then From eff35f5f68984b07fcece4c01ab72b3a1be6ee55 Mon Sep 17 00:00:00 2001 From: openoms Date: Tue, 12 Feb 2019 18:44:11 +0000 Subject: [PATCH 03/39] resolve merge conflict --- home.admin/_bootstrap.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/home.admin/_bootstrap.sh b/home.admin/_bootstrap.sh index 87eab5b..5f66be2 100644 --- a/home.admin/_bootstrap.sh +++ b/home.admin/_bootstrap.sh @@ -245,6 +245,8 @@ if [ ${hddIsAutoMounted} -eq 0 ]; then # check if pre-sync was already activated on last power-on #presyncActive=$(systemctl status bitcoind | grep -c 'could not be found') echo "starting pre-sync in background" >> $logFile + # make sure that debug file is clean, so just pre-sync gets analysed on stop + sudo rm /mnt/hdd/bitcoin/debug.log # starting in background, because this scripts is part of systemd # so to change systemd needs to happen after delay in seperate process sudo chown -R bitcoin:bitcoin /mnt/hdd/bitcoin 2>> $logFile @@ -283,6 +285,8 @@ if [ ${configExists} -eq 1 ]; then source ${configFile} # update public IP on boot + # wait otherwise looking for publicIP fails + sleep 5 freshPublicIP=$(curl -s http://v4.ipv6-test.com/api/myip.php) if [ ${#freshPublicIP} -eq 0 ]; then # prevent having no publicIP set at all and LND getting stuck @@ -290,7 +294,7 @@ if [ ${configExists} -eq 1 ]; then if [ ${#publicIP} -eq 0 ]; then localIP=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/') echo "WARNING: No publicIP information at all - working with placeholder: ${localIP}" >> $logFile - sed -i "s/^publicIP=.*/publicIP=${local_ip}/g" ${configFile} + freshPublicIP="${localIP}" fi fi if [ ${#freshPublicIP} -eq 0 ]; then @@ -299,7 +303,7 @@ if [ ${configExists} -eq 1 ]; then publicIPValueExists=$( sudo cat ${configFile} | grep -c 'publicIP=' ) if [ ${publicIPValueExists} -gt 1 ]; then # remove one - echo "more then one publicIp entry - removing one" >> $logFile + echo "more then one publiIp entry - removing one" >> $logFile sed -i "s/^publicIP=.*//g" ${configFile} publicIPValueExists=$( sudo cat ${configFile} | grep -c 'publicIP=' ) fi From f51985ba40ef3fc94cfd05dd7258097f6acae574 Mon Sep 17 00:00:00 2001 From: openoms Date: Sun, 17 Feb 2019 00:10:10 +0000 Subject: [PATCH 04/39] add torrent with prebuilt DietPi image for the Odroid HC1 and update dietpi readme --- dietpi/README.md | 49 +- ...spiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent | 262 +++++ dietpi/logs/HC1_sdcard_build_output | 986 ------------------ dietpi/pictures/5_options_to_copy.png | Bin 38244 -> 0 bytes 4 files changed, 297 insertions(+), 1000 deletions(-) create mode 100644 dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent delete mode 100644 dietpi/logs/HC1_sdcard_build_output delete mode 100644 dietpi/pictures/5_options_to_copy.png diff --git a/dietpi/README.md b/dietpi/README.md index 834186e..3ea4b31 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -14,7 +14,21 @@ See the hardware specs: [hardware specs](hw_comparison.md). ![](pictures/DroidBlitz.jpg) +## Download the fully prebuilt RaspiBlitz on DietPi SDcard image +for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](/home/buidl/Documents/droidblitz/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) + +Steps to run: +- download the .img file, +- burn to a 16 GB SD with [Etcher](https://www.balena.io/etcher/) +- extend the rootFS partition with a partition manager (disks, Gparted, etc.) +- boot the Odroid ith the SDcard and login with ssh admin@at.your.raspiblitz.ip, password: raspiblitz + +Using this image you can skip the rest of this guide as it is mostly about how this image was built. + +The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) + +--- ## Setting up the DietPi OS ### Download the updated DietPi image @@ -22,17 +36,20 @@ See the hardware specs: [hardware specs](hw_comparison.md). For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded here: https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0 -Burn the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager. +Burn to the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager. Insert the SDcard into the Odroid. -Power up and continue with: [Run the DietPi optimized Raspiblitz SDcard build script](#Run-the-DietPi-optimized-Raspiblitz-SDcard-build-script) +Power up and continue with: [Run the DietPi optimized Raspiblitz SDcard build script](#Run-the-RaspiBlitz-build_sdcard.sh-script) ### Build your own DietPi image: -For the Odroid HC1 / HC2 / XU3 / XU4 download this image: +Watch out this an ardous process. +Updating from a v6.14 DietPi image is causing a bootloop under some circumstances. Will be sorted once the current, >6.2 version is uploaded for the Odroids. + +For the Odroid HC1 / HC2 / XU3 / XU4 the start is this image: https://dietpi.com/downloads/images/DietPi_OdroidXU4-ARMv7-Stretch.7z -and burn it to the SD with [Etcher](https://www.balena.io/etcher/) +Burn it to the SD with [Etcher](https://www.balena.io/etcher/) Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 @@ -73,12 +90,17 @@ Reboots password: `dietpi` >Ok > Cancel > Cancel -Search `fail2ban` > Space to select > Enter +Search `fail2ban` > Space to select > Enter +SSH server > switch from Dropbear to the OpenSSH-server > Install > Ok >Opt out of survey > Ok Reboots again -## Run the DietPi optimized Raspiblitz SDcard build script +Changing the SSH server will change the SSH keys again. To clear: +`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` + + +## Run the RaspiBlitz build_sdcard.sh script In the desktop terminal in Linux / MacOS or Putty in Windows: @@ -87,7 +109,7 @@ password: `dietpi` Should end up here on version v6.20.6 or higher: ![](pictures/bash_prompt.png) -run the SDcard build script in this format: +run the build_sdcard.sh script in this format: `wget https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh [BRANCH] [GITHUB-USERNAME]` Be aware of that the fork needs to be called `raspiblitz` for the git download to work. @@ -95,19 +117,19 @@ if you intend to use @openoms`s forked version: `wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build_sdcard.sh && sudo bash build_sdcard.sh raspiblitz-dev openoms` -See my example output on the Odorid HC1: [HC1_sdcard_build_output](logs/HC1_sdcard_build_output) `ssh admin@[IP-OF-DROIDBLITZ]` password: raspiblitz -### The setup continues as described in the RaspiBlitz setup [README.md](/README.md#documentation) +The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) +--- ### Examples of copying the blockchain data from a HDD using a powered USB to SATA adapter -![copy the blockchain from a HDD of a Raspiblitz](pictures/5_options_to_copy.png) ![example setup](pictures/HDD_copy_example.jpg) ![](pictures/adapterHDD_HC1.jpg) +--- ### Useful commands for debugging: To test a new configuration run XXcleanHDD.sh and strictly restart (this makes _bootstrap.sh and 00mainMenu.sh run in the right order) @@ -123,10 +145,9 @@ To test a new configuration run XXcleanHDD.sh and strictly restart --- -Currently the DietPi update process has a bug causing bootloop if left alone. Will be sorted once the current, >6.2 version is uploaded as the starting image. -## Excerpts from the default dietpi.txt -(https://github.com/Fourdee/DietPi/blob/master/dietpi.txt) to be used once the automatic install is feasible. +## Excerpts from the default [dietpi.txt](https://github.com/Fourdee/DietPi/blob/master/dietpi.txt) +to be used for a fully automatic SDcard building process. ### Automate installation with the dietpi.txt Need to copy to SDcard /boot/dietpi.txt after burning the image with Etcher. @@ -159,5 +180,5 @@ Option 1 = Copy your script to /boot/Automation_Custom_Script.sh and it will be Option 2 = Host your script online, then use AUTO_SETUP_CUSTOM_SCRIPT_EXEC=http://myweb.com/myscript.sh, it will be downloaded and executed automatically. | 0=disabled NB: Executed script log /var/tmp/dietpi/logs/dietpi-automation_custom_script.log -### Guide to clone your SD-cards and shrink the image in linux: +### Guide to clone your SD-cards in Windows, MacOS and Linux and shrink the image in Linux: https://beebom.com/how-clone-raspberry-pi-sd-card-windows-linux-macos/ \ No newline at end of file diff --git a/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent b/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent new file mode 100644 index 0000000..51d925c --- /dev/null +++ b/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent @@ -0,0 +1,262 @@ +d8:announce46:udp://public.popcorn-tracker.org:6969/announce13:announce-listll46:udp://public.popcorn-tracker.org:6969/announceel36:http://182.176.139.129:6969/announce32:http://5.79.83.193:2710/announce0:34:http://91.218.230.81:6969/announce0:el0:31:http://secure.pow7.com/announce0:32:udp://62.138.0.158:6969/announce33:http://thetracker.org:80/announce35:udp://tracker.ilibr.org:80/announce0:0:0:40:http://tracker.kicks-ass.net:80/announce0:29:udp://eddie4.nl:6969/announce0:0:39:http://tracker2.itzmx.com:6961/announce0:34:http://mgtracker.org:6969/announce0:44:http://tracker1.wasabii.com.tw:6969/announce32:http://tracker.ex.ua:80/announce36:udp://tracker.mg64.net:2710/announce38:http://retracker.krs-ix.ru:80/announce0:34:http://mgtracker.org:2710/announce32:udp://explodie.org:6969/announce0:0:0:27:http://t1.pow7.com/announce0:35:http://p4p.arenabg.ch:1337/announce39:udp://shadowshq.eddie4.nl:6969/announce39:http://www.wareztorrent.com:80/announce46:http://tracker.edoardocolombo.eu:6969/announce31:http://atrack.pow7.com/announce33:http://open.touki.ru/announce.php44:udp://tracker2.indowebster.com:6969/announce32:udp://tracker.sktorrent.net:69690:0:0:27:http://pow7.com:80/announce35:http://torrentsmd.com:8080/announce0:0:0:43:http://tracker.dutchtracking.nl:80/announce0:40:udp://tracker4.piratux.com:6969/announce44:http://tracker.dutchtracking.com:80/announce0:0:27:http://t2.pow7.com/announce0:0:33:http://bt.henbt.com:2710/announce0:38:http://tracker.bittor.pw:1337/announce0:0:37:udp://tracker.eddie4.nl:6969/announce0:0:0:36:udp://shadowshq.yi.org:6969/announceel0:36:udp://tracker.mg64.net:6969/announce34:http://mgtracker.org:2710/announce33:http://bt.henbt.com:2710/announce0:35:http://p4p.arenabg.ch:1337/announce0:0:0:0:0:33:http://open.touki.ru/announce.php33:http://thetracker.org:80/announce0:38:http://retracker.krs-ix.ru:80/announce0:0:0:0:0:40:udp://tracker4.piratux.com:6969/announce29:udp://eddie4.nl:6969/announce27:http://t1.pow7.com/announce0:0:0:44:http://tracker.dutchtracking.com:80/announce27:http://t2.pow7.com/announce0:32:http://tracker.tfile.me/announce44:udp://tracker2.indowebster.com:6969/announce39:udp://shadowshq.eddie4.nl:6969/announce0:39:http://tracker2.itzmx.com:6961/announce0:0:0:36:udp://shadowshq.yi.org:6969/announce0:0:32:udp://tracker.sktorrent.net:69690:34:http://mgtracker.org:6969/announce40:http://tracker.kicks-ass.net:80/announce27:http://pow7.com:80/announce31:http://secure.pow7.com/announce36:udp://tracker.mg64.net:2710/announce37:http://tracker.mg64.net:6881/announce31:http://atrack.pow7.com/announce0:0:37:udp://tracker.eddie4.nl:6969/announce0:32:http://tracker.ex.ua:80/announce42:udp://tracker.opentrackr.org:1337/announce0:0:38:udp://bt.xxx-tracker.com:2710/announce0:43:http://tracker.dutchtracking.nl:80/announce0:41:http://tracker.dutchtracking.com/announce39:http://www.wareztorrent.com:80/announce46:http://tracker.edoardocolombo.eu:6969/announce0:0:44:http://tracker1.wasabii.com.tw:6969/announce35:http://torrentsmd.com:8080/announce0:44:http://tracker2.wasabii.com.tw:6969/announce0:0:38:http://tracker.bittor.pw:1337/announceel43:udp://tracker.coppersurfer.tk:6969/announceel43:http://tracker.opentrackr.org:1337/announceel30:udp://zer0day.ch:1337/announceel30:udp://zer0day.to:1337/announceel33:http://explodie.org:6969/announceel49:udp://tracker.leechers-paradise.org:6969/announceel31:udp://9.rarbg.com:2710/announceel30:udp://9.rarbg.me:2780/announceel30:udp://9.rarbg.to:2730/announceel35:udp://p4p.arenabg.com:1337/announceel41:udp://tracker.sktorrent.net:6969/announceel36:http://p4p.arenabg.com:1337/announceel42:udp://tracker.aletorrenty.pl:2710/announceel43:http://tracker.aletorrenty.pl:2710/announceel37:http://tracker.bittorrent.am/announceel39:udp://tracker.kicks-ass.net:80/announceel37:http://tracker.kicks-ass.net/announceel40:http://tracker.baravik.org:6970/announceel38:udp://torrent.gresille.org:80/announceel36:http://torrent.gresille.org/announceel38:http://tracker.skyts.net:6969/announceel49:http://tracker.internetwarriors.net:1337/announceel37:udp://tracker.skyts.net:6969/announceel40:http://tracker.dutchtracking.nl/announceel40:udp://tracker.yoshi210.com:6969/announceel40:udp://tracker.tiny-vps.com:6969/announceel48:udp://tracker.internetwarriors.net:1337/announceel33:udp://mgtracker.org:2710/announceel41:http://tracker.yoshi210.com:6969/announceel41:http://tracker.tiny-vps.com:6969/announceel42:udp://tracker.filetracker.pl:8089/announceel31:udp://tracker.ex.ua:80/announceel33:udp://91.218.230.81:6969/announceel37:https://www.wareztorrent.com/announceel36:http://www.wareztorrent.com/announceel43:http://tracker.filetracker.pl:8089/announceel29:http://tracker.ex.ua/announceel41:http://tracker.calculate.ru:6969/announceel39:udp://tracker.grepler.com:6969/announceel45:udp://tracker.flashtorrents.org:6969/announceel37:udp://tracker.bittor.pw:1337/announceel49:http://tracker.tvunderground.org.ru:3218/announceel40:http://tracker.grepler.com:6969/announceel46:http://tracker.flashtorrents.org:6969/announceel38:http://retracker.gorcomnet.ru/announceel34:http://bt.pusacg.org:8080/announceel35:http://87.248.186.252:8080/announceel36:udp://tracker.kuroy.me:5944/announceel35:udp://182.176.139.129:6969/announceel37:http://tracker.kuroy.me:5944/announceel35:http://retracker.krs-ix.ru/announceel40:http://open.acgtracker.com:1096/announceel33:udp://open.stealth.si:80/announceel33:udp://208.67.16.113:8000/announceel37:http://tracker.dler.org:6969/announceel40:http://bt2.careland.com.cn:6969/announceel36:http://open.lolicon.eu:7777/announceel43:http://tracker.opentrackr.org:1337/announceel33:http://explodie.org:6969/announceel36:http://p4p.arenabg.com:1337/announceel43:http://tracker.aletorrenty.pl:2710/announceel37:http://tracker.bittorrent.am/announceel37:http://tracker.kicks-ass.net/announceel40:http://tracker.baravik.org:6970/announceel36:http://torrent.gresille.org/announceel38:http://tracker.skyts.net:6969/announceel49:http://tracker.internetwarriors.net:1337/announceel40:http://tracker.dutchtracking.nl/announceel41:http://tracker.yoshi210.com:6969/announceel41:http://tracker.tiny-vps.com:6969/announceel36:http://www.wareztorrent.com/announceel43:http://tracker.filetracker.pl:8089/announceel29:http://tracker.ex.ua/announceel41:http://tracker.calculate.ru:6969/announceel49:http://tracker.tvunderground.org.ru:3218/announceel40:http://tracker.grepler.com:6969/announceel46:http://tracker.flashtorrents.org:6969/announceel38:http://retracker.gorcomnet.ru/announceel34:http://bt.pusacg.org:8080/announceel35:http://87.248.186.252:8080/announceel37:http://tracker.kuroy.me:5944/announceel35:http://retracker.krs-ix.ru/announceel40:http://open.acgtracker.com:1096/announceel40:http://bt2.careland.com.cn:6969/announceel36:http://open.lolicon.eu:7777/announceel37:https://www.wareztorrent.com/announceel33:udp://213.163.67.56:1337/announceel34:http://213.163.67.56:1337/announceel34:udp://185.86.149.205:1337/announceel33:http://74.82.52.209:6969/announceel32:udp://94.23.183.33:6969/announceel32:udp://74.82.52.209:6969/announceel34:udp://151.80.120.114:2710/announceel35:udp://109.121.134.121:1337/announceel33:udp://168.235.67.63:6969/announceel36:http://109.121.134.121:1337/announceel32:udp://178.33.73.26:2710/announceel33:http://178.33.73.26:2710/announceel28:http://85.17.19.180/announceel30:udp://85.17.19.180:80/announceel34:http://210.244.71.25:6969/announceel28:http://85.17.19.180/announceel36:http://213.159.215.198:6970/announceel35:udp://191.101.229.236:1337/announceel30:http://178.175.143.27/announceel32:udp://89.234.156.205:80/announceel29:http://91.216.110.47/announceel34:http://114.55.113.60:6969/announceel35:http://195.123.209.37:1337/announceel33:udp://114.55.113.60:6969/announceel34:http://210.244.71.26:6969/announceel34:udp://107.150.14.110:6969/announceel31:udp://5.79.249.77:6969/announceel34:udp://195.123.209.37:1337/announceel31:udp://37.19.5.155:2710/announceel35:http://107.150.14.110:6969/announceel32:http://5.79.249.77:6969/announceel32:udp://185.5.97.139:8089/announceel33:udp://194.106.216.222:80/announceel33:udp://91.218.230.81:6969/announceel29:https://104.28.17.69/announceel28:http://104.28.16.69/announceel33:http://185.5.97.139:8089/announceel31:http://194.106.216.222/announceel34:http://80.246.243.18:6969/announceel32:http://37.19.5.139:6969/announceel31:udp://5.79.83.193:6969/announceel32:udp://46.4.109.148:6969/announceel34:udp://51.254.244.161:6969/announceel35:udp://188.165.253.109:1337/announceel33:http://91.217.91.21:3218/announceel32:http://37.19.5.155:6881/announceel33:http://46.4.109.148:6969/announceel35:http://51.254.244.161:6969/announceel32:http://104.28.1.30:8080/announceel28:http://81.200.2.231/announceel33:http://157.7.202.64:8080/announceel35:http://87.248.186.252:8080/announceel33:udp://128.199.70.66:5944/announceel35:udp://182.176.139.129:6969/announceel34:http://128.199.70.66:5944/announceel36:http://188.165.253.109:1337/announceel26:http://93.92.64.5/announceel35:http://173.254.204.71:1096/announceel32:udp://195.123.209.40:80/announceel32:udp://62.212.85.66:2710/announceel33:udp://208.67.16.113:8000/announceel35:http://125.227.35.196:6969/announceel32:http://59.36.96.77:6969/announceel30:http://87.253.152.137/announceel35:http://158.69.146.212:7777/announceel43:udp://tracker.coppersurfer.tk:6969/announceel30:udp://zer0day.ch:1337/announceel49:udp://tracker.leechers-paradise.org:6969/announceel31:udp://9.rarbg.com:2710/announceel35:udp://p4p.arenabg.com:1337/announceel41:udp://tracker.sktorrent.net:6969/announceel42:udp://tracker.aletorrenty.pl:2710/announceel39:udp://tracker.kicks-ass.net:80/announceel38:udp://torrent.gresille.org:80/announceel37:udp://tracker.skyts.net:6969/announceel40:udp://tracker.yoshi210.com:6969/announceel40:udp://tracker.tiny-vps.com:6969/announceel48:udp://tracker.internetwarriors.net:1337/announceel33:udp://mgtracker.org:2710/announceel42:udp://tracker.filetracker.pl:8089/announceel31:udp://tracker.ex.ua:80/announceel33:udp://91.218.230.81:6969/announceel39:udp://tracker.grepler.com:6969/announceel45:udp://tracker.flashtorrents.org:6969/announceel37:udp://tracker.bittor.pw:1337/announceel36:udp://tracker.kuroy.me:5944/announceel35:udp://182.176.139.129:6969/announceel33:udp://open.stealth.si:80/announceel33:udp://208.67.16.113:8000/announceel43:udp://tracker.coppersurfer.tk:6969/announceel43:http://tracker.opentrackr.org:1337/announceel30:udp://zer0day.ch:1337/announceel33:http://explodie.org:6969/announceel49:udp://tracker.leechers-paradise.org:6969/announceel31:udp://9.rarbg.com:2710/announceel35:udp://p4p.arenabg.com:1337/announceel41:udp://tracker.sktorrent.net:6969/announceel36:http://p4p.arenabg.com:1337/announceel42:udp://tracker.aletorrenty.pl:2710/announceel43:http://tracker.aletorrenty.pl:2710/announceel37:http://tracker.bittorrent.am/announceel39:udp://tracker.kicks-ass.net:80/announceel37:http://tracker.kicks-ass.net/announceel40:http://tracker.baravik.org:6970/announceel44:udp://tracker.piratepublic.com:1337/announceel33:udp://213.163.67.56:1337/announceel34:http://213.163.67.56:1337/announceel34:udp://185.86.149.205:1337/announceel33:http://74.82.52.209:6969/announceel32:udp://94.23.183.33:6969/announceel32:udp://74.82.52.209:6969/announceel34:udp://151.80.120.114:2710/announceel35:udp://109.121.134.121:1337/announceel33:udp://168.235.67.63:6969/announceel36:http://109.121.134.121:1337/announceel32:udp://178.33.73.26:2710/announceel33:http://178.33.73.26:2710/announceel28:http://85.17.19.180/announceel30:udp://85.17.19.180:80/announceel34:http://210.244.71.25:6969/announceel28:http://85.17.19.180/announceee10:created by18:qBittorrent v4.1.513:creation datei1550360894e4:infod5:filesld6:lengthi3782809088e4:pathl40:RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.imgeed6:lengthi427e4:pathl10:README.txteee4:name36:RaspiBlitz1.0_OdroidHC1_DietPi6.21.112:piece lengthi1048576e6:pieces72160:dĜ[jEl=fS0:z+Q.ݝC1TPQn<O]! d[4?{JF)w@s-$AWz2494-@&E˛L;6~-8'c詝h8\ƕ\% _\w?!v1,3EZF,k#:󭝚mQȾlH1E? {ChqxԄJQגfE5k=i˛ IѬ/"HPJ=wQ#/;_^C,4EH=o_H:8H FFy*#?sQλ8pD2m \Rwxi[7I8r`j/WnG+vpq|ΟwF`miT]a6h>Pտ?M19hݛesxeyKl+Ok*ՒQ;2 ȭwy/vMRlqe ?,2ׯOT*lttB>*f;hEypNu/p"S#&_9҆FJw>qKr+N! "h;q?KͅݞN;q?KͅݞN;q?KͅݞN1]:t@2v'6%@^ߪ)l^fBvc9E{;͛oF<uÂB"Vqhv.OF +Z EhVyy4)P,OTH}%DUi 5" 5{") +gxdА%𦄰Ofdj@o6 T[b3߿g(RȰ{&J;K'JWhj;R%MZex'w8]h,D?'b@ۣtQ ԣ3[BP[A7-_ rØl~p]$6TC5v@3 +$[K'}ҩXc5(%EA)B*r".u:%,l1|I "TjzFiQ;uH٬QRd5:i[1$/v7֞qxjy G~ĐIH!!ur$x\=3i'·ar2VK{a]0A"HKy.$s=ţŗuG)sQQpΣ齰3abaE^3JSYvz"k`3\ jB'Rs Mٸ@$(^B +J|SB̔!Tӥȩ)׈f,qs uRש +x)8eG=*E/Z!(VFZ03q\ 7=TI :=,߁Z %F!u֏71Vfc]?%)hq.MӨ4x(yyVh^46ըs((3{PpΧiD}xvM&SBx'uoW λeQO#r[10'm ۸p) 2(jd4feߓ5v̵SXY"ɬtk\c@cxiO'B3Ϙ_{d +f;%#CcGc`w/6d %B?K>QzHj|dxXLؘd/'*mCkz vj8ױ(Yі_&[~\q6ВPQ>FL̍`R?I@V^RXNOhJKnܒk513$9~S8>.9y'<}^K OʨڳAF姮(@$V$ \I>PfSvS۴|]jN4RlwV&>!GlˎImp j4r(+Ce:ezX5> cR_Id,xy cGr6N+v[aqh#m9QKٸCk8q+ի0JL<>p?!_*wPE1䦒HdL0ܢiwr僎sXt:eukr}pjN'OX-k] +4LL|RgU,=D[ $"H72c+=ŷBý&#v;:B9x]ѰWYGoZ`rY?/Ϧ/]!{O{6Byz!XC##/&F6im@ Q_^R2NLX&! \~ll@u(1WÊ Oy^VΒtmb@7sl%Im[:,ʧw3 J[} g҇Z08WQ䈁D JG„ěΘ~}.8*s4)OھKa(kc0vP$>Mva"0E=D)2W`y=m;L; uyѹ/9ȓ?8DH۾Cmz{z_ƆiÜ7|tq_%Xّ~2zK ;n*BZMp/_A9ιb<^IПH,;C_HIljdJ-%zڛ_*Qub?eEz/'UQxE$NUls׾MN\c0feiɠhT>W_.'Hl( +ms8u @LaE8GƏ9k ώ7 +"&# iu_jꪆs5Y6=u`n$J)evq}&D,-7m|e5P J 0ͰW]rH9֤o]oxIZ=iDqx$ʥ羳:@ZuX0D=;&qh^MI@9\@K>=珼jYE=F y 5;yd&p)iPmvԸ- TJ@5fU-ȌVv(ɑˆ||=N23 +y`kg/&1V ?' 7J}cw+'('GW "NL&'l W)pyl0KC)-N\B-m/l1nk7&J&W?X?jF%cFbC?ɶhF@x42nY֬W YՏzW7|hqLY,BT@M[l[xF>jƉ j{޺l"q`ݤ"n ,jA9-ǂ{[9W7E p8-SYgGAkߛ =M:ʴ1(H_Dyo>#X8hRVAN ^_o|Q;Ool &@! +*G]~7S;L3+ +1pDS^Cʥt| ^t*ܑ1+-ZQ_vi g{n fbLp@1mV&U$vr?+ +o[O$)(e3{netgu=.Ϊrh ǩ r$_k܈ol-yh:70 +v=YObj^RUq(Iۀsvǀ '[BBN=Ap=WIѷi~]XL3'˓m&VWi 96KSʉ=֬QG 9g1vDþKJ-.G{FH|<.pR-e]l-J KvglS;Ȳ{lμoh)Y '{F'y +3}&*WRde-!zvX,!;3{ jZ`*P)+!_ъҥ'Cr}"06nQNB +|󠷴v}x@+(,h~ ͶQN6fs<&`[Y=EŶ7͈$Q2p-2t?lVLwJ!+wg + Z ԑʓQ}8֦%pY$؜@քմ} 1. `6첿;iN˯YNـOIަB W;?-SeV7.=~њق\lQ*3NBރ4Y]и ؁P&R͍GaT nvTu~QAkዢp?¦Sq\u.y4d޶l/1 b.xA| EL;.5.u1pJo &j^1.J'P:GzHˇ?Y{ީH8wY+:8QLů 456~`*;qH%P&S.61߭V8S=¾nqE6]c9/G س R5H6cҨ d˿1-;e4nx$?<;OiK4.!&@`5>5ӗ^`e 2w-ǒvUΫPSoj|#P-_[z&woH7fPAU':6m4Y K@e0] V/H0dr'wjU+bp\ۙgPu7GrHnz~Vtf;eY?nGlLQbAf yYaEb(3 VBc#?U<\ֳoܥ6)oC4:|J?(b4:7Iiq? ?3Ӵ!Λ[΃w+=g_Cs1@n&Y?!Ye;*TKF[92Gڥ1C_Bcѐ] 䗷 Cwy:x-O,O<+`$jcG $ u~D."ފ>d\l.|M|+f0mCZyeӭ +Z:|rvPn呃`8YE8Σ:Xi6ZO{)1Dnw)c"M3BS?v,?qs_W<ˈ>3Qæд<;ٵtV64bDh1~եhJzM}ey uF9A.8|"x߷q^-t g-`ja=s'(G9>q<@#l^Q+FbHX]^d砑?H=5-y]I)k+In^ ѵtiKB &`ޯYHI{ZmQX3e]X q\ɸ]Dj =4F)<{-)=[E}FNeMQE}+r p.ȀsvBJI{0ėp̯8{vz\")&VįAi n_ 'zIښh +?JBg)>+q&ԚR {l  װ IGxzܶU_n}Ҁ"4-AY׶bP" TmE؟AF1.uyO!b)תPGQ@3J{xEGK%:ۋt ^DaQXS4>Ħ +Λ9܅]?ɎFRұ4o!3drwsB fxC /r#!k{2rc_UA[r(TCVQ ^-gr:쯫0+ +Z6P^euq3SG#47e|dMpEGJ{=.BVe*ZիPU!iY}G/Y`$9 +ѷc\ݳ.[X{L-;n;q?KͅݞN;q?KͅݞNCUPғݥd BL߅onI,4v +@5+<Ҡ1h;;y}4S.}&NL??N."3azck+Ncd%ϧp K47լ֠ h`qCJf,;@JrһޛۛϾhfm :>4ư[yUjA )P^t)ȏ%&~ 5մ9ˬUgK!gT4vJRf)Xwot*$ ݰr:+Z%e79oT!r3_Ґ$;j]++70^ & stN _cdWQOsMU =sg pV%1Ɩ ꃠcM c>G)6h!366qjf,pm6ga68*(7zgLkPeJOQ  +ZIlgmK92@:sÒq܎U>mh?^7dgyIy~ +/}< J n Sbm/FZV*`2Y+)QԳj{&oDWo 7_9?]Up$l2;sҼfXGhxd66{Rx<]4-rfl;ɶ<C.;_QbBDSg^YͰҜ= Ht5X` +9һ8}1%xԎ'SU%(+4+m8+9aw &{ߍVl7[dDC4wJq{&hS=n,:ֻO]G`iP]g"04UF Lu(nC_AP56כ)G :Pgs<}n퍵R+IhH-` $zw?xz@Z}IlGU(ctS5UϦ%Zdjs? >\۠A1`7k)߮2l! Q'#LZVlM5y\S G+Ns1dg􊛛hr;5Y MxSiCLI+Ȳ["9R9 m-<8ys S}Gf + Jqo)4{8ϙjpwmlь~*W{ [7x##QI61Q?8eAi2#KjD٥/JM鄳k1j(_-2ijjMNs^z_$g33uHM;0c@#= e>q;̯"69yEbL m_j?Z^ݿ=oO o}-wMzM"fTڂfi:%T +/3OsxX>Zw2B#= +ƼvDa;s镔|2 #KNGbCm˺%SvyS߻~w'[ ̆|dZ]ߟD+ƥaCv@HX㳫СT|7q_a=08^Z;+zy&o]KH-#̶ ,t!CΏW +Loľ +͓:q)8ua @/wߓ~Z9 +҃X`E07,BQh{ݍ[;z{S!i )pj9hLd9F,D[;v +Gi|50F +4yeu-uC}W'۝2O VlګQ@m ?/UiOD@!Q(pKG4jAmE%,%XūA҃Ut8ER>Mf?V+,9Ƙ6ID[+)2UN+&pD +1x|rMQjx.euzR/Iz4ư[yUjA[rA6Ǩ0qg-3|?إB"g?D;q?KͅݞN;q?KͅݞN>ON΄ٝ!Mܑ=9g)V;-<ͺp$v'[sPj|KjA$5{#fM:kkk)})Pc*c/m!fW~4ثl8_d& +FMIMص}Op +4yeu-uC}W, 554/K*<pKG4jAmE%,%XūA҃Ut8ER>Mf?V+,9Ƙ6ID[+)2UN+&pD +1x|rMյhރعײįbSC͏d(@ 1xa>fV8D5{X؊cEy5(Wnj"Q:MiワmI}H9"sL9U0]m;$J57hL+eKV3Z7d|V٨rJt'\X]l,A}Sk=h^'TJ e&]>$n蔋O6Kw֛_N!y.co_;KqnsZ?54XpVdַ*m'ŋΟ!s˞\x =xzAC۴KV]u%ϙb<͋ KLW[1p.mbxEB Q/Uô,fYӶ9r\FĽa@i# vԙQKyMj*l4-ܴXfm~i@X_8iS?ВU9'j)u.> t)$fyAB W$(^<+oMLhON66 wGP:a%F4HM=?tQF,{gi4!@] z!M t]ai;.D{O|KmjQt +!Saqk5̜B/Z!(VFZ03zAm.nSͶXw?Pa9ݽ7%|{ŋ5gO}3*HoR9_tt!oK0ج.O&g$avjEUvY$5B߲i$YX +cg1nC ɴ!eSyKHl@?+Ӟk ל[f*VoW" GQ`U G\N*»aJ8t71XW eEU|AV'̅pa/8afDHίĉm!TH4QòD57v:N_@7ed`Jд}tW" Gڋ +3Z޼8m7p&&ob3*x^BQjԪabXeȥؕ;\|&<>Nd!- b}aXA5W GV 7A|{A>]<>mZY+:Z[syc- n{(vê!*l5*dCyC>gv,w`=gS>gC3X{FgjTMWf(F;Co6I;*ː(μj (Ø$t E]I`gcP~^]3Pip|A%,%f?>MUqYX0Y.IP1@oFmr0½b/d{?Yn<þYH, A¡,ĊVTe3 +7acFtkFHLFȲ>>54ZG/ ?8O` ;q?KͅݞN;q?KͅݞN;q?KͅݞNxH/JL{[_!0kI6~<'lJYA1ި\ɏNESJtGpoبyW;5Uդ*"o6).=P*fA g_̈́șBONOwM:@ȹ߷HޮC\Ш •KAԔs^d r\ȤRG ݆.߁| +mMHKXTESkg:HOϚE\S5J\% 5JҖ=k)qݘm hS='FymVMtGoMSmu8omS!'qsJO{A@1г!P@)u^m[a43z@D#^ynն~{pE0Q)`>A+F i $V$؟F6]?[LE\BARVЊ\E:rGC:oyj[OGW[egN}s4GQtħ\kPB:[+~+\937ѻc2">}CF(K@Ŷ/+~sz~Jz%h*?껛btaW *h='B٪3O6B WL-pڸ'^Ӥᗉ]"5V,gƐT\ȢKJ.%L!Ա s7eRYK=}~Am/AZ` "IKfufLc϶@zD4 >M"dc!l)W23zى5ϜuY2[ +N7ܵ +-Xq?BCϣ%Ll8Va BM9EFhhQ9^Mܪ"Mj`s2 ߏf;6}4`UNG'V[4mq()$ስ +uYC'9RZCgLR2ɐHeXCž9C3mLz{| +Eo"/!Urs#s4.r6w2etK5T,CɉtЀ2yBC#dj4]hJ+$;zf`+Q14݆ :-uhhV3auStq"bnmD=0j?_[S⫓7!Ϗs^.?;Z@ m6۝H4/Q ÷3+fe| ]^mN|c#zʙڞ՟G`ʡ o`R#fL&lV$ÄI:T:ob~j.Rghͱt;q?KͅݞN;q?KͅݞN;q?KͅݞN~a^uCnE~*+גMݽ#b``$.|~^ i߲BL +VxyL`6QZ:eyzy_j` ? İWtʔ+5ƒy}z=W\XA[e$Q[~> #9&FDG|wߍl*hH$r'2Gy]%# +:'EqkkrF۔PTðd LeҶ %)%Vqə,:mW}c$x(펇[p4kIֲ& ͛5mf/%kFx%z; +iߊ$jϭ! &T-^2߼3v^?V~ŴyS̾t@ 3])Ҭ %Jaft +*E +SKM O!T4<ȼQDvog*Κj'oyRLZfZt4y: aT<"3G53o2:'=LRz-8&Yϕ;e&ět񈆑$D!i%2}SP>0T.;}C ZPg_ 6z8C{̓%$ R)bHᴀ?]d{c(PR3!x"y觽} +{=z4s"C#&X5&"8{# lF o42̜O'Sصd"Y%\5ٞ%*B99>*p|ѨuC_eEJi'bx$GhDJ#ds +'qɷFѕ2<>H`!!( ,Qorik-hqxtXW}[]H ^)׀P;g³Q테-Zw-!RR"1i'~yy8(9V`h@g+/s + Rb.SwbT~SU(NsIݧBqqtS\M|ȼE}orJ<_@F ӌ +7&р-J1- +K&.vs[~1#ԓ y5CND7]nJmdG[P;pdޜ3fi4M{<}5 Jn p+(dQZ4iPcƄ D>W" G+xޠC<, )f=́%fo_~z=WNs؀=ƓѼLc TlĎ%s&k)1 lҴlf"aLkIr.dKXjյ{Xu{C`rJ]A]Gj.pO th:"=1 ߘ/grģcR/+~ɎǁJ r7Ѝ,\\#:4{Gpce6IagFooA)CÖVk@=27 λH"Cܢ9akD]I?%ޱÕ*N_PCkqv8Osk"IrNA@ MR@Q3+`drьi31ZaG L:^Z)4SŝE@Q?մ[> 69xłGZӱS u! ӈQ 9'>j/MAZp>jm?G];q?KͅݞN;q?KͅݞN;q?KͅݞN,x{A(O"P#YoW B_s,-{ZzzkxsAD(]z|z67!RrȥTs8W1 +C|d|ge'(7@:$K C^~Nyq:3_T2 + Dv]}|q]{6am qt(} H0+H63(Z+h^5%dgRTkt@푊}hTh DQAΜOFp`TjR!򼆟#_θk۸XFԃ*5OR; }i ="e l=cG%<9LHI"kndxfPݨ TO"ƲJ +<޳hHD9$B}ojD)݊"n6L-3 iYsz-37âECS_T5>cR ycOa Ov\+gGȣaߨ`Zá?M:- Ge&+&3wML<7{FX[C>}INtBb5͎8Fޯ +̆HdR} `= z1/#:I^c+WK%b@-i$nޑ('{ ;Yz0gDy^Spp&^߆SdFKMman3p\{ E8!&@!0ߦ7F"A>ӷ(3@$2,Fct,,tDA_S'WMSf1N\ݞb6P%:͌ʛPHo}}Hlճj+n6PBL^fHӫJty-"OEu$ ol`@ iʃ@plӊ˱"VjDCBhuZ[*Hc$Ղ251X%y`ؒK*a. V2(` D*0<( ,mƝOl$Cisdh Q2r .PKt6G0e$m{~fK .pZ/Odat,r}-Ů$bV)ܵn{nų0+.>x8K7>%r@nQiIJk yg qT„Yr`Bmz0&N2,ʽc(R6SdZC\PU?: sq9߹ fQރ}9ȧwbDDRHZ*)e6VW&AF[Ԡ `gz'TEl<˟T&8pva|gYPMA lklq\R+u^)~~0c)zu"H c>P"k>7[F]Î$k|yV8EӀ;[ޘE| !zQTI gM 1M%}m: +Bw1j{VS0MO7na-ض9O" T"+s2;UuZ-C  +U4m98/ +͒/P/J+?Wo>мH`j { b,Q~ߏsLa1$̋IlLǿ3{$:`4䏔Bw4fT/esB;͠|{GZ7ƈ'NF{ +}pds'wTlݴWYM$zn^R%reUt{Pgə sV AX&3lb=|wك2C9PY9oWHߒzXY\S}"Iu8G~q2'xyy藸N[̕`~8HĨz!k3rnRŭ9Nb Hwv9Ś9_H Z^R[yX9ޗJHxatyZv)LGC%0BVz.]U +xUvMI;q?KͅݞN;q?KͅݞN;q?KͅݞN5`ϓ[:$oU:) _W$$T^HxNZp+o9mQBK\AbĨHڐk 0zaBkK⊲˖?A!:oaz#$rSya9*{hxArC'y^&^lY`kW`T=4*Yw\, ,^gًg T8dib +BiHF +'WJs_\[ W-n*IoPjn``\'u ߑEG&ٳbսVŸJπb@32ePМ@Σgut b LS>YwTW\%jDKPUiG=b׍;Ɛ.Yi5 iܴ:rt$Z {M_o:_m4G_סu#شf˲X3[j#ejISlVBdXK6?~6#zE[a q]*uF(9[t٘25΅OūB4ŁZvwtry~{Ő^=3ǰMCgg7ڙ+B4/@ vh~6R<%\԰.VJ  qN? ;Ac q^"Sյc60Jx)ǓwL \.Y y "#F$}00g@#LMcJR5sZyUG!LLsM(M"mx|o.;˩^u +fY\`"bZ$!P1!K9U33sEM&YV9ޔ  Տ4\V-gv4\KodRZol wxaT ݙƩĠ*h)8DY[zm SnnbHZ [a +>YJE߱lBTMd9NLѥG7T2oBd/5J;nJ0UCm|F=ο_[%u[k'p\ɺ515~O~"r G +[rFf$VBOiհ~?z R>]km0ѻG%W\F077mh\%^q.;'/GP\>L5$*6Bd $J Q=|εXW _J'VZ*V +f w " tah {TǮH.5v&77׈I6ׄ5ȁ0=13IVeIã8,N)0L-qsV U9끎kc *α-CRVb8TU狥Y0t~8/lh/К)eD_ji㧈0\M.#"P06n?ꦠoK\Ku೾hX;d'.؁WX=ؠ2beoQ`+-sQl-/C%Ζ llVde䩄=v'!p oW$<Ƥ\$DK='Nq]4-VfФ=syJ1A"G 52l*l_ʻs8jG {EYQ:*{UfVhw'n|]#$.ܡr\x0q8#W~7k*NDKUg pe?Tk7 9F.`d%d45Vv [^a|xE8NXh?k;ԥfDG`LzH*ztPmɽq/XJ i)vN9Y2Y<ФJ ;ܽswrܜ[wX&uqgB!Uon{vx`TOB-&z/nY+U#G2,n[p{Gic͟ N;]i!{/)*z{{zdN9$wˀ2XkY`$!Gl<{Hzcn~h.>Bp +% _Fof MvKjA!j;q?KͅݞN;q?KͅݞN;q?KͅݞN |hFֺIsږl{R( 㛶HQ:W1v~`(jBÞD楪!DߺW>~xۖR2d1Z$xog9ףExo+^2-0̥̅by +7d05G%jOOw_-8Gk"aql*zF+J2P- \ԩV j#x=9?;7/k*4't'烄D[aZMpm@^a3a፰)X[M8դjR{F8ņnsW72lQ 59OAg?bjW3˙[ڢ`1`d9`SxN=4Yb +q3^ 㝔';zW`~fhGȞnHKLQޕ[en/U|7 jܝ)X+6&OFAy>w썀@yqgCmq̀OX,`r\-朘)@qasU|Kk KMˡ !̼ ++d\]B'vϘ9nST,.2sAίܧdq:ɝՙTx,EJ,)[!ʩ8)n<,HRu :…ާ#J̕@׽9݅[l;79lFެqxI4'Y׬)@hLGc0sv\5 _9BQaU6v9<%Dc*G J9y6N{,# $ #p_,/,[zZ|܊ -Lӎ* +5d|R>eꊔV* LANKD:P'ꀶW.VV.2J +`݉!;7pVz _K +νᇷ}AUkQ>5f'5B,|yT_zؘ7&(:XvǷR4~bgf>ǼO bƟFț >^("xe+c1$$EI .R/~Kjf*t \D͙/&JrԨeqˡSd]=6,%wXj\EdjW9|"a0tUIqI1-mr +'AjK]'v9AI2M¤r齊`89Pf?ts%h\إmgp?`$[GDoVgN'G~o.jwH ;dC-a[eyR7@m'B0C9`곹r3'"S5ieֈ2,YϮ8.oiM"KZZ>ҁ0 #}ekL^;q?KͅݞN;q?KͅݞN;q?KͅݞNY9K 'z8+zXҳ̚WG+ލ +t'ƍpp:Z(8=8C.A$_]饒_D/%E=RT< BX"Y0|B@ᓳgMwBX ' ܬЉd/;0d\{Ta4 _0آqRyzɔzOӐCTzz}kH9XOR^bnR:F Y( 8 %+e:~?I~g2 c SC20֖ aOe%J8 V道&bG硤(zA_i" V[yHGr<@XL +$c Hf!PcIq&ƞ(᷼" wXn@ݮTOU~A468!4͍\rznoQsTJ;x'r_}"돬k.xn{Ս.Cu||u'j5)co֦LtP+-+ DrXg +``KXw+y^}/.DaS4+ +iprÑ v3Lz̽"g=Q7l9+gͩ(i Kg\teshnItX4Auk!%;36A).iޏ#/)^ၝd2zFZbOօ1@71:}cOvH4#9LnyVW,#pЏdO6ξ},jG8Bo;򷻚"ǧޫ`%r;kL\m`7P,y l@e ;Kfm6ŏxS델*Av!3+,)WWz{ѣf1 ܝbϓS&֓Mx]tx| ,t >\^9 't쀬&sz@CC!g )t}e|kSj7G^ogORٳ\kY׃ݶ +$,ݓgtP!Et%Zq/$? eR<Jm1㇪YxMH_p69ž{v@o [Y؏fF!g4%N >0a\ܢݑܛDK椣R5*Ex USJ\zFY}hyOG| ǟyi|xX܏sQ5 rcWONx9Sv,2XW\gѳW4j7Ω/OyVCͨ>g\\9ɳ?븓N +bBϑ&*#![홵mĠV5na[cPԚv +K'I, &gyO˳ruiCZ'Z4UOb*:Qȅbe,Z#M͘zjSla4jvnteU@S'X1jؙN҂l)Nڑ9ꢥ=ЮxAT7}uET_›&`;_ȭf WQ>%sɃ\ +J`bo#sT6W?f}|7KB5vfJ;q?KͅݞN;q?KͅݞN;q?KͅݞNu֨17%ljQP@IͯPsF( 5n>OzGa@qv +j/7+G=;8tD +7lX;Emq0yj7p0qH%)q/ߏ'P`h?AJ#Z'GLWtA&G(eWq-*6'oYIbp&_J/þG[,6 +N_{ .#\(Z97Я2(7fߢt"f0ӦwSaC)e&|2Sv#PmUrc^< |7 +4i{6J23P{yV_W43~Wy-@X(-7M7WaLuDeE*SQX7,аe>G!ws20&~6g^^@Ɯ֝a,N@0 8fjݥ`Լv[*Qi -6g j)Hŀ,?ƋѺ, Yeh5< +mM7ؖaҼd.$îB|GM)d$dIB?AbQe +_s{ #BaHEzƱme +MWY*  Η}G>d隬L]v#> yt7s}\ٛs[9S1 g\[4^ @%FR7t{%%Hzr7TH?" ܓ:,6] ` +c\"%TrQ%Sv!o:>%d^9D irg0f0ݶ8scɁC"WkP6nVjU1>@1y $yOY/Q2X2c2*nE?@^aR$@j1c<+~9'{I2UAqϸCI~XN>(Ax,^֦Ս_fA^ښRdm,~n+;mL[RX+s~hhx5>2X&>3YV&.-n {'$,^`E޹m(!Je~%˳>bd(o6t[DvKS\fj@39l +J"S.9?>ր_[qArMCx_Mk&Fvi}:vkw'Ǟ/1.Y6j6퇝G^Pb;m9Ȥ=lz/ZkswUV{78a8 8w̢re2)֭"@OVyX2PYNf]pc}w.-!kr" ae*@ ?P +۝2>~e#3៬%*/'T?7nWR=bi*lYli=\M/'kVQ;rK^_T<2Peӿ3@(VOl%?4\샊@R1E·BWQk @5BC G]Y-d<!=.T1Os +T]p2߆L(uu|pz;me\~-x7t+QgAH-ް&!zRޭ^NHD_  +aKdM R7{ښ7Ui ʢZŬchQd X <2e  I0co̺@u&zOgk+ .⏙C]P/ߋ4v*ސKV mۺ b5 }urM̾-G3mAEu^}P^חtyXI9]]nVx1A' ]6C0 ')sZgÃq$}Ӱ 5[-YUi-܏įmݜB&n2OpȂ}te5i"x.領Wcé8y0JwAķp3DDI_KC+tPC{J5L}jhQCvr.TOAheeaiGx2V}-_'K@;x|nG<&ejKNlXpm9с:C6Ln. A&\K$"RōρF6!=3a< hI{F@Z&5b]'Y)WCpTհ)JK**7b<0uHv0LTKç0 +΍.a\T(8o^uakthʪ6X!=⚱b$}E-]\5DriTʣ>@tyE/ + iy9_PlX2۸ "ԫ }THݦXe{!MAYibcY5&ˠ+}?ae$pU^aKT0Es~}! +ƌ߻00 Io#bVM{AӧBܳ`n9乙GiHKH*p-d{iN h?bu6BdgnOK9\yd5-zkز^/EB% C$pH\yͨ.E⡄w Єk@FڕfGxLUw۸25 ek382%5,: \@%AIWfzӁ0HwiQ=nj:wR d39ruRd~Md]_S^B{RF/"dMjZ ysnX"zkZs6cM7-UctZEC(IgWTd1^$"ɢ$},_Yhefny)pߣv51kEQawU fF[%)pd4p,;)K"&I!ں+e5BV>ulzsLQR/DYo.GL7tfH.DŽ4FtF>]jiBwJ]uYSujD T97f.o{ymAqSzLYO_'ңmd:h@}hY+FƄIN~6%ۥ 7.ῳi {: mn|SShJ;~&Q@˜[3g͟h4pn =cE.^o5@yd6jBXL[3Q\e5~ڭ"ZD#2'B_-x }Zu6(SDv G-41Σα )F*XO[ԯ +_{΀즉'ƙT{6mnѫpb0C Qܝ+%b +|`w#͠S]x'-wbs~t??=\ Lu e"鵁##OMp$!f֤;Z'?$]75FW/~:m;O=kg|y\ Cvr@N$k\yFߤ]fқYH祦68a@ .(B "`#ьeEs,[ce,l-:i7\ʹ7l1p%xٳ?n"D"9{ /ضLכOqBKjb;~q0;n]4;_mYn9nI}2'GRf)͊>:-{綽{mK +[QfDHH + +2MFXN 5͖+pq- 2]ßbΪO#I [۬ a-8BZ71xnT@#m(yh}w7vױUG}Fu&n.8%!M@n]xaF *oLxSQ/ZVaH5VCooOD`u>֐B]Bb5j=Bǵ ,03X;k@JHЖ:@ MkʳZjØm0\֬Zzxf1v`&Dsb0LYV'6]lQ3NJ& ;q?KͅݞN;q?KͅݞN;q?KͅݞNRdNs^n +Y|S,Ǫ V ]bWH1*\׻?ӆp7յ1 MFކ*(| I:7 2`5,w(kavaq3_vHnD-s`ػe,yi[ swDXX$' pEjKg0<`]B.!rTK,rQɆxolXoRtc7[W|lGxi̇ܪ:7HHBhtdOJhܝkRw yZЗn'(D?Ŵiw{y$h[5TH\i["VwYjrjj 7 {O(0m#+ էrRsϡZP1gq*YXĬa+Cq8_)]ɬIHn?)) -V*9_ M(ܿ1=,d-(b xzlm + ⨂}r˻O[ꡪQ9D$եH]zAC* iBs5xnܲgTGD9@~4}ڃTA M 7;0Glp" .2ܱa[|Yp=i{+ׇC6_KMRV^:eA a_Ƃ]|;?l+|=^Ws&C?(mb<&#ĵm! +ZySA} )˅ّb &c$u".rG:/,󛧡٠Dڏi/n?A@lebl?.Y` +"ڂFIHrWMֆ~C/aFkw` RfyO&djxԙ$#x )]7~1J4^ˠD +%rJ9S._Mfn/k7[^ޠЪIq)Xܦml|řЏNQѕ_歿$sV8 Q+~Ւw]6qN{[W蠠c G5~HhCRhX9wGDˆ| qiOL{a y2M֠'Q紇e%gE`Ad0q:fPS3إW$WV9)ԑTyOX8vh$O1|eE*l}$Ŵ~YFљaeOD[!PK<K#54 "d $8c4V=x~?ӠRL-_kyaoG #vΝH'޷g?  }` ޱGil`.<f$ALH8rHfd!!L*Ѧx6BH֏wD8% pۖ߸L +SE\V7LI +Ĥ'~&n!u&a ϚHz>PjELXi"SO/J+"{D Ɥ+pN(as,2=L + ,+}EïSPނM3?\ɣ5#>dtswԸ1图3tBfⳃGz9YXgygΨt-E̚ދ!^uH:~W~6A)ȱ-\dg1.eЅC3J>*U6=RΕYxSZMT qʐ?2*N;˳E&n^@aj̡jr_Vv׀;HT[z0E+/i{$3.)aDAdWr=9{`ʡ`<, Kug?c((hnL@5`zmvK?9*1:3q"?gG$7F jA!,P Uέ.0#n! Sao@pR$mJW$=#0l2y%#=+6Np>P;ո)`~TRD4 bҫ=r O-{{"v$8cy>ќoQɹGc-#2Vfͳ96h?p%5%]ߜ*gx2; oJZ;q?KͅݞN;q?KͅݞN;q?KͅݞN]& h&~cʂk$z_zgizD?Q.% .gj<:왋;,ip9:V%rZ!"jWUPҙsUh0Vp lZ#ZYO0vJO v![}z*6cc_M)mwZwɥrc[ =Uӽ[Wd{Hխc$ 'meAav!5:"xμi#33:"FoɾgԌw]}: Yn'uW[MƹadkzAIop뿺8J W]S ++` .br{E|![!ϋϔ 4Ä0卥a0o}&23#~61 "9 R-?Sa _^G0 |8-UMWT+ۚ*MiTZtp4$&v{8E$:=tȭ|s#ܣ[,Yr6ղYCoYzh`mm8wwi#W;C@t:#bUރoB^j9s02&t*DYD,vN yQAAHk[\Z&< N|IO"4RH2ņ*_%/ T p{)W-g0pHіy!A7_jIaYgX2Ƅ [<7=mW3_dY3$^scOBW1"x!ˢ)oݣ/a6Po`S|#a- +e&8FX,c:|A"~(.P7r [z@Raد lu8+7Hwt։`丽rqj}b4z1n>g2V6N"ɄM|Ul8Fo Tc,-cMxƕgricVs/nq?Rsd*.𝓧8Z\k'X@",SUMs.;>V$5jEiGuR;R8T48OږaR=/,{{zUSw6r3͵A N-MBP>[=µ'5K>cSt6c:2-=ĉtdQ#x-DF&z:ymްqA&I$T>uiP_߁Ga}aNTZtVVIJuv{"rrF$Pk} 6{A$"TTǨ>Dfͻ>^ ջlnʤ,?.l;ıș-ɬ_۩‚ %3(Y5}6& +$T/0U;~op($oĭ 5]r] ;7ݭ2)MQm;mOurBsx;q?pZј@bhwX_W,/$ZY:,5xyQMPƒI܎.;_烪A#Ű_TnN(-$-tFU퍊Sxsqqt4! j{l8\?Yt_/Qw"\7&M0;q?KͅݞNY#StUI/AlNrRZi+CC۱Gs1L|ۣӛ*lůH#fr,aUHpAG6[zw[S{b77i+x<5PNkTB=S (Iz2u-7-Y;PSS&MQbl,Mol9oR"` <\dSqjPiI=Y+ch|-]pո =""IE규6ĕZ=DF( lr [3b +p[*_Tli[^E |\Ldojol;q?KͅݞN;q?KͅݞN;q?KͅݞN^B&Nd6)e=ȯ1Xplp9P܁cLݠ"3{) _o?%;w(|csV;q?KͅݞNyҕlCF!t;q?KͅݞNm”;wQ0;q?KͅݞN}$]zwH@x;q?KͅݞNDM,z|7.Y=_Gˠo+8s?gɣnVUHlo1xM ^E0⟵rzkO":Mg9;V/}(vTʃ(ԊG.#IHN[40 2?h1/>vCZIa77w!ĥRǯYEH|ځ9v&䣧Φ׍F-9; 0o_+WVɑhR:zުzX+[$$~c`[$=.T=iyLJ@ 6&bnuю6cYZ8dkRW~RHU67qCW#]4xKEܶ"Q|gyMaPs1s-{ oH>\(zLw)%!e`XgٚINk(ܻ.jH<eH2rZ&KxA2you⽥-afaj ;FS=r^n~PBֻ>=€A_*T+ViNanb*BG@ڃI NO߰)k-¤4q :ZVU̖PM3b0-J=1 |Ƚ0滌dh,_/ecG̢=p͖sQ[O/'VgUPIk] ФIx鼐IVؼc?KHG_= !¥p ^˙(of +X Y'|jC/Q]q b`C-Mz ';q?KͅݞNh7a*)KÆ[;w?'R!6L#CQ@e+ XkWOk-adX +p*܃#q7~{b['e %2B 2 q +]Uphf?dAe79CAnG"-9bc@c ls`E޼;=bSi)XX#ćOU,fwQRU ڷ'+mrMo;[:\:+NHd5ky3zR_6B7뢆1Y -$Bt NHN)njU1Jbr]S8|h)'Cb jEsB?pM4,QC`m BY!Su^᫿gsfXo j{?պ,TNBsF>ɤ'+ ?=#VonV2BmPԗ7I24%:܂ |?WnrD:s:l/8TPYiR$ q5J-iS,5+@ɘowgk4[]}dg#OtɈo;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN|.D]A9m=pU03X+'f% ;)B@EgE*ÖBѿ0LSEv=k/9VP DB:4k0VV).xLe,VdVV;i4;q?KͅݞN;q?KͅݞN;q?KͅݞNۍB`'RSaĥdBB3 Kf:+I54A/f x{0ZD1J8:|xHqfG|V6 +Wܯ0؂rЫ248ӧ+"qY'dQ2M3Xr Vi,Io^9W'؞0 Nx~EH~3}%dۚ,{8NVFƆݒ lld2ysb388P# =ˉH7Yb!Vu@qXca:@k7QKǩ=6aE}Sn1BpJ?^ȣiWypPΐ'3ylڃn0v,Sc +iA@E"\#$ޓnRZY§U*)F 4@VqTzeq. 8)ߓ4@Z(x.АvPSX{uMZ"ͫ;0Xi[i;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞNGT@(t2]lYaQ)| EV/ +8/AgM7@FWL!uGDOl3a%:sW^R} 2(׻p-@}@Z-`[Q\+~; L92"Vj1s/ZX-M-4Oam+OU_uGǯwнLZ2/Ȩqv$I|")f-4@mEk +&ړcPcF0j4t/Ş(dkF܅;Y\\잣Dlйr?NuzLIih7s˴SV?fM2ׂш9\Q25x^a JOOpӭb_w'#5d)s_W8x&kYm/V0yv fIrԂFVa1|H|F\;q?KͅݞN;q?KͅݞN;q?KͅݞNʧh^)LDdc!֖<sobZ<éosXnڗ]L*,,b4ʚc*v譋V^ر~HG͸,VV}~\l ЕBR%05K ((\'KRnY`j!Gw%Ꮺu*a/zJ1[3;^I~ aC~Xxlcu,a}ԧwF70V֎ R;(Ū˞Ē|c@4k1 ዯTշWOC{GW~K?Rx#ǣޱ1Q˃YU,2_>&W gF +s;6*>.aK()KF 20Ljy2񶹓 + 4ݥ=##N |YW]QC) %3bo/PWM3hljH +3~L8zb~5Z,k.m1B]4NHLS[l_I[+|_ƩN7~=\lzb"v#ΨFY,? IFc0 %ʣL_PV]oY +?#Q*7ȧ8٦4Y%p0Mqv G"CqF%MLzLfܓ]z4xM49ёI-l> [k (wHTmuyZby2 +{XqFq h=#zN"̚QϽ+?Vo+E, Bk3&E3n'fK7wѢ^HKEc˳8G-KzȒtͫ}R_'5UtxOf .C ܀yͷBw{Y ,|㹕P: 0>]n`GKx]/Lu\SOVKoX:`|ח`"k +!oM`K+kxbZ"xV9 +>r >fzPo"DGS13mƭmV[ULr]=WK: 8uut_6nQi[6'4<c.a"pic;E3U//Gddt nUUp{ P5} Pg9A'i^WԐ'u9=< &L^LN뎠ڈPisf`ҒΙBm:0ZX:eiw v|V\3a okF2)pXnB: G?\ehXF4~G΀aNh(aƗE{w^V$B+dC  N:x~Otkd3RbJ4ib[+rdY&熆ϰqsw'::f^ +We󅆤O2>6ǐXRyTt)fP^KLgȱ%h2[VGn jws}1"K+/ 1"Ffg 1MI P =7$ {@ <% aEWVW +9f:Gߚ|G&|)Q( s|J#1byqة~p"f䴪ږ+CtHllDBDq-(}[8ڍSlqʦ@bEX ߼ +AVx3ϻ R~ߤȤ3ZCe+Kͼ(, |$#>|?{[t(o!e3V^&.L' 2B:M'`E5CeH7঵7^RUI[&)p\n|VEO]NeB(_Ak"enžaf7ŃL0}@f9QEVkvPW|!UelF@>TeS)t,7!q( C>/>hF<.^U?A䘘l;q?KͅݞN;q?KͅݞN;q?KͅݞNG'BrvNg|U/m(g] 1Qbňg8]*&)7$qx/jxhb:T0aF?QvQR? +m|#Sn*Ig͢$?罠͌!}wsR@{d!-ٖfj.)x5? zTnrW1 jܺ? fcpO7(m3 [@f?Laj)5EOr]?b8(אS_3!XeRj"H9Dpi-\O¶zgѝTCEąeP!𘝃36 mH%d(e'N¶ooZM)[C};ڃ;2ssqyAMG)ےF@9? %wDL`%R-f-4Xk%  ?-I%T̜Ni!D7F3Xq CzY$=k&Q0f3~zN39F7VME\Y1zFN1}{V`EHSLBt-v@_bޏr\,؟"t $/xdΤ3%LnI /+:܋Ѐ[*}+©3%U6Zy*$j\jS.ҿ=1p ,P511 uBrYɁ vrgJ(%I9b[fd!\FGW@F҇E R|nHX`Gl8jsAnﭾD\04:^E\Dezo_}eaqoEN#pEJjj3%*ܞG?S񟔉d,DI-(ٯSX6B! +U +}YNDArmY{&pC29Um8Ycw':MuKр`5Ti=p[I_3Wc_ m"gg6P$W\li<ڡQXgتAV +h$2tZkoYb"bRrw"VI2cXOUt̂MJ29l]=#NŖE/S@kɜ0j;OS8˜oŔఙc!-QLtqׇ{ߝa6ь+ן$xg]܏&Fb)bo8$ +QqMdz86'Y8Rƚ|'@Z)J8?- +IL)&B&(EZ ~P7sk(U8ɽ,tv ;- ۙD^"qRvomY{Bd B`Fgqت`9Y*#X_XS!HCg2|NY+d3e.’1␠D[LMT=2#'C=;q?KͅݞN;q?KͅݞN;q?KͅݞN~XVAףOO`wXPNYg(tdT verhS'%g_V;aJg[bLȘ| +ebkߢ!t®-%'R_ -lk3š$LHK>mߚ@-$-@-[x̱;q?KͅݞNNJ)xqOXA"?1sހ&D` j$:\x;6~ L3+ +\(1?=>J|q&b`D +Q=hv<%sI=.r /'h̬sLȽ!pIOʆ}sD:Q +́W/'7J3Aow=Nj9!IlFҘ!?VC[ bZShط@yOⴥr"nve/fqt*pgeJ}6gSl[ж=r^u S fK~; 3ښy ;`=0I:mae~h 0!_}YZ{$LWMlOgdP%3dLQ4Y:U֕1Dm͈rL=/HT}W۟8ȊKK%dpn<"ݞZ}ZP^f.ޅ?(+ku ?6deq!r5͌UvRR"P/5 xl䔩ݱFo68TF;!~ý¡_wM~\1ezOc53VFnw#ODLT5X9yX1~l'-IKND ", EgṬaj(נE>Mԣ\q9M}{K>LfD8<6S$X0.e̹cc_|K}Ԇw-ɟr[XIm&T^\&#ZbNG:/ +ᢥ>30^Om\:(diXa!LѦ,a +ez=woY28Stܭ=5Cn恅ǰa`r*B9=`ȔT* +J!iF|siL! 7H8L%;T?u%'r}ɖPGj* ư^g ۪4mݹ_T()/kMl.fJ&"E8GU-bxT3ԉX @Rsp-ފ!MSf ӧ,ed]6ͤ~#BklPT Up5h^ ,c! ̗wn|{ΰfyDFbG qb_7R[XMi̡G啎Zk+ڽ 3 / +|ikis K0? +G3wBE (זj`1Ag{"=}G8pD/_]|ɲDҫ@m $=X| ]w5Aqi'bMp&Pp+4Tdĸ%t0w %ȻO' +J/~G̋kOĢR]/F ˦.R',O16%5yI63nn#LBjW(R$va\lSRϾ)= ql)/U}*RLv"m%-w"{H`O?!oM"imj3XѰPB3C8bzJ:Ɛ%Jed\Vc2fًyI«(Ey˜ ]A' !k'lm[pVjk_ ߏL? *PG ++'WRdkM%,ɶiD/0;vw<Ͽfǭ=^ArS~@|! +d?WcqU]w yiQJ)\4'Ix(hVE]L fhbjY'ei7Ii00g?:git7i^=eQ}Jt 0j9op0`+d% gc +7Q[`*!qܚ +yab + /[}c7-biL"Y# R@tD^kq$Niٰ@Дфjïe\U`~zEo*Va ՏC"gB }zy{F(N[}3i49!cvT,|}eNvܠz wcpYˋ9Wޏ6#Ü.")!}ci{;%Au-<[z> + i/ mh=z(QxI۩{A0b}̲0@1PA~/Qpc^\(fo$M@P{|jkjv~?͖uP\7t!Y} U>lc~VDd";oyoZ-Q"Me%s +-gs|3Xj0%Ie`^sQұ ;}!$ϵ~H-5گ(Wz^qM)Gc%B7B&-ux#JB+_3VTUת2c@r) +Y>4\>py$Hb#h5m{ ݌40^Y4q~El)y&Ν @ + n%h~W 7_sV :cuGH6')mV'\kZ9'դx3sB6|L j5jLC./ܥHBG{kT?!˿ tF~Eno +˖n:Rqz*l1 ' MoXQs"3Flv'(Aj`PKa)G ؁!q=AS!O\BAYY q_#;e Ѯ90H.[iB#" .}dJssb\R\w D eLֽSFbm- 'mI;q?KͅݞN;q?KͅݞN;q?KͅݞNjF^K}sM_SE"a :hdUEq*Wݴcʂ!Hܐwэb4N5uH 3R-]%y{M~%.Bou8i{ۭH xeKnK˒G1(5 CF*"Ic& ^eH@!~Q^s-)`b&8I|p*J1ݴ$f5#\+_| wN,ʈqPۿS=3;l cNz{ss̕c\7c6hEqCGSGXM4 ]g#$s O/`m1[eabJv~؀+Bd {o_>`!2ٌ"t1sFKZ@d P_!ΪmqL暃x=@OrO"Mb%HԐb L*&qsNDg|jzϹbjʲ9{ ښvo)Q3CR9ȅod?7L;s,Vcyl/Kq[,-!C _ޕEH1: ap ٰ#g3T$ |)^5ǻGdGDnwӈu;Ѫ<`)훹,!^-eXon` ө Ê11.@t/|(x;_wJ᫑|#zO) I#3ZΗ|>ɽ1Pd-q:dI{YH%J62mρF: Op"v d>~Úz.Eʤ_!3' qV'l=hq_EFt-*:a,uV;&k#n~pEC\t2v=6s62;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞNNV\Cgp). +D NEi!rAL(SgTt)V ;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞNK:lڵ&o89:x28#%?mOTMT0t^y+S8HI C0IE m Kr+ͥP*ø|[tL>⪝8udV}40^rgf3ͰgilvdI#?I~ò|'DEcF_xz7:Q>g=5f6܉ذnv -}k76&7\p9#r1=8:C [fzG$ϣ{I?aϡ7`1{ H_j=_w=mh{-RqG}׎$Q2A.t#%GgBDQnXy9jvnw`bڣaW929Y>"6e]"mMf6>$Zj<{ԆghzZ +\{j6ҟ ŜviU<'UT)?NЁJذ@)^,iHOO>ـsi37} I6i1%`~I yn8foA@.koλيyg*jεc]twL=W9mޖ7,r {52"ͫ#t3ij&K>\YWP>ĥe~[ m s.dp}~Qk*+DNS}hUcbh`CT>w;BJ gZ9«rMVJϑy"{1QSՄ=Y,0ry! ++ v74**$S J!7<<>)%2KCmkp1ԋ].t|o\EqCOѬ;Nf|% W{JVB$cqSp{mˁLL* {Nzom%.ٶjT~Րs Io4dO6 {q̽M, ~jrŽ0"SwuV#4򂌤Ѡi;q?KͅݞN;q?KͅݞN;q?KͅݞN/M)S@vMrnM1$Y@C,͌i֐4 d~Y$ֶ'Q&~#Hk!lrx?(: q6ҹj aFa_Y&_YNKy+W%$fҁy n㧒@^3gѶS T2^qԟ'ptiPՊ1ĘOo$jHЍwjߴϩ,DMH%!!`1#ѷ_|-/`40:7oW7s +gDLZ'J1Ur;q?KͅݞNdCRې>ӠzzJFK0ӆ cr'gK@H ߓ-vM`Q"-c0I-s-Ǚa$K$/>~\I TLlUQ4tT<=uVWX]LAIG +%x j7r]=e_ҙr/X__wx+`syh;OCH[H㐹cة gy8hSFP+3;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞNU-(Py%+l(/;q?KͅݞN;q?KͅݞN;q?KͅݞNק + i qݱ鮬{aT) eb~D,7-&3mH@rRİ/$݆o?kp3Qbv.P_aAlw;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN;q?KͅݞN z{{>ؓ/ri+#b?١wQȆhMF@OD`aM TW̯̿5QvL菪-Wy~nVaz =)8#}D?`jfgX%4n@Wh8D'pAgh7} +}ۓ`:,Fb_ Ŷo2'1uM$m e>ǾJ%uKs޻gRB: 1FР+Ojs_458&CE{-tI:"7flSkuo6 öK$F4AMsw4s/[N֥4jp ; Lq4avq3UQUAa8q.Df_452&QJQmJq ˽n~twRNNjaS#%U Qi-=Jɧ93Z y8콚tYUF9 `/\15WCd5 n&Oi 'Љ.n;q?KͅݞN;q?KͅݞN;q?KͅݞNNI{>_&Wy߿C)vFRm)t_XjW6b$Cp#Luf}9ctq(CU=.Kb&;lw۩3G8/%wqe/*yƙX<,XѪ=ẀYxO0\:9dpSt 6&bnuю6cYƜa &/p,nɼix|Ɩ-if.Cjʨ]<|o +BN7e~T]q}"܉dCvÄ,: +LilӦm +KLHguʸ:gcZaiBXuW+y"Dl46wH_bЃKB<&7a> maGSCNZR?#0E(9sVObgdBV::{ &p3%=UM'Ñx?#zŃ_׈pcSm8@JH+~[rHobZpmVī:kz. k +غYYd2MYM/&: ` ؅k<ɏ*36c8\ +攙k՚'vutWYQQ8;OXBeт}]vJ{-&Pw͞4eIЏ{KBx&F%Yn15Gq a{⑁-e%q9~K!T㣰vFwj`9FA^k mZNebqE&]Lw!g' {c^ +z-6 +1uCwYDs}C⢲M7yأd{dInfV'ͦy7lQ#G e^p!5H/1օ5y;ѠFSAm f[s!6 +|ޠ!a=MYZ#%)*넕R8Sm†SZQO-SćmN7-Q0AТGd*ߐb_X!Y|dVO3+huZ!:sw8:LӚb[|1LmD4xN[@IGXP;1;q?KͅݞN;q?KͅݞN;q?KͅݞN?P6wf1A#u00 zWjVoN HMd?PѠHf,w0Qjx&/Ĉ71cl1b|P}Q*  kANJ 8iXѳ2fT6{}h䷌BbƝ BxWY2]'sx"XOAs K=czB94XWcWv)υIkDW;WGԛ x"X@:"x䰀y9nq;hLw\DĖ2%R!-LU~oڽWmZйQ(&"/T$=w`qrA' BTH7 <&}?&nsrm Ÿ tC ~{ rٓ1NZmi.Sk!6XdaN׳DȺ"F-(CIh\V~qAt]"ʾ27N*βQtD+ìe +ÐFla`EK7 +kQx% T]%̭d pK8v4ByZsքsN? +W#P>qA8sTX;V 72lt'܂kQnLf0ĔJiϧ09iG!Ȯ?F6)^8&|  j +,&O^^ J!@Ɍ1֒xh2ryM5V<-)Hb$N'%[[|1LmD4x+PH WE9 "/Ĉ71cl1b|P}Q*  kANJ 8iXѳ2fT6{}h䷌BbƝ BxWY2]'sx"XOAs K=czB94XWcWv)υIkDW;WGԛ x"X@:"x䰀y9nq;hLw\DĖ2%R!-LU~oڽWmZйQ(&"/T$=w`qrA' BTH7 <&}?&nsrm Ÿ t%F{M=W>jpE;r(ǿQX/:kEqzӽm +NAд,G N$w@TX4~ E;r(n%hXJP!frٓ1NZmi.Sk!kV_DSP"=iu1bwO4OJ_<'>s|r 8@-(CIh\V~qAt]"ʾ27N*βQtD+ìe +ÐFla`EK7 +kQx% T]%̭d pK8v4ByZs_Oڛ٧QV\ڗQ ;G\L7| ڽעF`mr3**g$D2H츰 0y ~cAPTmKNB,y8u-0 P3{m1'\h/;X1/(XQ=_DHV_!}~q*O9䑫mjk4؞v<.FVXd3XSL=>_X{ &PJP}_(9Sͳ1!˭ :LfE:BA'Brhs ZPe[).!J-oK 1t쳣z*ĕ#frZF YS45*it8yR T^5,T5F>SW8ëqwہz30/u[8˔ׇ!3M3J +.%/3fMxh:z2~H{딢b@R홿w/qiI)lK`d2jâ;RbZ8bg[ߍQ"ƅɫC}]8^ +]U}*L(JP}_(9Sͳ1!˭ :LfE:BA'Brhs ZPe[).!J-oK 1t쳣:/1*k`>Jk]rC`PaT-(47)ay]RSW8ëqwہz30/u[8˔ׇ!3M3J +.%/3fMxh:z2~H{딢b@R홿w/qiI)lK`d2RD'XH-yMQ0}"Ʋ5@Go<ܙ xn7Qpo;q?KͅݞN;q?KͅݞN;q?KͅݞNҵ%7QI\^@ydB(tBB` KG} ,uAgD)1K +`L"p3Ldx`Ŏ;19,G;ex^~ڬ ھ;т57>vP"}&*g46X~ V_KhQl4"S<|UyἭA??eM\ܖE-{<s|jxWRֵr] 3)Ͻ> v1ĮLh2W鸮ZkyJ&c { +L&h_9 QR{dca[5Žƾ" KbBq| ïqťwdw6z4L'ْTeo^2=/ ^gpQͨLr0ؾ"Ga鞸~)LGaH*Q^27JmS$$ 3^~ih7@M >H7u5=nLB;[Tz_M{2WT1VHPK 3?* !Q3!J+0q|">FZJtۦ5wl1F)*FQ0V_f2Su HJ Bo A0o|AS'N{&\^{a s/ERdPj`vEe1h`HۼQ$­b0uoKhIlYVϱ#^ AJAd_N&\(m;FJ>Ѯ~8YbR=A3RÞW4mK9*SjNliX8Q=FmB ̓V-ʶsH*Q^27JmS$$ 3^~ih7@M >H7u5=nLB;[Tz_M{2WT1VHPK 3?* !Q3!J+0q|">FZJtۦ5wl1FeZ9dm`x,Cğ~#׈5򘍂aV!j<Ps/SpȾ1sY#Bpo{N>KM ڞ TVPANOtËn:OCZ_'S-YE-:sv`i+j]3|AS'N{&\^{a s/ERdPj`vEe1h`HۼQ$­b0uoKhIlYVϱ#^ AJAd_N&\(m;FJ>Ѯ~8YbR=A3RÞW4mK9*SjNliX8Q=FmB ̓V-ʶs`6=ku>kp0`4Fb-z7E]^"Eec*-4ǽ#V>,\$\O"9Ѧ}\ՖؘAWQO%cA!M]bc +5RpM4l&@#)ITډ3 Uy=DZ<=OnVrS. LOvIbpF^82܅}m!}^OƚzX_ެ γ(rmeux c*^,G-<#LP# mŻN}mE\} mev|creq [*i_卾8se®%/PgAVAߴ`e˻%'Cܥ;/MmS<aV!j<Ps/SpȾ1sY#Bpo{N>KM ڞ TVPANOtËn|2OJgE|-q$Ўnw*WM TGy +dӆ{J}(Sڎ08/Nǿ ӝnQ2/9de&@epӃII7S.>Q첓[L:8$O.NMe+O&A}<ճo.C"7}Mt,#hXU,D%8vpsu+-QRCinؕLG PR04#P^Gv~,3&g d2nW_U!*zuUxs7+O_=s~ժ:&]eKJ.ʂS:GOO'$d@?i uٮLoif&|Ɨ4@M{D8KZ߰=c݊u#~gwgqxᱏtM(/Ԟ͒:@?TDk]|/䭎%1lzi\G!#1Ϥ掂˵ BBx-_/ +P&@ibx9wؙ-+=CȢ*#я\bX'e _ E' Q  x-؝e :XKbΖ +L+ӇH\v+zT5 K )<^J&HxR"=E.} M@QxI=|w"D{z<+_lF0K,PBCT#3[cٔAEHC0Ǽ͋H0xlq4 r@O3)5n-ZNOuz%',kG$"G~/ -ԭ祉AY\m$kUI}CQ}ř0l \A9zGvyMx,t+JLՕDi{"Y:c=Gn;0Z4I.+?ʼ1.#t-TgZ"Nފ>qB fwn}AV,ު I\ _ѻ)+wNee \ No newline at end of file diff --git a/dietpi/logs/HC1_sdcard_build_output b/dietpi/logs/HC1_sdcard_build_output deleted file mode 100644 index 1e35a86..0000000 --- a/dietpi/logs/HC1_sdcard_build_output +++ /dev/null @@ -1,986 +0,0 @@ - ──────────────────────────────────────────────── - DietPi | Mon 04/02/19 - 10:02 - ──────────────────────────────────────────────── - v6.20.6 | Odroid XU3/XU4/HC1/HC2 (armv7l) - ──────────────────────────────────────────────── - eth0 | 192.168.1.175 - ──────────────────────────────────────────────── - DietPi Team : Daniel Knight (founder), MichaIng, K-Plan - Image : DietPi Core Team (pre-image: Meveric) - Web : https://DietPi.com | https://twitter.com/dietpi_ - Patreon Legends : PINE64 community - Donate : https://DietPi.com/#donate - DietPi Hosting : Powered by https://MyVirtualServer.com - - dietpi-launcher = All the DietPi programs in one place. - dietpi-config = Feature rich configuration tool for your device. - dietpi-software = Select optimized software for installation. - htop = Resource monitor. - cpu = Shows CPU information and stats. - -root@DietPi:~# wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build.sdcard/raspbianStretchDesktop.sh && sudo bash raspbianStretchDesktop.sh raspiblitz-dev openoms ---2019-02-04 10:02:34-- https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build.sdcard/raspbianStretchDesktop.sh -Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.60.133 -Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.60.133|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 21481 (21K) [text/plain] -Saving to: ‘raspbianStretchDesktop.sh’ - -raspbianStretchDesktop.sh 100%[====================================>] 20.98K --.-KB/s in 0.03s - -2019-02-04 10:02:34 (649 KB/s) - ‘raspbianStretchDesktop.sh’ saved [21481/21481] - - -***************************************** -* RASPIBLITZ SD CARD IMAGE SETUP v0.99 * -***************************************** - -*** CHECK INPUT PARAMETERS *** -will use code from branch --> 'raspiblitz-dev' -*** CHECK INPUT PARAMETERS *** -will use code from user --> 'openoms' - -*** CHECK BASE IMAGE *** -Check if Linux ARM based ... -OK running on Linux ARM architecture. -Detect Base Image ... -OK running dietpi - -*** FIXING LOCALES FOR BUILD *** -Generating locales (this might take a while)... - en_GB.UTF-8... done - en_US.ISO-8859-1... done - en_US.UTF-8... done -Generation complete. - -*** UPDATE DEBIAN *** -Hit:1 http://fuzon.co.uk/meveric all InRelease -Hit:2 http://fuzon.co.uk/meveric stretch InRelease -Hit:3 https://oph.mdrjr.net/meveric all InRelease -Ign:4 https://cdn-aws.deb.debian.org/debian stretch InRelease -Get:5 https://cdn-aws.deb.debian.org/debian stretch-updates InRelease [91.0 kB] -Hit:6 https://cdn-aws.deb.debian.org/debian-security stretch/updates InRelease -Get:7 https://cdn-aws.deb.debian.org/debian stretch-backports InRelease [91.8 kB] -Hit:8 https://cdn-aws.deb.debian.org/debian stretch Release -Fetched 183 kB in 3s (58.9 kB/s) -Reading package lists... Done -Reading package lists... Done -Building dependency tree -Reading state information... Done -Calculating upgrade... Done -0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. - -*** PREPARE DietPi *** -renaming dietpi user to pi -The user `pi' is already a member of `sudo'. -install pip -Hit:1 http://fuzon.co.uk/meveric all InRelease -Hit:2 http://fuzon.co.uk/meveric stretch InRelease -Hit:3 https://oph.mdrjr.net/meveric all InRelease -Ign:4 https://cdn-aws.deb.debian.org/debian stretch InRelease -Hit:5 https://cdn-aws.deb.debian.org/debian stretch-updates InRelease -Hit:6 https://cdn-aws.deb.debian.org/debian-security stretch/updates InRelease -Hit:7 https://cdn-aws.deb.debian.org/debian stretch-backports InRelease -Hit:8 https://cdn-aws.deb.debian.org/debian stretch Release -Reading package lists... Done -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following packages will be REMOVED: - fail2ban -0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. -After this operation, 1,321 kB disk space will be freed. -(Reading database ... 15499 files and directories currently installed.) -Removing fail2ban (0.9.6-2) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - binutils cpp cpp-6 dpkg-dev g++ g++-6 gcc gcc-6 libasan3 libatomic1 libc-dev-bin libc6-dev libcc1-0 - libdpkg-perl libgcc-6-dev libgdbm3 libgomp1 libisl15 libmpc3 libmpfr4 libperl5.24 libstdc++-6-dev - libubsan0 linux-libc-dev make patch perl perl-modules-5.24 xz-utils -Suggested packages: - binutils-doc cpp-doc gcc-6-locales debian-keyring gcc-6-doc libstdc++6-6-dbg gcc-multilib - manpages-dev autoconf automake libtool flex bison gdb gcc-doc libgcc1-dbg libgomp1-dbg libitm1-dbg - libatomic1-dbg libasan3-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg - libquadmath0-dbg glibc-doc libstdc++-6-doc make-doc ed diffutils-doc perl-doc - libterm-readline-gnu-perl | libterm-readline-perl-perl -Recommended packages: - fakeroot libalgorithm-merge-perl manpages manpages-dev libfile-fcntllock-perl netbase rename -The following NEW packages will be installed: - binutils build-essential cpp cpp-6 dpkg-dev g++ g++-6 gcc gcc-6 libasan3 libatomic1 libc-dev-bin - libc6-dev libcc1-0 libdpkg-perl libgcc-6-dev libgdbm3 libgomp1 libisl15 libmpc3 libmpfr4 - libperl5.24 libstdc++-6-dev libubsan0 linux-libc-dev make patch perl perl-modules-5.24 xz-utils -0 upgraded, 30 newly installed, 0 to remove and 0 not upgraded. -Need to get 36.8 MB of archives. -After this operation, 138 MB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian-security stretch/updates/main armhf perl-modules-5.24 all 5.24.1-3+deb9u5 [2,722 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf libgdbm3 armhf 1.8.3-14 [28.5 kB] -Get:3 https://cdn-aws.deb.debian.org/debian-security stretch/updates/main armhf libperl5.24 armhf 5.24.1-3+deb9u5 [2,850 kB] -Get:4 https://cdn-aws.deb.debian.org/debian-security stretch/updates/main armhf perl armhf 5.24.1-3+deb9u5 [219 kB] -Get:5 https://cdn-aws.deb.debian.org/debian stretch/main armhf xz-utils armhf 5.2.2-1.2+b1 [263 kB] -Get:6 https://cdn-aws.deb.debian.org/debian stretch/main armhf binutils armhf 2.28-5 [3,900 kB] -Get:7 https://cdn-aws.deb.debian.org/debian stretch/main armhf libc-dev-bin armhf 2.24-11+deb9u3 [253 kB] -Get:8 https://cdn-aws.deb.debian.org/debian stretch/main armhf linux-libc-dev armhf 4.9.130-2 [1,350 kB] -Get:9 https://cdn-aws.deb.debian.org/debian stretch/main armhf libc6-dev armhf 2.24-11+deb9u3 [1,995 kB] -Get:10 https://cdn-aws.deb.debian.org/debian stretch/main armhf libisl15 armhf 0.18-1 [441 kB] -Get:11 https://cdn-aws.deb.debian.org/debian stretch/main armhf libmpfr4 armhf 3.1.5-1 [536 kB] -Get:12 https://cdn-aws.deb.debian.org/debian stretch/main armhf libmpc3 armhf 1.0.3-1+b2 [32.6 kB] -Get:13 https://cdn-aws.deb.debian.org/debian stretch/main armhf cpp-6 armhf 6.3.0-18+deb9u1 [5,239 kB] -Get:14 https://cdn-aws.deb.debian.org/debian stretch/main armhf cpp armhf 4:6.3.0-4 [18.7 kB] -Get:15 https://cdn-aws.deb.debian.org/debian stretch/main armhf libcc1-0 armhf 6.3.0-18+deb9u1 [25.2 kB] -Get:16 https://cdn-aws.deb.debian.org/debian stretch/main armhf libgomp1 armhf 6.3.0-18+deb9u1 [64.6 kB] -Get:17 https://cdn-aws.deb.debian.org/debian stretch/main armhf libatomic1 armhf 6.3.0-18+deb9u1 [6,010 B] -Get:18 https://cdn-aws.deb.debian.org/debian stretch/main armhf libasan3 armhf 6.3.0-18+deb9u1 [284 kB] -Get:19 https://cdn-aws.deb.debian.org/debian stretch/main armhf libubsan0 armhf 6.3.0-18+deb9u1 [92.9 kB] -Get:20 https://cdn-aws.deb.debian.org/debian stretch/main armhf libgcc-6-dev armhf 6.3.0-18+deb9u1 [531 kB] -Get:21 https://cdn-aws.deb.debian.org/debian stretch/main armhf gcc-6 armhf 6.3.0-18+deb9u1 [5,511 kB] -Get:22 https://cdn-aws.deb.debian.org/debian stretch/main armhf gcc armhf 4:6.3.0-4 [5,212 B] -Get:23 https://cdn-aws.deb.debian.org/debian stretch/main armhf libstdc++-6-dev armhf 6.3.0-18+deb9u1 [1,487 kB] -Get:24 https://cdn-aws.deb.debian.org/debian stretch/main armhf g++-6 armhf 6.3.0-18+deb9u1 [5,665 kB] -Get:25 https://cdn-aws.deb.debian.org/debian stretch/main armhf g++ armhf 4:6.3.0-4 [1,520 B] -Get:26 https://cdn-aws.deb.debian.org/debian stretch/main armhf make armhf 4.1-9.1 [290 kB] -Get:27 https://cdn-aws.deb.debian.org/debian stretch/main armhf libdpkg-perl all 1.18.25 [1,287 kB] -Get:28 https://cdn-aws.deb.debian.org/debian stretch/main armhf patch armhf 2.7.5-1+deb9u1 [106 kB] -Get:29 https://cdn-aws.deb.debian.org/debian stretch/main armhf dpkg-dev all 1.18.25 [1,595 kB] -Get:30 https://cdn-aws.deb.debian.org/debian stretch/main armhf build-essential armhf 12.3 [7,342 B] -Fetched 36.8 MB in 6s (5,292 kB/s) -Selecting previously unselected package perl-modules-5.24. -(Reading database ... 15254 files and directories currently installed.) -Preparing to unpack .../00-perl-modules-5.24_5.24.1-3+deb9u5_all.deb ... -Unpacking perl-modules-5.24 (5.24.1-3+deb9u5) ... -Selecting previously unselected package libgdbm3:armhf. -Preparing to unpack .../01-libgdbm3_1.8.3-14_armhf.deb ... -Unpacking libgdbm3:armhf (1.8.3-14) ... -Selecting previously unselected package libperl5.24:armhf. -Preparing to unpack .../02-libperl5.24_5.24.1-3+deb9u5_armhf.deb ... -Unpacking libperl5.24:armhf (5.24.1-3+deb9u5) ... -Selecting previously unselected package perl. -Preparing to unpack .../03-perl_5.24.1-3+deb9u5_armhf.deb ... -Unpacking perl (5.24.1-3+deb9u5) ... -Selecting previously unselected package xz-utils. -Preparing to unpack .../04-xz-utils_5.2.2-1.2+b1_armhf.deb ... -Unpacking xz-utils (5.2.2-1.2+b1) ... -Selecting previously unselected package binutils. -Preparing to unpack .../05-binutils_2.28-5_armhf.deb ... -Unpacking binutils (2.28-5) ... -Selecting previously unselected package libc-dev-bin. -Preparing to unpack .../06-libc-dev-bin_2.24-11+deb9u3_armhf.deb ... -Unpacking libc-dev-bin (2.24-11+deb9u3) ... -Selecting previously unselected package linux-libc-dev:armhf. -Preparing to unpack .../07-linux-libc-dev_4.9.130-2_armhf.deb ... -Unpacking linux-libc-dev:armhf (4.9.130-2) ... -Selecting previously unselected package libc6-dev:armhf. -Preparing to unpack .../08-libc6-dev_2.24-11+deb9u3_armhf.deb ... -Unpacking libc6-dev:armhf (2.24-11+deb9u3) ... -Selecting previously unselected package libisl15:armhf. -Preparing to unpack .../09-libisl15_0.18-1_armhf.deb ... -Unpacking libisl15:armhf (0.18-1) ... -Selecting previously unselected package libmpfr4:armhf. -Preparing to unpack .../10-libmpfr4_3.1.5-1_armhf.deb ... -Unpacking libmpfr4:armhf (3.1.5-1) ... -Selecting previously unselected package libmpc3:armhf. -Preparing to unpack .../11-libmpc3_1.0.3-1+b2_armhf.deb ... -Unpacking libmpc3:armhf (1.0.3-1+b2) ... -Selecting previously unselected package cpp-6. -Preparing to unpack .../12-cpp-6_6.3.0-18+deb9u1_armhf.deb ... -Unpacking cpp-6 (6.3.0-18+deb9u1) ... -Selecting previously unselected package cpp. -Preparing to unpack .../13-cpp_4%3a6.3.0-4_armhf.deb ... -Unpacking cpp (4:6.3.0-4) ... -Selecting previously unselected package libcc1-0:armhf. -Preparing to unpack .../14-libcc1-0_6.3.0-18+deb9u1_armhf.deb ... -Unpacking libcc1-0:armhf (6.3.0-18+deb9u1) ... -Selecting previously unselected package libgomp1:armhf. -Preparing to unpack .../15-libgomp1_6.3.0-18+deb9u1_armhf.deb ... -Unpacking libgomp1:armhf (6.3.0-18+deb9u1) ... -Selecting previously unselected package libatomic1:armhf. -Preparing to unpack .../16-libatomic1_6.3.0-18+deb9u1_armhf.deb ... -Unpacking libatomic1:armhf (6.3.0-18+deb9u1) ... -Selecting previously unselected package libasan3:armhf. -Preparing to unpack .../17-libasan3_6.3.0-18+deb9u1_armhf.deb ... -Unpacking libasan3:armhf (6.3.0-18+deb9u1) ... -Selecting previously unselected package libubsan0:armhf. -Preparing to unpack .../18-libubsan0_6.3.0-18+deb9u1_armhf.deb ... -Unpacking libubsan0:armhf (6.3.0-18+deb9u1) ... -Selecting previously unselected package libgcc-6-dev:armhf. -Preparing to unpack .../19-libgcc-6-dev_6.3.0-18+deb9u1_armhf.deb ... -Unpacking libgcc-6-dev:armhf (6.3.0-18+deb9u1) ... -Selecting previously unselected package gcc-6. -Preparing to unpack .../20-gcc-6_6.3.0-18+deb9u1_armhf.deb ... -Unpacking gcc-6 (6.3.0-18+deb9u1) ... -Selecting previously unselected package gcc. -Preparing to unpack .../21-gcc_4%3a6.3.0-4_armhf.deb ... -Unpacking gcc (4:6.3.0-4) ... -Selecting previously unselected package libstdc++-6-dev:armhf. -Preparing to unpack .../22-libstdc++-6-dev_6.3.0-18+deb9u1_armhf.deb ... -Unpacking libstdc++-6-dev:armhf (6.3.0-18+deb9u1) ... -Selecting previously unselected package g++-6. -Preparing to unpack .../23-g++-6_6.3.0-18+deb9u1_armhf.deb ... -Unpacking g++-6 (6.3.0-18+deb9u1) ... -Selecting previously unselected package g++. -Preparing to unpack .../24-g++_4%3a6.3.0-4_armhf.deb ... -Unpacking g++ (4:6.3.0-4) ... -Selecting previously unselected package make. -Preparing to unpack .../25-make_4.1-9.1_armhf.deb ... -Unpacking make (4.1-9.1) ... -Selecting previously unselected package libdpkg-perl. -Preparing to unpack .../26-libdpkg-perl_1.18.25_all.deb ... -Unpacking libdpkg-perl (1.18.25) ... -Selecting previously unselected package patch. -Preparing to unpack .../27-patch_2.7.5-1+deb9u1_armhf.deb ... -Unpacking patch (2.7.5-1+deb9u1) ... -Selecting previously unselected package dpkg-dev. -Preparing to unpack .../28-dpkg-dev_1.18.25_all.deb ... -Unpacking dpkg-dev (1.18.25) ... -Selecting previously unselected package build-essential. -Preparing to unpack .../29-build-essential_12.3_armhf.deb ... -Unpacking build-essential (12.3) ... -Setting up libgomp1:armhf (6.3.0-18+deb9u1) ... -Setting up libatomic1:armhf (6.3.0-18+deb9u1) ... -Setting up perl-modules-5.24 (5.24.1-3+deb9u5) ... -Setting up libgdbm3:armhf (1.8.3-14) ... -Setting up libperl5.24:armhf (5.24.1-3+deb9u5) ... -Setting up libcc1-0:armhf (6.3.0-18+deb9u1) ... -Setting up make (4.1-9.1) ... -Setting up libasan3:armhf (6.3.0-18+deb9u1) ... -Setting up libubsan0:armhf (6.3.0-18+deb9u1) ... -Setting up linux-libc-dev:armhf (4.9.130-2) ... -Setting up perl (5.24.1-3+deb9u5) ... -update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode -Setting up libisl15:armhf (0.18-1) ... -Setting up patch (2.7.5-1+deb9u1) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Setting up xz-utils (5.2.2-1.2+b1) ... -update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode -Setting up libmpfr4:armhf (3.1.5-1) ... -Setting up libmpc3:armhf (1.0.3-1+b2) ... -Setting up binutils (2.28-5) ... -Setting up cpp-6 (6.3.0-18+deb9u1) ... -Setting up libc-dev-bin (2.24-11+deb9u3) ... -Setting up libc6-dev:armhf (2.24-11+deb9u3) ... -Setting up cpp (4:6.3.0-4) ... -Setting up libgcc-6-dev:armhf (6.3.0-18+deb9u1) ... -Setting up libstdc++-6-dev:armhf (6.3.0-18+deb9u1) ... -Setting up libdpkg-perl (1.18.25) ... -Setting up gcc-6 (6.3.0-18+deb9u1) ... -Setting up g++-6 (6.3.0-18+deb9u1) ... -Setting up dpkg-dev (1.18.25) ... -Setting up gcc (4:6.3.0-4) ... -Setting up g++ (4:6.3.0-4) ... -update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode -Setting up build-essential (12.3) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python-pip-whl - python2.7 python2.7-minimal -Suggested packages: - python-doc python-tk python2.7-doc binfmt-support -Recommended packages: - python-all-dev python-setuptools python-wheel -The following NEW packages will be installed: - libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python-pip - python-pip-whl python2.7 python2.7-minimal -0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded. -Need to get 5,470 kB of archives. -After this operation, 17.2 MB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf libpython2.7-minimal armhf 2.7.13-2+deb9u3 [389 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf python2.7-minimal armhf 2.7.13-2+deb9u3 [1,176 kB] -Get:3 https://cdn-aws.deb.debian.org/debian stretch/main armhf python-minimal armhf 2.7.13-2 [40.5 kB] -Get:4 https://cdn-aws.deb.debian.org/debian stretch/main armhf libpython2.7-stdlib armhf 2.7.13-2+deb9u3 [1,821 kB] -Get:5 https://cdn-aws.deb.debian.org/debian stretch/main armhf python2.7 armhf 2.7.13-2+deb9u3 [285 kB] -Get:6 https://cdn-aws.deb.debian.org/debian stretch/main armhf libpython-stdlib armhf 2.7.13-2 [20.0 kB] -Get:7 https://cdn-aws.deb.debian.org/debian stretch/main armhf python armhf 2.7.13-2 [154 kB] -Get:8 https://cdn-aws.deb.debian.org/debian stretch/main armhf python-pip-whl all 9.0.1-2 [1,406 kB] -Get:9 https://cdn-aws.deb.debian.org/debian stretch/main armhf python-pip all 9.0.1-2 [179 kB] -Fetched 5,470 kB in 2s (2,280 kB/s) -Selecting previously unselected package libpython2.7-minimal:armhf. -(Reading database ... 20063 files and directories currently installed.) -Preparing to unpack .../0-libpython2.7-minimal_2.7.13-2+deb9u3_armhf.deb ... -Unpacking libpython2.7-minimal:armhf (2.7.13-2+deb9u3) ... -Selecting previously unselected package python2.7-minimal. -Preparing to unpack .../1-python2.7-minimal_2.7.13-2+deb9u3_armhf.deb ... -Unpacking python2.7-minimal (2.7.13-2+deb9u3) ... -Selecting previously unselected package python-minimal. -Preparing to unpack .../2-python-minimal_2.7.13-2_armhf.deb ... -Unpacking python-minimal (2.7.13-2) ... -Selecting previously unselected package libpython2.7-stdlib:armhf. -Preparing to unpack .../3-libpython2.7-stdlib_2.7.13-2+deb9u3_armhf.deb ... -Unpacking libpython2.7-stdlib:armhf (2.7.13-2+deb9u3) ... -Selecting previously unselected package python2.7. -Preparing to unpack .../4-python2.7_2.7.13-2+deb9u3_armhf.deb ... -Unpacking python2.7 (2.7.13-2+deb9u3) ... -Selecting previously unselected package libpython-stdlib:armhf. -Preparing to unpack .../5-libpython-stdlib_2.7.13-2_armhf.deb ... -Unpacking libpython-stdlib:armhf (2.7.13-2) ... -Setting up libpython2.7-minimal:armhf (2.7.13-2+deb9u3) ... -Setting up python2.7-minimal (2.7.13-2+deb9u3) ... -Linking and byte-compiling packages for runtime python2.7... -Setting up python-minimal (2.7.13-2) ... -Selecting previously unselected package python. -(Reading database ... 20811 files and directories currently installed.) -Preparing to unpack .../python_2.7.13-2_armhf.deb ... -Unpacking python (2.7.13-2) ... -Selecting previously unselected package python-pip-whl. -Preparing to unpack .../python-pip-whl_9.0.1-2_all.deb ... -Unpacking python-pip-whl (9.0.1-2) ... -Selecting previously unselected package python-pip. -Preparing to unpack .../python-pip_9.0.1-2_all.deb ... -Unpacking python-pip (9.0.1-2) ... -Setting up python-pip-whl (9.0.1-2) ... -Processing triggers for mime-support (3.60) ... -Setting up libpython2.7-stdlib:armhf (2.7.13-2+deb9u3) ... -Setting up python2.7 (2.7.13-2+deb9u3) ... -Setting up libpython-stdlib:armhf (2.7.13-2) ... -Setting up python (2.7.13-2) ... -Setting up python-pip (9.0.1-2) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -Suggested packages: - openssh-client openssh-server -The following NEW packages will be installed: - rsync -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 380 kB of archives. -After this operation, 573 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf rsync armhf 3.1.2-1+deb9u1 [380 kB] -Fetched 380 kB in 0s (495 kB/s) -Selecting previously unselected package rsync. -(Reading database ... 21001 files and directories currently installed.) -Preparing to unpack .../rsync_3.1.2-1+deb9u1_armhf.deb ... -Unpacking rsync (3.1.2-1+deb9u1) ... -Setting up rsync (3.1.2-1+deb9u1) ... -Created symlink /etc/systemd/system/multi-user.target.wants/rsync.service → /lib/systemd/system/rsync.service. -Processing triggers for systemd (232-25+deb9u8) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following NEW packages will be installed: - net-tools -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 234 kB of archives. -After this operation, 797 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf net-tools armhf 1.60+git20161116.90da8a0-1 [234 kB] -Fetched 234 kB in 1s (205 kB/s) -Selecting previously unselected package net-tools. -(Reading database ... 21032 files and directories currently installed.) -Preparing to unpack .../net-tools_1.60+git20161116.90da8a0-1_armhf.deb ... -Unpacking net-tools (1.60+git20161116.90da8a0-1) ... -Setting up net-tools (1.60+git20161116.90da8a0-1) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following NEW packages will be installed: - xxd -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 131 kB of archives. -After this operation, 166 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf xxd armhf 2:8.0.0197-4+deb9u1 [131 kB] -Fetched 131 kB in 0s (167 kB/s) -Selecting previously unselected package xxd. -(Reading database ... 21088 files and directories currently installed.) -Preparing to unpack .../xxd_2%3a8.0.0197-4+deb9u1_armhf.deb ... -Unpacking xxd (2:8.0.0197-4+deb9u1) ... -Setting up xxd (2:8.0.0197-4+deb9u1) ... -Collecting setuptools - Downloading https://files.pythonhosted.org/packages/82/9c/e812a9838feaf76cd9a960ca4ced3be7f2db31e473677a621d006e128db2/setuptools-40.7.3-py2.py3-none-any.whl (574kB) - 100% |████████████████████████████████| 583kB 695kB/s -Installing collected packages: setuptools -Successfully installed setuptools-40.7.3 -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - netcat-traditional -The following NEW packages will be installed: - netcat netcat-traditional -0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. -Need to get 74.7 kB of archives. -After this operation, 164 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf netcat-traditional armhf 1.10-41+b1 [65.7 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf netcat all 1.10-41 [8,962 B] -Fetched 74.7 kB in 1s (48.7 kB/s) -Selecting previously unselected package netcat-traditional. -(Reading database ... 21099 files and directories currently installed.) -Preparing to unpack .../netcat-traditional_1.10-41+b1_armhf.deb ... -Unpacking netcat-traditional (1.10-41+b1) ... -Selecting previously unselected package netcat. -Preparing to unpack .../netcat_1.10-41_all.deb ... -Unpacking netcat (1.10-41) ... -Setting up netcat-traditional (1.10-41+b1) ... -update-alternatives: using /bin/nc.traditional to provide /bin/nc (nc) in auto mode -Setting up netcat (1.10-41) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - libbsd0 libedit2 -Suggested packages: - keychain libpam-ssh monkeysphere ssh-askpass -Recommended packages: - xauth -The following NEW packages will be installed: - libbsd0 libedit2 openssh-client -0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. -Need to get 900 kB of archives. -After this operation, 3,993 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf libbsd0 armhf 0.8.3-1 [89.6 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf libedit2 armhf 3.1-20160903-3 [69.9 kB] -Get:3 https://cdn-aws.deb.debian.org/debian stretch/main armhf openssh-client armhf 1:7.4p1-10+deb9u4 [740 kB] -Fetched 900 kB in 1s (716 kB/s) -Selecting previously unselected package libbsd0:armhf. -(Reading database ... 21141 files and directories currently installed.) -Preparing to unpack .../libbsd0_0.8.3-1_armhf.deb ... -Unpacking libbsd0:armhf (0.8.3-1) ... -Selecting previously unselected package libedit2:armhf. -Preparing to unpack .../libedit2_3.1-20160903-3_armhf.deb ... -Unpacking libedit2:armhf (3.1-20160903-3) ... -Selecting previously unselected package openssh-client. -Preparing to unpack .../openssh-client_1%3a7.4p1-10+deb9u4_armhf.deb ... -Unpacking openssh-client (1:7.4p1-10+deb9u4) ... -Setting up libbsd0:armhf (0.8.3-1) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Setting up libedit2:armhf (3.1-20160903-3) ... -Setting up openssh-client (1:7.4p1-10+deb9u4) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following NEW packages will be installed: - openssh-sftp-server -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 35.2 kB of archives. -After this operation, 74.8 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf openssh-sftp-server armhf 1:7.4p1-10+deb9u4 [35.2 kB] -Fetched 35.2 kB in 1s (35.2 kB/s) -Selecting previously unselected package openssh-sftp-server. -(Reading database ... 21211 files and directories currently installed.) -Preparing to unpack .../openssh-sftp-server_1%3a7.4p1-10+deb9u4_armhf.deb ... -Unpacking openssh-sftp-server (1:7.4p1-10+deb9u4) ... -Setting up openssh-sftp-server (1:7.4p1-10+deb9u4) ... - -*** CONFIG *** -sudo: raspi-config: command not found -bash: /etc/systemd/system/getty@tty1.service.d/autologin.conf: No such file or directory -bash: /etc/systemd/system/getty@tty1.service.d/autologin.conf: No such file or directory -bash: /etc/systemd/system/getty@tty1.service.d/autologin.conf: No such file or directory - -*** SOFTWARE UPDATE *** -Reading package lists... Done -Building dependency tree -Reading state information... Done -bash-completion is already the newest version (1:2.1-4.3). -curl is already the newest version (7.52.1-5+deb9u8). -htop is already the newest version (2.0.2-1). -The following additional packages will be installed: - dc git-man liberror-perl libjq1 libonig4 -Suggested packages: - gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb - git-arch git-cvs git-mediawiki git-svn -Recommended packages: - less -The following NEW packages will be installed: - dc dphys-swapfile git git-man jq liberror-perl libjq1 libonig4 -0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. -Need to get 5,514 kB of archives. -After this operation, 23.4 MB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf liberror-perl all 0.17024-1 [26.9 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf git-man all 1:2.11.0-3+deb9u4 [1,433 kB] -Get:3 https://cdn-aws.deb.debian.org/debian stretch/main armhf git armhf 1:2.11.0-3+deb9u4 [3,661 kB] -Get:4 https://cdn-aws.deb.debian.org/debian stretch/main armhf dc armhf 1.06.95-9+b3 [64.8 kB] -Get:5 https://cdn-aws.deb.debian.org/debian stretch/main armhf dphys-swapfile all 20100506-3 [19.7 kB] -Get:6 https://cdn-aws.deb.debian.org/debian stretch/main armhf libonig4 armhf 6.1.3-2 [128 kB] -Get:7 https://cdn-aws.deb.debian.org/debian stretch/main armhf libjq1 armhf 1.5+dfsg-1.3 [122 kB] -Get:8 https://cdn-aws.deb.debian.org/debian stretch/main armhf jq armhf 1.5+dfsg-1.3 [59.2 kB] -Fetched 5,514 kB in 2s (2,743 kB/s) -Selecting previously unselected package liberror-perl. -(Reading database ... 21215 files and directories currently installed.) -Preparing to unpack .../0-liberror-perl_0.17024-1_all.deb ... -Unpacking liberror-perl (0.17024-1) ... -Selecting previously unselected package git-man. -Preparing to unpack .../1-git-man_1%3a2.11.0-3+deb9u4_all.deb ... -Unpacking git-man (1:2.11.0-3+deb9u4) ... -Selecting previously unselected package git. -Preparing to unpack .../2-git_1%3a2.11.0-3+deb9u4_armhf.deb ... -Unpacking git (1:2.11.0-3+deb9u4) ... -Selecting previously unselected package dc. -Preparing to unpack .../3-dc_1.06.95-9+b3_armhf.deb ... -Unpacking dc (1.06.95-9+b3) ... -Selecting previously unselected package dphys-swapfile. -Preparing to unpack .../4-dphys-swapfile_20100506-3_all.deb ... -Unpacking dphys-swapfile (20100506-3) ... -Selecting previously unselected package libonig4:armhf. -Preparing to unpack .../5-libonig4_6.1.3-2_armhf.deb ... -Unpacking libonig4:armhf (6.1.3-2) ... -Selecting previously unselected package libjq1:armhf. -Preparing to unpack .../6-libjq1_1.5+dfsg-1.3_armhf.deb ... -Unpacking libjq1:armhf (1.5+dfsg-1.3) ... -Selecting previously unselected package jq. -Preparing to unpack .../7-jq_1.5+dfsg-1.3_armhf.deb ... -Unpacking jq (1.5+dfsg-1.3) ... -Setting up git-man (1:2.11.0-3+deb9u4) ... -Setting up liberror-perl (0.17024-1) ... -Setting up libonig4:armhf (6.1.3-2) ... -Setting up libjq1:armhf (1.5+dfsg-1.3) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Setting up dc (1.06.95-9+b3) ... -Processing triggers for systemd (232-25+deb9u8) ... -Setting up git (1:2.11.0-3+deb9u4) ... -Setting up jq (1.5+dfsg-1.3) ... -Setting up dphys-swapfile (20100506-3) ... -Processing triggers for systemd (232-25+deb9u8) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -Suggested packages: - vnstati -The following NEW packages will be installed: - vnstat -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 78.6 kB of archives. -After this operation, 206 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf vnstat armhf 1.15-2 [78.6 kB] -Fetched 78.6 kB in 1s (56.9 kB/s) -Selecting previously unselected package vnstat. -(Reading database ... 22140 files and directories currently installed.) -Preparing to unpack .../vnstat_1.15-2_armhf.deb ... -Unpacking vnstat (1.15-2) ... -Setting up vnstat (1.15-2) ... -Created symlink /etc/systemd/system/multi-user.target.wants/vnstat.service → /lib/systemd/system/vnstat.service. -Processing triggers for systemd (232-25+deb9u8) ... - -*** ADDING MAIN USER admin *** -Adding user `admin' ... -Adding new group `admin' (1001) ... -Adding new user `admin' (1001) with group `admin' ... -Creating home directory `/home/admin' ... -Copying files from `/etc/skel' ... -Adding user `admin' to group `sudo' ... -Adding user admin to group sudo -Done. -%sudo ALL=(ALL) NOPASSWD:ALL -*** ADDING SERVICE USER bitcoin -Adding user `bitcoin' ... -Adding new group `bitcoin' (1002) ... -Adding new user `bitcoin' (1002) with group `bitcoin' ... -Creating home directory `/home/bitcoin' ... -Copying files from `/etc/skel' ... - -*** SWAP FILE *** - -*** INCREASE OPEN FILE LIMIT *** - -*** BITCOIN *** ---2019-02-04 10:05:05-- https://bitcoin.org/bin/bitcoin-core-0.17.0.1/bitcoin-0.17.0.1-arm-linux-gnueabihf.tar.gz -Resolving bitcoin.org (bitcoin.org)... 138.68.248.245 -Connecting to bitcoin.org (bitcoin.org)|138.68.248.245|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 24306145 (23M) [application/octet-stream] -Saving to: ‘bitcoin-0.17.0.1-arm-linux-gnueabihf.tar.gz’ - -bitcoin-0.17.0.1-arm-linu 100%[====================================>] 23.18M 202KB/s in 1m 59s - -2019-02-04 10:07:04 (200 KB/s) - ‘bitcoin-0.17.0.1-arm-linux-gnueabihf.tar.gz’ saved [24306145/24306145] - ---2019-02-04 10:07:05-- https://bitcoin.org/laanwj-releases.asc -Resolving bitcoin.org (bitcoin.org)... 138.68.248.245 -Connecting to bitcoin.org (bitcoin.org)|138.68.248.245|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 17940 (18K) [application/octet-stream] -Saving to: ‘laanwj-releases.asc’ - -laanwj-releases.asc 100%[====================================>] 17.52K --.-KB/s in 0.001s - -2019-02-04 10:07:06 (19.1 MB/s) - ‘laanwj-releases.asc’ saved [17940/17940] - -key 90C8019E36C2E964: -25 signatures not checked due to missing keys -gpg: /root/.gnupg/trustdb.gpg: trustdb created -gpg: key 90C8019E36C2E964: public key "Wladimir J. van der Laan (Bitcoin Core binary release signing key) " imported -gpg: Total number processed: 1 -gpg: imported: 1 -gpg: no ultimately trusted keys found ---2019-02-04 10:07:07-- https://bitcoin.org/bin/bitcoin-core-0.17.0.1/SHA256SUMS.asc -Resolving bitcoin.org (bitcoin.org)... 138.68.248.245 -Connecting to bitcoin.org (bitcoin.org)|138.68.248.245|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 1979 (1.9K) [application/octet-stream] -Saving to: ‘SHA256SUMS.asc’ - -SHA256SUMS.asc 100%[====================================>] 1.93K --.-KB/s in 0.006s - -2019-02-04 10:07:08 (303 KB/s) - ‘SHA256SUMS.asc’ saved [1979/1979] - -goodSignature(1) -correctKey(1) -bitcoin-0.17.0/ -bitcoin-0.17.0/bin/ -bitcoin-0.17.0/bin/bitcoin-cli -bitcoin-0.17.0/bin/bitcoind -bitcoin-0.17.0/bin/bitcoin-qt -bitcoin-0.17.0/bin/bitcoin-tx -bitcoin-0.17.0/bin/test_bitcoin -bitcoin-0.17.0/include/ -bitcoin-0.17.0/include/bitcoinconsensus.h -bitcoin-0.17.0/lib/ -bitcoin-0.17.0/lib/libbitcoinconsensus.so -bitcoin-0.17.0/lib/libbitcoinconsensus.so.0 -bitcoin-0.17.0/lib/libbitcoinconsensus.so.0.0.0 -bitcoin-0.17.0/share/ -bitcoin-0.17.0/share/man/ -bitcoin-0.17.0/share/man/man1/ -bitcoin-0.17.0/share/man/man1/bitcoin-cli.1 -bitcoin-0.17.0/share/man/man1/bitcoind.1 -bitcoin-0.17.0/share/man/man1/bitcoin-qt.1 -bitcoin-0.17.0/share/man/man1/bitcoin-tx.1 - -*** LITECOIN *** ---2019-02-04 10:07:13-- https://download.litecoin.org/litecoin-0.16.3/linux/litecoin-0.16.3-arm-linux-gnueabihf.tar.gz -Resolving download.litecoin.org (download.litecoin.org)... 104.27.4.55, 104.27.5.55 -Connecting to download.litecoin.org (download.litecoin.org)|104.27.4.55|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 9568024 (9.1M) [application/octet-stream] -Saving to: ‘litecoin-0.16.3-arm-linux-gnueabihf.tar.gz’ - -litecoin-0.16.3-arm-linux 100%[====================================>] 9.12M 5.23MB/s in 1.7s - -2019-02-04 10:07:15 (5.23 MB/s) - ‘litecoin-0.16.3-arm-linux-gnueabihf.tar.gz’ saved [9568024/9568024] - -litecoin-0.16.3/ -litecoin-0.16.3/bin/ -litecoin-0.16.3/bin/litecoin-cli -litecoin-0.16.3/bin/litecoind -litecoin-0.16.3/bin/litecoin-tx -litecoin-0.16.3/bin/test_litecoin -litecoin-0.16.3/share/ -litecoin-0.16.3/share/man/ -litecoin-0.16.3/share/man/man1/ -litecoin-0.16.3/share/man/man1/litecoin-cli.1 -litecoin-0.16.3/share/man/man1/litecoind.1 -litecoin-0.16.3/share/man/man1/litecoin-tx.1 - -*** LND *** ---2019-02-04 10:07:16-- https://github.com/lightningnetwork/lnd/releases/download/v0.5.1-beta/lnd-linux-armv7-v0.5.1-beta.tar.gz -Resolving github.com (github.com)... 140.82.118.3, 140.82.118.4 -Connecting to github.com (github.com)|140.82.118.3|:443... connected. -HTTP request sent, awaiting response... 302 Found -Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/49765480/fd08b500-f311-11e8-8398-419cca1df903?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190204%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190204T100716Z&X-Amz-Expires=300&X-Amz-Signature=55bf712cd42a2425f68d2a08b5a05c37303ec6334d4cbdd0941b53304aa1fc8d&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dlnd-linux-armv7-v0.5.1-beta.tar.gz&response-content-type=application%2Foctet-stream [following] ---2019-02-04 10:07:16-- https://github-production-release-asset-2e65be.s3.amazonaws.com/49765480/fd08b500-f311-11e8-8398-419cca1df903?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190204%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190204T100716Z&X-Amz-Expires=300&X-Amz-Signature=55bf712cd42a2425f68d2a08b5a05c37303ec6334d4cbdd0941b53304aa1fc8d&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dlnd-linux-armv7-v0.5.1-beta.tar.gz&response-content-type=application%2Foctet-stream -Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.108.139 -Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.108.139|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 19198203 (18M) [application/octet-stream] -Saving to: ‘lnd-linux-armv7-v0.5.1-beta.tar.gz’ - -lnd-linux-armv7-v0.5.1-be 100%[====================================>] 18.31M 5.28MB/s in 4.9s - -2019-02-04 10:07:22 (3.73 MB/s) - ‘lnd-linux-armv7-v0.5.1-beta.tar.gz’ saved [19198203/19198203] - ---2019-02-04 10:07:22-- https://github.com/lightningnetwork/lnd/releases/download/v0.5.1-beta/manifest-v0.5.1-beta.txt -Resolving github.com (github.com)... 140.82.118.4, 140.82.118.3 -Connecting to github.com (github.com)|140.82.118.4|:443... connected. -HTTP request sent, awaiting response... 302 Found -Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/49765480/fe39e200-f311-11e8-9178-5d26551a454e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190204%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190204T100725Z&X-Amz-Expires=300&X-Amz-Signature=838d29594d525c1ab751e105b36d4e7838cfe37b2ee5c10e9ddd8582691beb58&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmanifest-v0.5.1-beta.txt&response-content-type=application%2Foctet-stream [following] ---2019-02-04 10:07:25-- https://github-production-release-asset-2e65be.s3.amazonaws.com/49765480/fe39e200-f311-11e8-9178-5d26551a454e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190204%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190204T100725Z&X-Amz-Expires=300&X-Amz-Signature=838d29594d525c1ab751e105b36d4e7838cfe37b2ee5c10e9ddd8582691beb58&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmanifest-v0.5.1-beta.txt&response-content-type=application%2Foctet-stream -Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.238.51 -Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.238.51|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 2026 (2.0K) [application/octet-stream] -Saving to: ‘manifest-v0.5.1-beta.txt’ - -manifest-v0.5.1-beta.txt 100%[====================================>] 1.98K --.-KB/s in 0.002s - -2019-02-04 10:07:26 (1007 KB/s) - ‘manifest-v0.5.1-beta.txt’ saved [2026/2026] - ---2019-02-04 10:07:26-- https://github.com/lightningnetwork/lnd/releases/download/v0.5.1-beta/manifest-v0.5.1-beta.txt.sig -Resolving github.com (github.com)... 140.82.118.3, 140.82.118.4 -Connecting to github.com (github.com)|140.82.118.3|:443... connected. -HTTP request sent, awaiting response... 302 Found -Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/49765480/fe39e200-f311-11e8-8fb5-c3aa7d97cb88?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190204%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190204T100726Z&X-Amz-Expires=300&X-Amz-Signature=ce7ec6f0a9944f66f01b5cac9babfc21c8ffb52fb85b90a78b30a76115661da5&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmanifest-v0.5.1-beta.txt.sig&response-content-type=application%2Foctet-stream [following] ---2019-02-04 10:07:26-- https://github-production-release-asset-2e65be.s3.amazonaws.com/49765480/fe39e200-f311-11e8-8fb5-c3aa7d97cb88?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190204%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190204T100726Z&X-Amz-Expires=300&X-Amz-Signature=ce7ec6f0a9944f66f01b5cac9babfc21c8ffb52fb85b90a78b30a76115661da5&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmanifest-v0.5.1-beta.txt.sig&response-content-type=application%2Foctet-stream -Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.238.51 -Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.238.51|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 566 [application/octet-stream] -Saving to: ‘manifest-v0.5.1-beta.txt.sig’ - -manifest-v0.5.1-beta.txt. 100%[====================================>] 566 --.-KB/s in 0.001s - -2019-02-04 10:07:27 (935 KB/s) - ‘manifest-v0.5.1-beta.txt.sig’ saved [566/566] - ---2019-02-04 10:07:27-- https://keybase.io/roasbeef/pgp_keys.asc -Resolving keybase.io (keybase.io)... 52.55.1.130, 52.6.136.121 -Connecting to keybase.io (keybase.io)|52.55.1.130|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 6909 (6.7K) [text/plain] -Saving to: ‘pgp_keys.asc’ - -pgp_keys.asc 100%[====================================>] 6.75K --.-KB/s in 0s - -2019-02-04 10:07:28 (59.0 MB/s) - ‘pgp_keys.asc’ saved [6909/6909] - -gpg: key 8B80CD2BB8BD8132: public key "Olaoluwa Osuntokun " imported -gpg: Total number processed: 1 -gpg: imported: 1 -goodSignature(1) -correctKey(1) -*** Installing Go *** ---2019-02-04 10:07:35-- https://storage.googleapis.com/golang/go1.11.linux-armv6l.tar.gz -Resolving storage.googleapis.com (storage.googleapis.com)... 216.58.206.80, 2a00:1450:4009:809::2010 -Connecting to storage.googleapis.com (storage.googleapis.com)|216.58.206.80|:443... connected. -HTTP request sent, awaiting response... 200 OK -Length: 101718267 (97M) [application/octet-stream] -Saving to: ‘go1.11.linux-armv6l.tar.gz’ - -go1.11.linux-armv6l.tar.g 100%[====================================>] 97.01M 8.63MB/s in 11s - -2019-02-04 10:07:47 (8.86 MB/s) - ‘go1.11.linux-armv6l.tar.gz’ saved [101718267/101718267] - - - -*** RASPIBLITZ EXTRAS *** -Reading package lists... Done -Building dependency tree -Reading state information... Done -bc is already the newest version (1.06.95-9+b3). -The following NEW packages will be installed: - dialog -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 240 kB of archives. -After this operation, 883 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf dialog armhf 1.3-20160828-2 [240 kB] -Fetched 240 kB in 0s (248 kB/s) -Selecting previously unselected package dialog. -(Reading database ... 22155 files and directories currently installed.) -Preparing to unpack .../dialog_1.3-20160828-2_armhf.deb ... -Unpacking dialog (1.3-20160828-2) ... -Setting up dialog (1.3-20160828-2) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - fuse libfuse2 -Recommended packages: - exfat-utils -The following NEW packages will be installed: - exfat-fuse fuse libfuse2 -0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. -Need to get 214 kB of archives. -After this operation, 426 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf libfuse2 armhf 2.9.7-1+deb9u2 [116 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf fuse armhf 2.9.7-1+deb9u2 [70.3 kB] -Get:3 https://cdn-aws.deb.debian.org/debian stretch/main armhf exfat-fuse armhf 1.2.5-2 [27.6 kB] -Fetched 214 kB in 1s (148 kB/s) -Selecting previously unselected package libfuse2:armhf. -(Reading database ... 22313 files and directories currently installed.) -Preparing to unpack .../libfuse2_2.9.7-1+deb9u2_armhf.deb ... -Unpacking libfuse2:armhf (2.9.7-1+deb9u2) ... -Selecting previously unselected package fuse. -Preparing to unpack .../fuse_2.9.7-1+deb9u2_armhf.deb ... -Unpacking fuse (2.9.7-1+deb9u2) ... -Selecting previously unselected package exfat-fuse. -Preparing to unpack .../exfat-fuse_1.2.5-2_armhf.deb ... -Unpacking exfat-fuse (1.2.5-2) ... -Setting up libfuse2:armhf (2.9.7-1+deb9u2) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Setting up fuse (2.9.7-1+deb9u2) ... -update-initramfs: deferring update (trigger activated) -Setting up exfat-fuse (1.2.5-2) ... -Processing triggers for initramfs-tools (0.130) ... -ln: failed to create hard link '/boot/initrd.img-4.14.66+.dpkg-bak' => '/boot/initrd.img-4.14.66+': Operation not permitted -update-initramfs: Generating /boot/initrd.img-4.14.66+ -Image Name: uInitrd -Created: Mon Feb 4 10:08:42 2019 -Image Type: ARM Linux RAMDisk Image (uncompressed) -Data Size: 5715880 Bytes = 5581.91 kB = 5.45 MB -Load Address: 00000000 -Entry Point: 00000000 -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - libevent-2.0-5 libminiupnpc10 libnatpmp1 transmission-common -Suggested packages: - minissdpd natpmp-utils transmission-daemon transmission-gtk -Recommended packages: - minissdpd -The following NEW packages will be installed: - libevent-2.0-5 libminiupnpc10 libnatpmp1 transmission-cli transmission-common -0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. -Need to get 776 kB of archives. -After this operation, 2,814 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf libevent-2.0-5 armhf 2.0.21-stable-3 [134 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf libminiupnpc10 armhf 1.9.20140610-4 [25.7 kB] -Get:3 https://cdn-aws.deb.debian.org/debian stretch/main armhf libnatpmp1 armhf 20110808-4+b1 [8,338 B] -Get:4 https://cdn-aws.deb.debian.org/debian stretch/main armhf transmission-common all 2.92-2+deb9u1 [288 kB] -Get:5 https://cdn-aws.deb.debian.org/debian stretch/main armhf transmission-cli armhf 2.92-2+deb9u1 [320 kB] -Fetched 776 kB in 0s (823 kB/s) -Selecting previously unselected package libevent-2.0-5:armhf. -(Reading database ... 22348 files and directories currently installed.) -Preparing to unpack .../libevent-2.0-5_2.0.21-stable-3_armhf.deb ... -Unpacking libevent-2.0-5:armhf (2.0.21-stable-3) ... -Selecting previously unselected package libminiupnpc10:armhf. -Preparing to unpack .../libminiupnpc10_1.9.20140610-4_armhf.deb ... -Unpacking libminiupnpc10:armhf (1.9.20140610-4) ... -Selecting previously unselected package libnatpmp1:armhf. -Preparing to unpack .../libnatpmp1_20110808-4+b1_armhf.deb ... -Unpacking libnatpmp1:armhf (20110808-4+b1) ... -Selecting previously unselected package transmission-common. -Preparing to unpack .../transmission-common_2.92-2+deb9u1_all.deb ... -Unpacking transmission-common (2.92-2+deb9u1) ... -Selecting previously unselected package transmission-cli. -Preparing to unpack .../transmission-cli_2.92-2+deb9u1_armhf.deb ... -Unpacking transmission-cli (2.92-2+deb9u1) ... -Setting up libminiupnpc10:armhf (1.9.20140610-4) ... -Setting up libnatpmp1:armhf (20110808-4+b1) ... -Setting up transmission-common (2.92-2+deb9u1) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Setting up libevent-2.0-5:armhf (2.0.21-stable-3) ... -Setting up transmission-cli (2.92-2+deb9u1) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -The following additional packages will be installed: - libtorrent19 libxmlrpc-core-c3 -Suggested packages: - screen | dtach -The following NEW packages will be installed: - libtorrent19 libxmlrpc-core-c3 rtorrent -0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. -Need to get 891 kB of archives. -After this operation, 2,281 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf libxmlrpc-core-c3 armhf 1.33.14-4 [128 kB] -Get:2 https://cdn-aws.deb.debian.org/debian stretch/main armhf libtorrent19 armhf 0.13.6-1.1 [345 kB] -Get:3 https://cdn-aws.deb.debian.org/debian stretch/main armhf rtorrent armhf 0.9.6-2+b1 [418 kB] -Fetched 891 kB in 1s (630 kB/s) -Selecting previously unselected package libxmlrpc-core-c3. -(Reading database ... 22489 files and directories currently installed.) -Preparing to unpack .../libxmlrpc-core-c3_1.33.14-4_armhf.deb ... -Unpacking libxmlrpc-core-c3 (1.33.14-4) ... -Selecting previously unselected package libtorrent19:armhf. -Preparing to unpack .../libtorrent19_0.13.6-1.1_armhf.deb ... -Unpacking libtorrent19:armhf (0.13.6-1.1) ... -Selecting previously unselected package rtorrent. -Preparing to unpack .../rtorrent_0.9.6-2+b1_armhf.deb ... -Unpacking rtorrent (0.9.6-2+b1) ... -Setting up libtorrent19:armhf (0.13.6-1.1) ... -Setting up libxmlrpc-core-c3 (1.33.14-4) ... -Setting up rtorrent (0.9.6-2+b1) ... -Processing triggers for libc-bin (2.24-11+deb9u3) ... -Reading package lists... Done -Building dependency tree -Reading state information... Done -Suggested packages: - byobu | screenie | iselect ncurses-term -The following NEW packages will be installed: - screen -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 568 kB of archives. -After this operation, 860 kB of additional disk space will be used. -Get:1 https://cdn-aws.deb.debian.org/debian stretch/main armhf screen armhf 4.5.0-6 [568 kB] -Fetched 568 kB in 0s (677 kB/s) -Selecting previously unselected package screen. -(Reading database ... 22526 files and directories currently installed.) -Preparing to unpack .../screen_4.5.0-6_armhf.deb ... -Unpacking screen (4.5.0-6) ... -Processing triggers for systemd (232-25+deb9u8) ... -Setting up screen (4.5.0-6) ... -Processing triggers for systemd (232-25+deb9u8) ... -Cloning into 'raspiblitz'... -remote: Enumerating objects: 61, done. -remote: Counting objects: 100% (61/61), done. -remote: Compressing objects: 100% (33/33), done. -remote: Total 5134 (delta 32), reused 51 (delta 27), pack-reused 5073 -Receiving objects: 100% (5134/5134), 23.70 MiB | 5.49 MiB/s, done. -Resolving deltas: 100% (3603/3603), done. -cp: -r not specified; omitting directory '/home/admin/raspiblitz/home.admin/config.scripts' -bash: /home/pi/.bashrc: No such file or directory -bash: /home/pi/.bashrc: No such file or directory -bash: /home/pi/.bashrc: No such file or directory -bash: /home/pi/.bashrc: No such file or directory - -*** HARDENING *** -Reading package lists... Done -Building dependency tree -Reading state information... Done -Suggested packages: - mailx system-log-daemon monit -Recommended packages: - iptables whois python3-pyinotify -The following NEW packages will be installed: - fail2ban -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Need to get 0 B/288 kB of archives. -After this operation, 1,321 kB of additional disk space will be used. -Selecting previously unselected package fail2ban. -(Reading database ... 22586 files and directories currently installed.) -Preparing to unpack .../fail2ban_0.9.6-2_all.deb ... -Unpacking fail2ban (0.9.6-2) ... -Setting up fail2ban (0.9.6-2) ... -Processing triggers for systemd (232-25+deb9u8) ... - -*** RASPI BOOSTRAP SERVICE *** -Created symlink /etc/systemd/system/multi-user.target.wants/bootstrap.service → /etc/systemd/system/bootstrap.service. - -*** RASPI BACKGROUND SERVICE *** -Created symlink /etc/systemd/system/multi-user.target.wants/background.service → /etc/systemd/system/background.service. -*** Adding Tor Sources to sources.list *** -deb http://deb.torproject.org/torproject.org stretch main -deb-src http://deb.torproject.org/torproject.org stretch main -OK - -*** Installing dirmngr *** -Reading package lists... Done -Building dependency tree -Reading state information... Done -dirmngr is already the newest version (2.1.18-8~deb9u3). -0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. - -*** Fetching GPG key *** -gpg: packet(13) too large -gpg: read_block: read error: Invalid packet -gpg: no valid OpenPGP data found. -gpg: Total number processed: 0 -gpg: WARNING: nothing exported -gpg: no valid OpenPGP data found. -gpg: keyserver receive failed: No data -gpg: WARNING: nothing exported -gpg: no valid OpenPGP data found. -!!!!!! Please check if the above really worked! - -********************************************** -ALMOST READY -********************************************** - -Your SD Card Image for RaspiBlitz is almost ready. -Last step is to install LCD drivers. This will reboot your Pi when done. - -Maybe take the chance and look thru the output above if you can spot any errror. - -After final reboot - your SD Card Image is ready. - -IMPORTANT IF WANT TO MAKE A RELEASE IMAGE FROM THIS BUILD: -login once after reboot without HDD and run 'XXprepareRelease.sh' - -Press ENTER to install LCD and reboot ... -sudo: raspi-config: command not found -E: Unable to locate package raspberrypi-bootloader -E: No packages found -Cloning into 'LCD-show'... -remote: Enumerating objects: 8, done. -remote: Counting objects: 100% (8/8), done. -remote: Compressing objects: 100% (8/8), done. -remote: Total 861 (delta 1), reused 0 (delta 0), pack-reused 853 -Receiving objects: 100% (861/861), 460.67 KiB | 0 bytes/s, done. -Resolving deltas: 100% (548/548), done. -cp: cannot create regular file '/boot/overlays/': Not a directory -cp: cannot create regular file '/boot/overlays/tft35a.dtbo': No such file or directory -cp: cannot create regular file '/usr/share/X11/xorg.conf.d/': Not a directory -this is not raspberrypi kernel, no need to update touch configure, reboot -Connection to 192.168.1.175 closed by remote host. -Connection to 192.168.1.175 closed. \ No newline at end of file diff --git a/dietpi/pictures/5_options_to_copy.png b/dietpi/pictures/5_options_to_copy.png deleted file mode 100644 index c8032c4b6a330c2cd7456761d1bca0687c3c2470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38244 zcmcHAbC4y$x+wa#ZQHhOyQl4G+qR~sr)}G|ZQHhOzn;C%-tU}?^WGo#R#e2wLR75E zRV(YuUw#>;ASVtBg#`rw001i~A)*8T0MrWr00;#E_Pqx~kU8V~1H@5CQU&6B@q+mI z>w6p1NmSiQ+1A9#)xg0Rz|_Xp+L+eS$idjy#?j2y=?b`u4*-AwKvG0d#V!4O!_^CA z;r01u>f9z)_NoI(3P}h_=t@E$6{TPq0kuWD-$9f{t=!F;|9$n^@PG;pMKsk<0#yVd z8cXw-Ha}*QedKcdDoU0hD0-Ys8fm{>kNy*aGsRmjg?VZ+Jtd}9MkAX5BH$k@JEp87 z_`fzL1W9`Txw}_Z^8d4_w&pvTg}5UMI;So`it@kBgJW{JU77nI!go z;yW%1ihvj-N3(FYj-&WoJ)LgQ-N5!Kxb+2gXGU5JEU4h~8**4R!8!@mXpRCHym#N& zeqrD1&*``BXazG!_Ze2BAKSx}5>%mPLx=Laqs%*@%KD|R@USq)Kn6>Dt?58T%Hz(q zSCA|$h>Z@|jr}*o5WN$!-#0TIkboj!NJWA!R089{`|K%HBw!aiZ%a;&`J>RU0)8D; z_bruz)tKondl`hZMF9b56RqElw>Ydt62rg~DV;u$37G%mBxW{W^W>gw+S0c#5|cGHJNudFk&2PU%lfCwUp z5Ya%;#vr<6F_ZWB2r>{L+#_WRD1vgRCMXkdq9V}?$#EWA5q4v@s$?=&x^r&YA$E4E zzXXEWoB;W+Bqk98pIhoKs%`gUN>KUrIxtY_TY?h;PEUYam5z?sv4O&w3d>P|g4RaQ3mxYFe(LbsZHB3YuK{NZ7N1_rSg4d}+Dgcng zuC_z_^4)wn9uiCI+9f0w$q^}my018TENKrGY?uNx0vCisg)9xruDh1$L1%GlGW48j zdM&UBq=nS(9p?CcdIMBpd)aFOx>WDn||F*<6sV+g36< z4HB~lLBXAqj~nwxfnNkQ$-K6-r68ti(gUd(F5E`?&b<9{EHJu5P8qZU2>9KEslTU- z9|ZSZ%ADRDjU_%dE2COPT6DI~8ugy!2l>9=0R`zG$u%n5QGFt=^m9Jct@LQp0UeKSO62AblO2>5@^|_tv zbHJvXyML)W=4#mlygRAK0hzxLc&azk+As@HiVi;zpf9(W-Er zWWy{#n!n(Rxgo{;mC?tYBg|n17Z%Zn3(%~JQd6xV6q12`Geez#hZjbFBx5y2wjG*= z?L`y3^Ulk7kjtd6%EYj|87LtHt#YiUAOo!E%gwJ_N-D*V!U!9|^9oz=5K040g=o*I z^~56Qr;aMutJX*@EMBk;McAeBjYX^`aqo7iI8EQ~KcGRIU7nU9&D=sGWk7LQMXuYW^ zg++D5=29I{205bkRZE6NH;%UISwmy-xSj_Tj=4}V9jEF%)S3+`9gcQGiB#p2tB?WYW``*M z90ta|UJ%xVJm&-{vYL>$Jl;Zl*CCih{TvVEhwnDfqM!H`uiYw+T3Xw2F4I&9Cz@!^N*d^~LEW@<<` zH{X9o1QD!evlshr$SA4=Fcz@_a0Tf?t$@v}d!{zLexPPMV>h$*zxRW*z&OAhl2bI# zH|JM525$mxn*bjeN9%z#!euAWQU`)uXbE$hPGb>P!K9}PnD!K$v03X&Q2)9QY4kxj zF_dE~0895)MRnwzZ#2jtxkEo^5#mAt~WiJd}|CI%5S;}Ux| z!vDGEUj~Z-8?6c!3%Ba=n?xPq`-mnHA{t1}2nCs)Gb6v|xgljXD7@=0n1IH{htHP3 zA&h#$_xo4Sj42k^DZ;OE0{7SV>BQtG8*YwVH@8wTv!w_A$u+IW+l>QrJm31G^GG z`%42wCvJbx=ER@?7qQVFl))CMc2x^DOHvGwe6l1h`Em$}<~0%zs)rN43L)4)5h2=0 zIY4p$ur{%^5Z>A$(N2@u+*x>cU4)iNyTypZ^NBRody9=2LF=q5rAdo>gSRiNZmgmr zO&5FzO1}1I+y5lS&1{Tfn677Gq88jCh35 z7M_@J{t@q2VOdhE8`cLU)vCC|Y5)FGALB5n)z_}DPYaxVy_M`7x)3yRQSJM|(#whV zgVSut;Dz&C|0Fi&q2)~TTmh&FUbQQgAYdLF< z#gFyqC0@@J3a3vc*+E})`_&j>%=B!$S18CCoQ&Dl);t)Er=S?atu`mYf4zXZyMBZw zg}9Y^B6KN@`;+R`I6Z+fIY3cXPVXXN2!7SLGLmiH-Lfkb{My4#taG|EkSjpXwTCAB zT&$77m`xocZ&Zz^l;4}mLaVV_gQQDb+1VI{&V#{2Ys^!sPNFxVH&pWgBqhV0?5sHU zSaZ8P!4BHY-D`_U?@QBo9dm(8A0?>L7P{IM?XM0^=3`mb{(5~CqCD*0rB|L_L4=BD>1E9P{18kWF6IZs>HA z8G1P^dD2L;)&+{W%@S9K^^0tL8sAOW**qN-i?}FHWsOh;kZ4}N<@n0L@isSQB%?Jt zG}?;Rq1oBT7yRPBGLR8>9UF|ILVC;u1OYuG=S2zsgzU>w^9%l|q3o491)9HW1iI_>=J@R^ zJB@cSjXhrJw=|0zSOXD9F(PFFY9y$|A$~<_O(`25>YfH8$=w@#xJJht4W_7Ay@&Yv zd)rNS-QKUds?EsY^S489zKzQ1k1Xco`4Nrw>m%D!E`IUl%;lLr^RFd&n$2W^w;dNN zoyLUTWNyrbP783>==(mL&5iPcp=NLl{Nm_#XVUPk4B?)-DMrT8)Fg*d32v95xz|sg zTQi!;eMhT4rbJ&B{3CV~hIuvMct?j5924958QXP`!JrdLiPhn!aK2sTH+1*bF7Vh? zCMiVE&ev%9CyqJW^`Dndj4>|z@ITV4c`Qa4e`V%f!L7(!LzVO&lpX@d`r zM6Yk5ma;vDzS71H+jg8Ia@JFNC+1EFYTS5y;B_m-W9K~0sy|sXStBs?K36b2tXr90j${KR=V+% z&eqW`*uf>n@&0r*1*JO&18ulu*5s0bs#KO|?b#kC_8^nX> z_f)uV*1oH-qB=FMsL7$q9GyN}24BFhKQqTiRaqEQ@qN?Y)CVo`9XGuUPzKpz4GcvF zqSrfAotacU#WF&g=O<@z*Ynf1>DDiA%fxPNaB5mkN2h0Lr4&-HMl;|Y{R#h;YmHV z=uM-*_*INime{ZS79KM z#5QpbiRT_K?4sMxHr;HB!ITF49p9{#E2f8_!G=e^uPQ+HH-KF8Oua1y^21 zf^O4oP1r$^5sGejq=-}bhtN*@Q8LSw1E(lk&hvgWbzoU4Qwe%ALEBuFweTc>t|T2t zPwPO}^;-@~Z8+*ZolATYwOb;#qQJsqLOOH$=*+Z>3VD0wOlIk8ZsUr;k-Sws_}CZE z7^t$Xwlk8APAg)E9iZ>Uh{>>mJX93kUb`%Jh)8LdN)c72i4S}3{%J&%E@4YH2B@j( z-jMRcpVESl=c1ObJlF$K&h)LWm;uKx_`Z45lsHa4tfbk--qhX)I%t29L(Z9-j1{nydO%}&a&hTKCPzL_YBuNnCtCSis+#7P#aAS;Rbd@KZ z+yZR5hLHYzs|z+woVYP#amHW8LaP9Y1%Xmw&D%$j?sDVBx89Ont@z;d-DXK0zHzdv zKS$WO&1xza%mdY^{G+n4tRO9PwIi<(jR!%*lgqj~pW;mE{UFIn?26k>cc zzYI?M%-wLIjLv%Z9T)*lgE<@e(Z#TibsCyq=luzHC|^W7ZE`F~H5#ww%rSoz5iWauClBqg`XVzHsJOR5cZ-;Ih?z zl|JXuoH^=j<8a;9`FuZvc@h;b;XBqkQ`g_o)8frc-CG&#BA?ql@3s!}e0Dt2d*?C5 zmF^9_c}6DwRl98wd;K&c65dVX#6_Des$~?q2o{V~IJRRpJ1{l{$D*?@p#;|&tq@S} zxBsWCPDFB0^tQ^;Bp()zSSD#~cHaEni;#=7XTV_i}U8jnKPB%sw>~_r%)(*+-}+x zxeS_Alrzda5k5?$IAHqaXpVa|`lA0PRbYd%~*$8AM> zX>*b$ZFHC1g%xS!h$=j2021y_8-_|3qChoGg}63)H|8=AHkO7EoLpe}ZAQvxUU@H(QL2NKXw=cJkZn#*Q-S zV5C(0uTb+FL^@zYB4#efXA)}l)HaA=`Su3XpT9f8o(aFsO!mPQkfc~i>**C(_FdQ5 zpQkrPFKtO1nPou$={O}z-HnjM17>{8l%9l-zH~e7!ux2#UwAiYuQ#L`7iFB>RM9o7 zaX+rqpG;+6)6#rxA)yrT#_grkaB&ydSg9v1a{tnQ6LP807R|>A3#ZJA|4jhq46U+Y zYcUw&0aeg~nP0S~sGB}<(zRH993A-x@6=p-8JoGSfWNQTRDJKt&eaxgrwB)wBi(%f zY_0Q9ySQ9UfOn>_#s>!i(n@H%+B>zT9p+3y7KZ@lq@+R5dZElqlflkQ&hH;_&xb$p z0dwTbKUw_4CDHaslO_c@wVb}ZsM0;J0GEFLDL5qh^CRrt8S$=5vHF51g>Q4A5>?%L zlfl7Zjvl88l6ZLzFM=@KNNcg0aV_w3L$ic$yUfBAIuf+>aG`au6!d1kA|QVuoWl%T z^i4rN-3fI+okKiQF*M6D!kD;luKd-Du#CR6A4>NPOGjb=CZ81?ir*Dl(0;-%Wg>595bJ@yv~ zy<6qalfj4aEp366K|I$l7nrDHah&fT+avcfb&|PqOug2e5xuyn0V~RmHt6e+Auw^7P@Wk z+n*wFa^G~4@1V1V)ta(s(R=E3+~JIM8=+gWH|tYwJA3mUFY6{t?%?s95LI zT!rfjU5oYIZ=&Zn$*bVZ)V=xSC@xLC`d_{WzLSzG`j268#&_(Bh1;=Cxhs12y+)k2s$J{GUz##Ir2H$b7hYy zu_tbSbIa_cU+iTsg$%H(L%a(ifcVEilraf>Nc%OS@F_)ZIL^@51oqNT!tXQoknaXz z#Rh5w5NtpUKbro+4@7{SGSc^;(f_fc#Vopo`dP=!Kdne;ZnfR!LG>#sHfH@>t>xpo zG%nk0`7KYQP`(xGd&Md-nZ-WFUYChck5b1X{KwZISdafZX!DON{9i6kqx@T|7+GCu z0uJJdA}e$!ZAVZia3!IY22)_i)E#Rv3R;8_gTVe-PYvSY*!LBWd6$1OoU$}Zp%X?;=S#GUw$JD6esrP(MVO4K|2%HI#QsbLXgGr6&i=oe^$DjRnhk7|YkcKeR z{eJG_UCNTz^2w0ImB~WruDg@;4<{dcw2JhC*RO2Ml1zA8g~c=Il==w0+Zz+&4t(F= zk~c|5C>^PEvB zlU4h{YK=%QJQ7)ZZoE* zZzXJhaE*QrG=Aiv5w_BPfUUxlIao<)Lf+9I;nDNN9O>En4eY#em+Y+G*!4E; zI!ZD*`5G-6{y6(GL)Tn?e&rWn7knrml<^+D3P2$diYpkK<7`Qyc6KEh+rjPcf9WT5 zgUO4;ga`Nu!l}wlpWG6d)r5u!0*_nzuUr7{FXr{NC0IzaH8KFs3)D`XnheF7!0Sqy zvu#WXvtni?GmMLXQO<{Z!$y3H{4Iba>9w-5@dEjTdpA%}1Qlsp3IHrqA|jmSmpueM{Azn)>i1NZ_7H|VI@)N;x2*!H8Y~;8)-chzO%UA_ijO?flwd%{aCX}58~}otXtH)nsZOu>_mJj=71t!Ye8<$P z6{eqRU181W`_8|4u$J|I!Glj@ddt7%@78W*-<|JiN>)Ho5>*IRS`auNB{MP4!^Qq> ztqYU2R|kE*K7yM%UpobanWc~93*Hu^2ix@0&*pQ4lSk6c!7lpU%Zz`H^##YN#Z9V5+Q{(_hiViLaj57N ze!7oi(eM^Zz+E&O$>8|FYw)rhR`y8;%|rxuDkQ z&}ZCaJ%q0>p--FJ*kB zw;~epYj9>oB*_I@qv4EaueY!Iygw3d}h-7Y53__)G>PVo)( zQ*@jrpV2E%jubd1cPNT?*&|~h7Zwqi6K~PK{*u4Y+duillZcOTIfp2E_;BB!QBNN^ zS`IO$`7-01v>n$kt{TkkEKW)v`1CH}aKe%O6WB^GuDO*-(*Hg_)P^jHjVY1M$~|Fm zm)s!9G2}`v#~;-J?tpn&bUBtxP!B@%UG+kOHhi@a^qFefYcY0@*WF@r#7zQ#Nz`A3 zxeO5<((DfXg|Mz_WYbU&NiF$?@Q!4%9q)CrJW<}a47?YmqS;aU^Tl>1pY4&v9fMjG zgRrDY*bEp4qggD+_a0WPXz?{s`tQ=VOf)Y9zE-b+5m_CRM4@c=IMZ2zAA1mvKiDg% zMT1eOG|yLEa_(-k)Vt)Q4TiXXRm+F&68%Q8i|KYUfcG_SFcAUwB!M*C6?*ab;G2wq zCSLC){*~IPu%Jiv`VpdH+F@npd!$14{Z#iR>HbtM(j|d8mcDw-T;f>!(Udqh$=3Y* zysLiv3l29@*9Qb-J`>RVo#MesrmitG$LAOM7=FbNg*>+sXiTF&#LjVKK?!;XDs)Lrq3Q9v#uID& z9MP5wTKFTpr~Aq6zIu@5Y@N*D2_{V4MWW$|SI4zR&*1KVU`M93dO{L(^@J9Gws7oi8_zy4p)wDOVf9^}lB*(NPu4 z&8Am^r#qA>t3Iii?}HW2nd&JDNaLvhn9yCwV>ihBlSidJZ5VMObf3vRW5tp2Oil!q zWc7+E@=CX`hnzexnf0{9Q(>~RDXuT~aSx;J@P?u5hGr&L!KXb=NmoK0&gzp+;_Tyb zwHj*;E@=`&;Pz_7LlF&bW}^~kCSgfiJofU`Bq?jvh3$y zr};($2i7L-d*;E}sc}VR{<9z6eo@y#4v>dxWAa$8sFI@FwqFpo6k~v*pEVk^_$%cF zb#!#ztf?}?HC(h5y9?MMm{2i%qs1_N<#~U6C&+UOEkMR=avi; zw+R47jk$iH9qudT*!O(QrWn#%U%CAr(Xp1?cm~D4vL~Y`KJ=H7#T0Pp=4MHre)SMW zAC2CzcDqcPNVnQ}US&%UneO@8f2mA(VwdLP5wei$wHO5$j?c$4I4h*JT6IZwdb4|l zIhXJo-It-H%@LW&nL9CK-DT9hfZHVGa?;>J2?PuT8pb?d%Zl827b@hhuRf(`OzBQe zo?Na57^CMbI|+XsExvdXn+AjZIe50gNTtuyn$C_Uz0T^$5~C?_6g2g~5uRVFi}cv3 z2!nwy+6Bm+%zcKwX;{BnGrH&vGIb$BQHlD7q*5 zWgf*)KDeP5JBcWN(GU`A8BzV) zT_%=6k{~zLXYbk=M3|Qpy*%KnWw(OpZ(KKvB!ow2xc_Ub?jSA?eq$x$I>7*Hb zuN$P=C>bml_>(~&V1GRDT>8Oi`41(`b*Goh!TV{8SE^g`xFX=Q<~qK`YcA-0QU$b+ z|6v0UYRaP-3syVOS&KnYm^m+T7+mafQl=y*tVEEO5Vu-Q!vGj?K>^d!1>;35bLAuw zDJJ@eTJBAIWKm3mU{26Uqa(`+Q6bxB0(;)S4Y2%KR0<=}}0fEI}6*`qG*a%?VPa8G)_C{+A9tyvR ztqe0S_?g#PvSPBZmlCpaNd9*g2x*Q9QMa3uKt)ufZ zSFedK5$j0K3*la$n(e=#b!S9C+V&_CVtw{qf8fu}o=#SWkn_{#XEbaIf~=v}S{_gl z9Y|=)yyUBZFcxcNKg0r$gu!L3W@}X^(kF2lk57G0-vjPBhA?iD>0;U~>0eF_xQ z^rL(8umEWB6N!i^^LY*x_9$3~@IrBL?oRa^T50Xjxe;up$IsqTWtV=L z$WA82##5gh1qUyfC477W`#rEoPKLa_W=&z$XRN*@Y}oW}BeM)pZ4T zcMQQE?MW=h(AyO*g0c8J9;x_MJ#z*Z=I=#ujZcrCNnO^7*IE0U5W}>g%}u>&_VA^$^=Ez@b~K?4Y{p#!KFu~+ z62SdZD)%Y??Lck@ zhd~Z8RX)aEk8?BjPf6Wt?UC7tvy`qDKc)!Y%g+l8yqPEt>AAAjSD}YO7LZ420+R`# z#BvVF^$zQn+(k{(_W<7IhDTwOis{{RT#27eZ*ImSu0obR-zl9rO1TbrjzwGX;uIRq z=?{9o!@rRr!K)OwHa{Sq9_`y|K`UDH;Vs2)t2|0MqU%~UtWSI5b<@(uWWvhOor=Pd5rmi~XCi z^!MC<6@v;3Q0%Q99DJlJ%`PQu7>v_bs{gQ(hY!Gd2I!Oi&43a_NR3ny*loIE_S7IU zWfm1OMQn+V&)0cpcmwX_*QQvNLnzOFu}!3Y#@*Y0iiu-ZkZO<+yod&i5N0>VQ0m(h z_L7ydC)%3S?X4WwhJwLL_X_xRz8*D0+=ghVcTx8z@F$L)J?UbEWpOO1z%Jn802)--y;Wz+o~TW)}NSWEuCTL*~2!R+&{ zJ&iXNKI=51E{xg+3zl$cqa_R=$-K1zc#DYM+IG9 zYY;-LXl37ngCn(_`);jwPrtDP?vyh#{C|?o56>JhfCb&+9Fz|Y+bk~BCA~wXE?@8S z(J7%`+8xM4ncqSytWmz7uIvX5I430DYK6YH@U1L6n_Az4#Q#4qr^}REYpUVQX32;u zix&&t;wBLq4~8bcaD}A!`0GKn(PgF&d*lK&b0dkh#oq1x+JgXO@brQ~lMn7Vl zll77+4WxHDYe%i@9xO$Vw8WVz^(f$ODbaZD@ZLOm`p&ugrh%kx6w%uGlK8bRw-Zdk zkcxp>bnjExa9{GCp0~vHkQvSp!G4J+LJH-ve4*&Y1Um4bnx76W-?QY9SP$HHsZnlu zAf;8|i5pEM<)uMMN>2`&&LhiQ=@Y%J6S7slhN!_8-ky)Ih1o?5P?FuG!9UwIaR*+x zCxd_dq_ff+fOq64@O{0LiFE9ivxO!@E-Y)b?Il^sZHf~BQ=nLXVh)Gzzm4Ju4dK-+ z+;qdCCvVeed;U^E4nl4hVz{=t}FX4;+sKwGp|bjbMo_@(Q!%Y9>bIWsnJUS^PEQ)UALxZh?Er`G+xPINxy3<;2PQsSfQ! zB{|;Qfc5)R11Jfn>rSI5*xaBh8T$){q$sLd7vAPO`1|Jzx)nqJ-EbY`AxZP^$=aX zS2Y5xs3`t5Bn}iU`Qivpi5Tc!n-yk6y;Oa1u5bxe<>OS`b}8$jD>!1ZHJG4MzrxZu zJqX-CWhvXZq3%1SZa}Zv%#`V5MKs9`eoF^KSkQ`B$06Rx-!y;$w^yVHh;u&Y2P4`pvnwlWUg;jnx0(L~a!|1T5-f z>z+blxfe#^wL7lyWpZtrNsCS7kc@2F%NY`>l9Ud zWD_`Fho^fpSKUMWlo1V0Nps;C)+}qaMTzS|&~?gm`SNZOp8$HaUa4lmZm zQlIv0wi5aE4;Aa|&REP@zOh9`5l4*}Q)o;EmNgACe!1D|v&Rl-Z%+lg(>2tL5iLN* z4c;qAOb6~G=j+u;;dnPr&{ZyY?U`=zyM0#jEC?QB1cs+?0i@`TP9sC(8>NIhGohHc zHm(r?NRu}kVRPhlPXd+6Mj$zen!}hosrM2FKGn>iqF^Vjx|#I@OH;T95@;H=0c7m> zD}(4$)RnA~9G-6a#6>Y$*#s-x`tpEcaWTmJQ#%dLY=1l+L_;uTCEy}Ce!MA5;`bCQ z?u@^?IR1EJn*lNhvChj!I!GUo>J#)2@~=XiDa;2#YJBl=7{mg%}e)NfNz z|3#!SCN)^D4m_<0P~&rAjIY@=7-_y?{IpN~J=3bX;qOTj;P<8qUmU&Z3(l=dDiS%l z1C`e3T=ZXI4`=l#F71I3Z%!0+xe|crVPK8&7vIfmsZZ5%U%KSNW`Pazlu;Is%#uvoQ|Jf>o z!6QtF2P+MtDixF@XLTg%+vqheLPQtoTV(p+iweXkw$nieEZU&egm;UN*rU%Q2{OO3 z!cWk1AdLHC2*Wbc`iB8xQ@#CMMfo#?Dv!?L;eG43)F-Gv^;z#oPXqIJVBG&N5}8W# zCVxZ4QovJ&$!nz6(NJm;=|~Ttcm!nL4h;9x$_(S;@MXr4m zD#vGcOCaJZVIBfU16QIIYb3f1d%N%xf$LuWl{lW%YlbrV%)Mp!IyXn}N_Wco!8k%@ zy}eI~ieO_F4$vXS^G}YD&5XXAimvO4sI0r)*3WUTE4*CQKXNU_zYIkKC+UJNGo;)f z)KYTjgA9{$L@8-Yc!;eo9u?<`s78--o1X@1oQg|}zQro!XP`4fhVJ0_(xPhS4SQCP zr|T`;-Hv|VGvo%Nghlj>kTAK!K zi>fI5E3ZNx27FP)?!gEbZ*nGY8Mh5cYuN)ZsR*RU$JbWmb}l2E(-t}Dw;Op!Uvccw za0iYqU*hniPyCRQDTanL?ATN{63B@B!U@v*o(uDYnzTTEdK2k1@DqFmacJpBj#X(4 zDQWXlXpewv*I6NC1K`mWm}~3+r;RGm#JHGD=uDlP`Ts0T(oH#v$#K%bgP^YHkdiKg zkjNoMp3A0NDdb{FcOyq_oc7_6BP%bb*yv6-oPPLCJzLv}ud zbNHHWC4WXh2K$``LqN6nx|KUF6Z;DYov!)aJHPwJ=8~b}5)-h+l)wbau^vGcX^qw9 zYX-9yeJ9M-#DG-DKn3+dNTQ)~MR^OqhTIys-9nG2jZYL{z+j*VOy}45(BPR_y*2eP zM*y#;^@XbTbc7v_8kLIc6xz4k0XEyw3^}w-A@e@5MS3#UfTWx&FNUt(3XtOUXn}8QV#7)GqzJ&S3 zu#a!h71ysQmk7^Qo`)4oN!dYR*X#5di695QEttIU;pa$O*7d-eUaw=^$(3uw;E(@M zsitUB<^Ve*iC52f4LIhPbDlCFEg6kd(WFS||uLMmnBf&@ps8AgY%rC*3L zU@m0ne!ESHyDK}oHQzO05(nK@w%wpLXN3gsvdewPQXEw2F3Iq%Hke~`$)p&ht;L3f zpUC(1LZDI;1;~z1RQipUfkx7SZjfNDl`}_x34;N^S@-#P)9_4^lFDao)}qkoBW%G z=3KUCQj;igC8rPQ?2J#0>MY#&^ObZ)w#+`{1=wtI8z<$gdGH^M$8GdQim+cVfA05?#b zZpQyPT4^_g7iDa^?HA_#_0VM79Y>5ZDh)fV8Cr%fm_L)th(%GMFswGi*LjIlm`gKz zJ4!jinw=dTmpTag-4F2Uuq(BeFDa8>h%YJIvfUpdTu`OIeX+cuqH_~PMm&$qQ;~X& z+0yWqkuKxz!^*^IjCNtmcn-{36!z4kMR%<*Sur>DcrSy#M3S)4Y4N@$+thqOtP2Nc zW}rh*v*vU^Y2g@nBCqs6bFsz1qUUmf(Z5;EIH&)e(>5@sKYuxJsMue`LTqBhC4g+=?~XjlJ4ofv2o(L#L(E;5CFePW3Zgf(c5uBF~udWWI#Q* zffg(rkt!t@vwpX%PWNt#nB}t;vQ*^K`|$fviGs5}ynmJ;WU!U}y@We}px#epc@Vgy zg8z0YO7SxVj zMbUo)V7=mjIyuJmb@{Xh^Q~7JSsIa>MX=sQGP{>@s#C9xc^l8*zhIy+*{?zN$lw!Kz*1iCS$Tz?!KL z!KOj)O>dh;bk(bajJ@;R8Cq94?{DwQbz8w(_CD^BqvVi-#QteplWhNuZB6H13TV3g zD;I!*v)ucR6s=We_im_dU40BMHC|>l1U{u=3yNEdj_jV#BAb!%!2cb{yQ^Hgyk9D>z6pv{dvk0U)I$y;#7A-Q0&;{ z%N4V0T4YctK8YYnPr$UG(DH&H!*ooBe}s|+l5`#xRT)TXtbbbt#9L3N;?i2in} z$(yQ_r+My&ntEIjtuX{e6%|0C7L6wAKn8*&&41dg^SpWz7m^Sf-V6qCckuNkZL4EG zO6O#DEL?9@oegM!FTLaJ{9-7Q(t`S;;^=hd#YTqueDP0+ zpM1<>uVv4B{T-&@{1epi%KOhtnewEqZ9}Ju%4+=MUA6Y>Rx-Lzh`S?@Lolq69n5aT zQ+5W9s1`q#RvP-0Ew!)dod4Xu>Y3dmT+Z9C8yQ@bpbUUyhm|@DQ0gXl7cCjoGRq`I>@wHGgOz5-RU>0|px$ecCSy<{#T81kG%BfY7kfr-!cyVZ?*OE<<} zG6R=WZcYYFABTKn6Ns&is^?T9bX!B@cbz7lx|j>zOIoE*9-0sMCm?zg?r|U9hu5R``Ye9hKJit$>cb{Ql059D7(SX~ zFUxpenVj^vxkqz%$(SxComBP?D?Ep`Q9C6|g)=wfpydvbX`87-N1?JoGQNqXVr}de zOiU|XouhjZx+p*bdFa8z#=dv2f#IBpuGsYa^Wf-!-TgaLS^E+1VeNNjzBp8H)%yvk z=cBaw`BMEob6Ij5;EeWO^gyr^SZ36>^ZyTD?;K=V)U^3_sjI5XcAc_q+w8LKF59+k z+qP}nwr$;d=bJC?%#Ayf|DD(o>qP9xSUXofzkJq}`heE;RZ&qOz2?lb;S>0GUht9~ z&k|np z@@wf6 z<59X}jkala93H)0oH_tFK`bXv_2dOGRWhlKN=iKPYH+jwriFNcX&=&zZ-Zi_ zPP+hVUUW&`gR7bA7ZZhsMMwMWyZFYU>7%@!DUUz({Z}qDZnirPLgbdrN*dSNNomK; zUE>IY^kFTC5Xe=e$k)=Nd{jcZj9Vh5CrLz+EcoLi48yH?{^-Csz<^e_g~A88q-+jONhJ&BKi-1 z?L9!evF#0K3_wh8BRf@)?0DXn0D~k=;Br|_XzbevbSlvm9I5@CsBV9$S8{G(#Hucy7fz=7mJ>0d036OPjq#c(BuL9y3*aYh-vGxMq$T{g zEBdRBw+lPe>dV1P+0zt4rwB8yVw*D790Rbm@C2>e<5O*A!aOx;R>zC0sSH$< zAyJH}qqOlKI-D>W!Qb+$vnv3aw_udc#j#p{C0r|ilXgS=mQC$FsEXWLFy=oxdU|!; z>ip2unU-1R8fkZSutLX^g5;%p_8mM({&}%NbS`gFB+j<%8cCWWdu>V;8|c%a74kv` zcv_-TyF+q%8EOrRh9==dW`vtS{}^81-;F+Mm_sxEX>bW_(2MV^6>yEaHAaPkWPb!V z{~@`Z$^ep9;VXBp-}$nx^*;G-AvEQz=4lAS* z=#F0uD51k_#Nf7q75A&Yl5}&8?(mX7Y?SIN9oMDCn3jK}45*q&5)kx&47TLL)U{fd z7nz)a?`X9OSJ{)%85Og}8UK@AIowp4 z*oza8wZ+1W$yue;eZ2T)UD}~FRnEaJX$!l2v|@^ceiD`eZnn(K6|JjDzVB^4V8D4; zAC+27aQdW_Oe+HQ;`5aAmgKFSBd<8(V3PN4(FBnH?3t9htDciKVIay@3YhSG9^Mn9 zA71+GDSPG_z8w@rza*xJYh`{ny@-^)plTCh@RDHVayTTa)EXUo?&^8Dvk+;4;)5Ah zq1j1%RR1mA89UnRCV{wgKUw$uGIPTe4O3O$Xv9gG8|jcdzH&dv>CrMA%dc>~gDT6I zD#~)NAirOiaJtArAcAHRkbo#*WW$gcr$M%VaT-w7kfOgT<|8L$b261l8>~Q_SZ6uA zUSUOE&QeYb1_Ar>#$m8kA6|)33;oFbT)2z270nEwR8p*>QsIH0;)>KXk6szQjzc3p zJdQD#Lqa|A%8F7cDyTshKMvH0FKze9FQ?=nkMBdoNCWG$vm`$SU%r{|`qvTUFjU+n zin#G^zu&0gdbOOrvSX_27)QH*{M`Epu%VGCE6p2oIMO3TsML;*G!@1a1f9=v4W%y) zUg^+dJm+=uHFDa0z+p()_1}kZY9O&-sC~{4Zha-hP>btbO5S~rCRDaPuBg~5RG0jk z&tVtV=suW4M3Qsn>X)XM-p(>wg_|atuxdE7N1Y`s+O@V{!*x0eq^DW)!Q+$Cgx9Is z96l}WCCdWOm{kV!20-RceA>c@zDX5h5$D)C+$dlUmXYWbZ6 zSew#m{qv)@pc-x#Wa~WbQCY7WEenEm`ZKuXGS`}H(%+5m+el=gBcv~nZ`UH~PaA5L z>kxh(00WQmSG+HOyZ&1YBfleq&v!zEztvOdTIS&#RY@hu8Y38>(cAUH5CrEGu(w(9 z#+{v_cHdg4(^(z-rpLja4A+dCqdNmXg-g!eomsi7@90dkGI+f%37P#x<{VMN>5e!ebamUeWgCB#KVWLu&ErOeH`t7`nhaL8G6danGv);TY>bX+-psMyNvY zGzx}f5Ftrp{~UwX9-50fv+a*7vkAu;P9hwzT^Q?0gIU~aBm{d-QX{r*Idr`KeC-1a z7F@yizKJKW-<@!2E2)Km;WyElpIxm^3u+l6Lj?J-4Xi>99v;DntX=~Lw>>B3&3`jK zPo_F3Uu0tD6>$$yYdI_=pv2U9bC08Si7al~x3nkAsSQ^bY$d+Pdb)Y?A>*&Mvp?+H zu>@`p>28ad^d%k?S^8 zB-3ahKh9KlnYk5GCnz*7E?d%ZoQfL%>DGP<5z;$cBHiC?+1h$E?PM4K8dpzp97`}k zc)}~sB%oE%)h;urbJQsVqZxGE7H?<-SU;4{+_+kK;lnZ8Ll8Y$9Z+fZyIU%BWE=5t zM6C@Qr1B9lTE3`zi(El?8#_ml3TlFGp`(krN+~mb{Kh;ann-2nM!DtN3F%sN3utt$ z$dyJz>2$oIsIZ;oX=!LI)CV}T7Xp65>%GyeNANXJ>MGw!e4JG4&`o@6 zc2g}>bX5rS?4XRsn8iY4)@26Xqu$?6XSzJT{iS@P4>TwY8$;O}YtOf*9kAk%8c!yW zPWN|#toBF1COBP_>rcjFjj@?@$h$~OCe~ff{jufw_k=@X{Ic`5DAXF_=^lsg0*r&j zO&`7m#_J7us7wx1E(bDX`cARL1LC~?OVCM65ZM}l#K}@`)vxSClxT3V5T4sSZDgb3 zUBQ7eOCYaROdIkCgv98P=I4u_c6f%~`!IZ!dsGIF4#w&f~Beb(mBa5nj7$Q62K zWB{-ygpzM`5Bk~oNYnRTjZ7mN$MZW0-5EjA-FCDfy==ipzjHdCO65D7`SR^ zv?{NVH9eZyU4K!NRHBh@W~Wr4DXgvj+bptEyPO`L?yLH`IuLG1mS zfkzW@3d-5JU(FYwzD1o#&Vwx*hM!QH>3L&W5HBf3w`Lj4uE>NKicY!REg-j;S+4q*c6n8?Oz@GmxgQrmP zH>+vx+z!9x!LTppvEy!@0QGcec3FkM@|?Cp;#PNLpPTN_-*x4{P#(~C^Of7@>k1fb zAyE~LgD}OrN-Dn436mL@7bIOWqvf;gQzFN{QB5hgO5T2V^7b_ex~GG-SS**<<7byb z52F6P51XZhzX?hqg3G-F8HeR zh={uSlV1*RpPaBJ`9j|^aQr;`Y~4LOxJW0>o;fUwg|2m;y!M%hG=mB8n}Eqr=9C55~aze#zC(P~Y}F zT(PF;XoPFh_&AFWoD;+zHgOABAaSJ)XFC}!hCNz*IKlBM`t}ZHPl14x0$+f-w{3Bx zzvCp|_d5e_M9JCSMCcB>)TB=Tc|$f;R>@m%+P{y_qUkhax@&4$zPPWBb3JAHEG+@C ze$%~ef6*<&IGC&J6uESHkz`e4c@nKW?#4bF&q|k9Y*D|-LJ|D)1h*ev0O5LE{Nshb zlDf{Zu0AoWk4L2f?|p*|`bG9>lUton-^ytE#p-$`{a zUvv`M@r93D`<-Rf?KzrGyn_ut`661xfL|B6+#)0^vf)m8DCxcXEW2f7)(Sbh#M_>Chx#>`66m1&|o6qo#7ZhcooY$`!QI)s^K9^o^j#DdwI~uqsz;^`g$Urpi@k z+S!|rtwrz;X}{akycD2A$;2ZvjOzqw|M&x^Q0{`M2>m@RVF zHO&A5J>e2km6(Rq*`J|+6on*1MeIA%w_-;ZV8^`3VRR&)Axt=#=hs;QTg_urw<{130% z*$qxZOuI2|>8BluGSe8TQT%rt&ne%kx(jF_D9ioNXr+(?(L?#4kysu_>BS`QpZ`3R zC)~NX6j{atx2T_2i`OjI4zAJ%OP=>u)M>=z5BDy?%Ivfp4VN{Njr~V&{`Ws?Bzm*> zMag(_FqBt=?^dy_q)8*ACf40HgLpVK98q8x3b#dH3?XIij?l7Kh+EaG_%tYh3cNY* zzs61>UvrFX=-iRDa!|Y>+OmHhGb9j0tgx@{R#xsRe(~bXpk}5zc%lt)D%MaDCvsDF z1kL5TJ9njD`Cd(c7g1$-Tk)n>dVL=9Mn54zq{pY!zq^YpjVZRs>?D<-htVpjvEXt& zWm`o!z?X2@#b}_K{MFn>1obEVv1c9Bb=JUcU|2*+%-~3!l=aRs6f7z=^Eaaga9ZQO zJ2Ne#H=e}Mr%E9oCD(lSn00Ms2#QqlJ-qOD@bt{wy&{*!DFLkaK9SL`+&f5@G17Im zXcTHZSy?}0qE~kY4d4dp21_M6UXJ?dgUm`fLZZLVP zLS8Zm>rU7vqf`14Mtn2&o16YEw4hE@>pk`EQ}ef{7Z_|@epqd7h`Mlvu7MwoyXZO> zwE1Tip=@uj44-Mgeg|;u8To|e$-`pH9Njak8NNF1#k>36(y&kNSCiPxRN%X5@@ix0 zMw4@g25<59ir)twfUMP!p>AV@nCme_cX=ha*msImzUKbu<5Q7EqEOVE4to&IR1&!} zyne#ZfjhCb8Ns}4Q?~P~+m6(1qk`7Nafa)tmjb!d*>TioMldq;a$LN#;H0ZUP9g}S z#?&Gv+)j0+IIupzLww%Gn)|Zf@Zg%lNNTCC6&l$i&*Dlc)Fv}Urv6m#y9ik0U3yC0 zYp4($1Oyv5GvO_wZM)AJxWvipE)HP(ukM`F&IfvUq9JV@=4!^5TMNvzRh6MU^X5PTI5Ve@=pN zTe8~c{Y<`~RioFFkj1qs9Q{{ISOV9@&5h112+8UW1M5$Vi16(j4A9Fm+!6VzF|-Kj zn+RLo!*hjw-QpXltqQ)vv+S*8wz% z6h_K)sW^*IftG4(5_^_p!ba2MaBH-s7mso`auGbX6);i$BA09aEA1q~!b5--J*c}i zZU)LAA4md9VmvV>1jLikk|pfP*7{Ifgwsk~;!6<9*F4Dx^T*>kK9?O1c_{Cs95aNn zS%3{n7h%)g0Av;~P@V>aH8&>zK_Y4i&a4dZuDbrctS<8B%VK?!oLVu)U)5f9*>*|z z9gExAwif^Joi`6ub zFtx8mD=$ir_86HCdlfn$Ij;xXk%MKe+lg&32)Cha_7L#?or5RAiS1c37tZ@MwbnGt z?#uoB`D68hT=Dd9wJt-}?nJZD^qJ`Ib8FG;DytR1L{3F#WOg36K{ZtGp(5swE{L$y@OXdT@xQf#Mn~iu$=%PW zd)$c<|9UYuXYcT$yYKhgy<@j}x*M&+AE zu7Qy-+2r>2kH%Ay@y+`w<^-m@@y2HMxSXCHFgTZD;g~6UnK`jEA>F zsn(Pgo8t>WXS3uK@=~$?1-JXd`jg2esEj00i+i-T2i!5fHXQMuv|d&5Z=j`2o6}zC zS>~svc{W>lu=ZyXmb2VuTPlrUf^=4&j=*qlLfRvi($E-PXCZmi;U{0b>FUJtQjQi! zeu#!5ui@||P2t(t(D zf4(qm9vLdiMsd^{yXAgay$axTeTzPsrD25cajGxoB&ACc)qfnmi)VSPB4gxFRaB!^ z;m2sRat$Gw2adA)cI6Wa?Q^{YV2(1lytXoBlPd6=>ak#t)A7@3ZsR{wS!rUjaNEKY zl=#d|WWnKZ@+^)F-CFl54Ucuv{DkNVjcZH!ej75t8QU&EW5S{3UG(zwMFT|vAAKx$fW=53ATx7X;h&sva3o=Y2!%!C945jH!uZB0y{hg3f82P85i1>FakaXZP`XKm zuGeU3Qgog*0o$|5li`Cbz6M%w#`SND+N~t1uGwhz6LZC!a&w;?=!JJG_gKX7nfSNs z=9O6KWXrKW9F3ZHKrE(n;h#q8V4T_3s_94AL{S6B@6yXQ=?Zp} zcc!rR1^=y$%O5RFK+nKn>Y${JV3I%9m-tZQ|1qlJMZK)3p$dN`D+y=pvc+q@Vw17d z>#W8e-MuCpJP`kLnLjW!h7FO8tL5^n6B`k2(?_Oc&rzQ+K|$TRm2>{zEC8;$Lcbi{ zU>Aj{jXmPXbXCsAP*l~Yek$)8n8x59+3aVwXuB#x6FIxcH71z@)IowE_3hea1eHud zc`0N1nyNs$F0C88!0s+^93#_!%5O%7iFlf(REw&AudMQ3>}JLg^Jlkqh&fVC3;>|W zNb1?okB}uFO)dVQ#$X&_&Y}(0FmjVGYc6+g|DjOG`F8ss2kOj^2h#)0rmJy zaZd{}39*CM#lYiD{1WMi<0V>!b0<#^W@ zu2UAGl$A}$gkK}f7Vk!A>uu0`-)_qFSHYV^a5xk8^uIl@!A6>!CeKf~bD>zlLKF)D z$L0Q$%Ke8FOWxg?(ee(^oo4Xgp)50;W1+&uVKa_5`asy7Qw3 zAMchkDf%RMDfkM+(W(;Gi~7X*HQ2S zZSM%3MIoJ$Z}Io9^+U^cJdi&Lope#Lpn|fjLg{Gx@}J@XAD*X<_ZqgonBbJ{+tNuy zHPka#?+f+{oeyS>za!IRfCwQ8*o=kX%og^yS>Y=wf9bnsy zR;S=ANO@c9O>l_^&w?ap1FX_uVSm?0l*aatmZ9#1sZ-+L>cLtPc%U$clie^%=w-1a zeX3BD@kj);bG}MV&}1bx5z<+)R$b#O6YR{d1NEp6$FNJ~-{i*`2rP@!+UXExf~oHYrW?0>t7xDyEo3MhRhWo>T*_=V7KB%3BUX@2{-+qO`1Ju`?58Pl5oytYO3v#6{+_>{Zxi*`y_tk#PO4Xj%i1LQIg&Zacfah4oom7*0JKe zu>c}dx)Z}O%88MXlZs0-N7#tetxRxz=#)Bnm(y@0Y|icedpqjlddk>59NW5Oe7v1g zy=d)U3hF??<-ZQXe;R{rfF>!0?UoxR=@Rmt>HfutGjrK)Q_&P{2#ixNp~iVzb)c+*eI}`HWB0?~Ldm)Q9s)Uk0O7 z660+#Z~wH>fP+z}_|%%zeRmoqoanr)Oiw(g`Jr5PRZ%0kee5c`pp61;sei_Pg=P{2U(V6em{{8T4%u zdnhf{q-$oDxew!V)(^FLju|%!)Rd1!B~FRT|D=Em(3%vnz+hJ{jeLYwf6d2nE~~6Q ztCu}`{9zJ+MR$0+H2%)UT|!$8S4Yaw2Ucu(c+k|3vdg%FsdchFnH;;>5y}__Q75IQ zSNO;pl=5Rhva0=40?(q4P}=8(Tw)1)ci+8k?tv&X2op1l`Iwsc`~L!CfN)}A3-wVH z?zig++5$+6ndxQt4Y3jLnEwC0y;7a4GZ7HyStH$Qe((QU5H-Xqll3RLN z5n9mz8_``#`YgKg*N!3d+so0fAN99Nytv43p;|M3KaqyLj@MVSML3Ne>}^y2Z~Hki z0Rk^;5{ynkh>*uZ$)G4-5#O|Vvx-rRwBU%1zpRttXc-@_HX?Ld%qSK*-U+;n=C#)g zzToany}n%HLyF!7h2oAG%ie~6?kP)q5SICzfwlgLPov%ZaU^7!{5=LWQi43QAj)@i z!G!veB&`?EV9u6nYAdY9V#ux-fmYE@ zwy>@s@()|rzUxP6<*6Us{<5|o1ktPA1LZCwGOXkT&(JJ|=PQ}a)euLp8YG2GT&ICY z{V8a6DezPhZFda8P%^YOZJ?Y<6{+w_U!yIs(K+X`brC4y>sA$j@{&5)Tr2&nwF79QBJu&70)$}ljb03wl)|G2?_fzYS8#ul;Ryu zh`KFg4faRFg226KKr?%P3wnYVGkuZCkP|7{5fb&J`&OBKq`-C2Z#m5QkeA22*pYE( z_3x^~wfz`lYJ5{^ugD7oLgVQ>z?0LMV`in^$-8<6#s;#!BhWJiX+&8Y$knZ$c}xW( zdRtMCSYd?br_0vnt1x{+R}!`NIOPguN#-vH62!-=OLZ9zFwTT`$zW8F|GriQuIR{WLmWp$I4niVUW;4fUDv1PM1Q^7yenw(^ z*s?n_Y23i1Wdm7}M+!)pnSErT4&Z!saWTpG$Eve@XYw1{XO}Q6a#xU?+%o)$Atn4L zEEEqa!s*e7mwZrbCx{6ywet@!@`;87v5ccQNIVfq2QyN5Sdb(h_AyM997pnwxH*g# zeP^MqU4EErwiQt~i+`99M=+XTm=H(Xx_5dcRl^?I7`m7O#Bbs+ry!V{$AYhrgO^>$ zatDYM=A^v;0k)X(2iw@zWz7FgjzFMC{LVN-;}ODwS;MR+cyB;C+8{urGy=ZdNM-67 z>4iDwDKTrj`W5oB5UnFGM^1`qqHbQ))}`gbxs0=l$V8B*)>hHhOj>1wN3}1PAr%9? zI0cddSWRW%D_I-Ga$iDJa7|k|Yl7P4>eGZo%zYbx{Ay>bucAuE+e$$aZ%C)Cr2!T< z$ugZ|W88o8ny|6$8I}pS^XPgZ_UBUT8BgX55`QQfjP^LW*rLi|?EjX0O}V$Y1fgLsU$Q zmu-)b@M_;m$tn#)AVs)ys=`VQafLH!k3&3>TH4Xcl6*uTqM0_@%qe)v-4aNeLQ|(j zq|QZJE=4>3+JIAZVAv(|u)8ah#r1K6M}h|B;(k_}pTvz7$8PAi(?lU>gG}R>B3iPq;jx#A8{MgR(so&3Ez@9Qoq1% z=__;mk+I{3!H=CaF!AHDF?SB@=ghHIQLU``XCbll+*@_@^>4XLyojo5;i-_AdtLdclXJ|E{-gyedP7UE_g0<}h zJ@v7NF9_AY+!B|z+biJn=Lkz`X9S|x8qty`#T1fZck>TD#z;d4(GpC*%MhMuc!ALxPf9Ls=X$bdX_|CdvVFvG&deM(uS`v1N7V(o)t{oZWq&QSH@)q5TgL zyhXxc{EUcxHvh~H)?TP}e)ItaQg^eH*|Fin?J0LRErGpvrWHX<$Q z>G9``Qo$)L?;y(Y8h z`plg0?aB-_ud!cm2uFEEt>RTENgniALu`%P?%opr*-wleY>8(;B<${0>ra0=zNLKs z#yQ0s-8Rm%Q+O3*VN!^eC?kcX2B}^xXcGTXB56LqGcFc3W5T5W}h$wi4_`cnR{P)Qm02UqRyfMV2r}A!UZa!WUvZ}2lFCd z`6E+*#_Gzt)XT%&%HpH$mvr2&E_VH@%L#+dFzxEgN@{`rt&L2LQ3;(jb#lc31}1=b z9N=n5XO?|56$G7v0wP6nuk4t`#RD_`IQI0f#?nO!=_%86TTAbaZ%$qXCQGP(c>;IE z3!WYu;EfcfEzB#WF!`+3U407$;5vIb%4Gf@cSVK9`JK^1p-_1kB|& zR&Nfay1o9%A9*p?&P?unug-@3|0B*=N2^Sf{Wlz5qG|VEl=**2Ib{c7+nBS;!?n!1Ze5>qAg)i%A$fzM2 zjDJKzYRAP&cpXg24iY@6V~~;;8;@NDW}pf}p8OQD{pBgK`IV$gu@WTFX&A*@71k$> zsQ_-P?_uBSV1vTuN#KG3dQt(7;H|;7!fMRmx$N+x?NIawtsS< zw)*&f&)ECQ_0sB%J)g?rK^Y6 ziqOb|iK}sgdp=a3QJuGE;&5_S!KmYH+FvUdBiLoP&>x0eqry4ZZrltT?7v9%~uG{Qex zeE!jQoV9AO(9zqpi+6tL7aY%6MU}}ru>IJ-EH^8t%%hGGOF0uv`AircPWlkEFV3i6 zwOyHB`#qn4ZQ*LvHI2$RCv|t9=`4-DrHwld?5?JewQ09TdC9%o|`+P7dp zl(3lhNgBzjf>;`|0SrWc{>zN^j$>ZrCY#-D!<4WbML&qYI1Z2_>Tj0ncw(1AV^@Wq(!GwFuqy~ZI z`m{&;jb)e#?k;&g>CGLM-+U=jLR#v@g|2}#m#w+2 zE7T-EVz5GI1t)J|K5Qpq`J-WaBrCi-^Zs{o+)BJP0cX2Xw_Dm9*Yi$f5Bp5RQwke| z*7x7H{mAQuhBtEh3a*grn)VAGF-ok?o}|Sw!_(EIv0rph=lj?x_OYnG7Xl*xqi>DS z+xEJ6H2P@2{{*(iC#OcdC?ny+1zEnW&G0sV(MJL<5TuF@-~%U3+_-cru?PtMq2>L3 zZ+q_fH`>RC<}au_)xM08J<;vG=#RE!i!ZKgZLcay>|%4=gH28jRtMms06@xnkN({_ z7`6uiI+rI&e0xhqrdUGu!L$uCS~~+S z(mDx*NM8pW`amqvz{N^*jRslJ+y8}02T4BLq-y!rxB$HIexc+ynr3r6Qol^M{`njG z!dTsPOB&(kGfWz&RvS(d+jS}nYu0wZvyxNvI1>c%XYDj~P@j{P*Ut|d!O!pXM5jM= zIH~?pm)sxIsgmkh4pokBh5)<_d0t^mjhwyiQvkD7c4bCjIs5;8KKY&|A|2H)cpC zTT)5pcD={v-@Ku znTW>T@kKr*+~MZRqvh(PeT4a7z5d_ybW7lz=I=vkh+*Xxp=W4AZ@jQ^s|x*Fb*dr{ zQpY2`@)SlhkUs4GIGp#P*vlC1qKw=eG>6ApwZI3!D?7Vz=2JkMAmq7g}gM{22 ziKBwdsl!n=^1LbUSJ8v9`cakdzDn1gQTyT1bZg_7l0&BM%TBwyJomp7h$@yJpUI!UC|Iwv*c|kv8Qr7)JJV9vOP?=tcC;%B9Ht2Y^1wv zL_mLe3!V1kRqI2ckpH;Qbdrx8X`2*ND#kTL&K`oLpE)g~4MwQd4qj_`O8;ZulV8mr zon<#+98+%3o=LicaS~<9;@_Ja_=ae6v6jyEN$`YAWmwV7jAVe4C^`JI%hd{dyudUN zPwS^~;NHhTni@;-&#yltCKM9>d)wUjnH7=Dc1?rXe4}?5;d>KpWmcny|No`i8`a8D z9uTBb;Kw!q%Qgku4J6y*uj~gY4*_6p--Ov>3IEDU7{njHLrovuEQBcM&SUhS=uYfYx%0zA1i;J29xPMY7Fv$B!j)1y&j@E z7qo&yI|1AilYr5YIOwJ>=x%T9S`(7QJRlWokP)|xDb6LznN0`3?Cy18;RPveH$!+_ z7#&d-qF5;B+xZ|(U{apR%zTfTU-Yp&DGWNgi_`5G+h)H+gzpx@uTUkLTVx!aU`vR0 zXRlYi3nJvSmn^rNj|}W?t&~5rWG5tMc8IjWsPjwBn>FEh^Qwr5Z9xRn}TX4S^otbRaJFT zAoWMm5Y!*%w*+0PG|^{^&++m}3f;HaP|5^^(^G>BV*gO~U*1%IaaVq-=j@Ntf5|P$NvtozDn>Rf0f>AF%EZS4ojLt#r_gv6`AzR(%>+wkRsfJhaXPS z*hBa91Payg(z|sA+&`rCPI%grWTLnfD=Le$Qsp(m6gW3a9DS3}zm?)y)H9DHq9~62 zLNsfKivjR7=s9koBT4tnb+5*A#LnoN7gJO&v@@GE#BSU?Am>e=kgx69mOj~33jM!e z`aX(k>nuF;CB4;YUVc%9Pr~Q9TGtJ8*;Q8mW@m&YNwlU-7!nu(4v9nmCzqA34Cka- zJS7ML_jJ{S8CPhSgVF2Kd_gL>Zbwg+qRm}T|F2S`!x2^YsK*Z;V;Szz(z8DjXxzOO z!X~`Q#Ef+&K!J!YYS2~xH^99~muI%=iGI*~I^2CCVB-ZD4*Id91{~JBtb_>?9s13w z?#%RP=2({Q911dCO=KT)uprpVK&YRFZ~akjY={l2!L3nH3)e3b=P3_EVUgVFqP|eF zB6O2e9{tQp#KxwlYY>0lr;|UYtPZg>u=)q|1-&GM|IHWBvt?@hEW-F{^3P;qxS<4& zC3;ZPuMQMiI~F<>buKZjfr&g|$>yzndN zu4kShCigXonKeoXzjOHi6YkDtUn;Ai9a?yMJp_LV6XbM<$=ukp#k6Ev$&&s7{U8n1ZjfhIv+X0w(?_X zbP=PrDdYn&wO%8ap%5%^Axx%)4H6=b5H_Whqbb-k=!%P}HVBSqOL~sk7*upP2@n)t zURn}Y>&Wmy=q#c1#cGx;NXOHO(EsCST-s9z5ip%+doE<+?dz%5x-i!g4?pvd*(aiC zF-x$ga9Zql)tAp>u+#|uV>XA-Tw{I^EvpsYZrZ6(n&hM;b35B)lMS^slAod)X=XA78slx5qNCR>yN?m-gv$7Z6 zWEP9n+`V-x1u>}fA>4T-+bC&{nr=SnO@ir7E|nb5_wd7$IVF0ui)zb~XpP2>=v9M# zN|v@#Q~+WUBlkjdu3qhEMFv zDvMM~SEra5{QQ@gUR9MH{{6@(C^;wZfY|~6>VI2#zGsgvIkc+j8Zf=}x20J=4fo%OyZh>}xhNI$iv} z)WP9F*qI~r$jo?qY0%UVnxW@_04-s=P99O?2OEsdexnr%BV!u*d6sqy+6O0VHRIH- z*Bb?+V3Jak3I#8b$h#-c%0%$Xuxw1{LuXWXr}-CKISCz`mk;+K1;XoYg>xOXqGd0Q zO3vXzGW-e2M`6;&ZUXK2Yl(&@w!X;X2IEy_rKe7Xz$0_1{rESHy-O81!%)>W}N}ewcRS@8ErJb|91z)-CN|o~StCOP8c=?3arFS>i zB{OOCS%q0&SmqzAm%m!fPJ9IyQ~Yfv7HwY57u21Hw#`AptqGlafk|0^=2x=eESx~-Q43#IL_E6)Mf*(( z$jDX-*WElzc)$7!d-taTQ=crdo9qJ2R`#dI`%@}ew^QJ(UkFl56+yY_dql3H)mr=izt~sxkc5IUESg4otKEE)(KIj}- zh*td;$niwWpGD5PN)hT-3wuF28t&#bg*VX_?#S@mn@mllBS?riy>(T@Z5i9Y_*W|8 zEf(!2zjaz=P{gIP81#{h(r?o)=Jz% zPV>tzMYJ?DNZEmDAu)nBY1+>eH53Xv+oL3H{TCneLOb@6kk8eNGTqA)So&mz&9|4r zCvi(^Us$`B_Ke{cS`^2(-P4QBHp;=e*UG^ri=S}HQmuK4zOKHE+(^yG9uyO4)vKG0 zE0a!<@&an%%nou)S+9bF`i6M&Fb)BxdP5$cUS|FlSzdpl&Z_VcE+Ochc-c8!|DW!z zJQ@nN?T=JsNeNG6s7N7{wFn``E;DAxE{d74MV4feo-C=M7^Vnmm@#9^l4X!A$yf?w zY#9pJ)Ecg}t88!`3Padk;h z_;SOxxM=9pz^vUzizn{=&i<(#mi_C^gJ`CHN#=%c$y%_|gKiUYz}11x7)=+Kh}P?j z#IvhlPjW`_Sn8`OOf$Z~*p%#ZIo~urIpcz`R zXweXf$$~LMq2H>tR2ID5nHOgcG#;;Tl_kXF)ge2fzAG;@DiRddr3)}WUCL?PTdlQh z{>vd`Wvx#j^?V+0zK%LMP)!?ZE4$ivtLo1lVr+^5j(DJnx)pRDHsqmmB7S*ULpjQU z#3{`zOUVG*cbd?{jBJDmX8N1OqzMm_+U`0z1A1avc!A_18wnFZ*A|L!wAk64)ej~S z8{Gq2Pj&ppVh;B=YXfoHYO*rlLX(kUjoSlDFJfq+JhBK%iy=HLPV5K`;+>1KPUB>= zNH;^3y5XHOBX+!B=_bcC3Ug0qlx1khv-?-zJBlUSkwvaGyVr2Xb%k|~cz;h@QJWjr zir}6gWw=)F^t9YCTAcos1x1yYICNfK! z{8htQHYh*2%4>Ts^<0AdgU_wafzmDc+l7B}BG3T9cjpWH($yCZ?0`CEJChq^S^>uK zxyCm+jL(KmCdckq<=yA&ZRT$QJd{bAb~KuTTB(1(j_^-vT*uV*rfdlMSBZudT+r zC|{W!N?Zhx%8>fY^Yk=7F97f{m74_s@J{~G1+F>&ZXCKrd|_tYS}@l2HSyJDLTq2C33+;fTp&31TSNri4PemBW8&8fGnVhdi8DD)EaiE8-XlYQwl^0cH_X>D7c zB`~Y-`H6WUFTo_(SNHf#rqx|$WFDe4A`URN%I%7=MC+iEO&`pI_o|j4rj*!;{x_K| z=BQtNevJ)Xpi+t3zY{OzOa7_sgB0j*5!dH$t`&l$^TC+ebzN0n9?6|EWxZdrr`@v3 z{!9=Y2;MRlLI`T9n`rE9~@QJBE#!S zTOxbt3(8pE*xLs6wh-g|`5w8oH1X{Bw*wlI*G3{Hg_6Pg(MvpQ;g_lmy`PU?z7+wn z`BJ_K|AG1)BJ*{SNiR?e8A^J~t3_I6ga@cT8>r2@7&0IO<0Jufsf-d;+|tm1efjcx z3w4$QY!TdB_vS_@Bebyw(Uep~f)4p%Q#35~52ny+jrx`^%GZ7InVzoWAu{-eqf+n7Q?$idlaf^$X>R! z%~LpdZgMwj4oN`JA?Ov;$EJ+M*o#bUc{7o{LgNYluKuKM>ZtQ@?@g9wp!Dq>N#Jmm ztp`4+ckn#+H0Vm9k;%>Jh)C?ZV`fDd89HT_BiNkk6RCKPvAyk{6Hd{%?q!r$p@mUW z+jv|ZQ*Dms`O3%@Z9G#6CZy!_&V^)c8=n?~mt8k%wg_fsm};Hwzh}Or zYFH=$31NqWogQNy9P=s^>^3D+yOn@W1|G7D=hO918uz))lP;m0?>D&@KWc|Zg}7RO zvvqoJs#^iCgMHb%?uANFQVGDADS&c33;}-eCxxnBOfHm7noQkYdd^>P38?Nv!sk1A z_;>Zqx~znCpr8D*j;nFSPfxm(Jq)#Rj<=(az{qB5;?SI+S@rG8RfZ>ogzjg_o@ESZ zF+?YoE)lVN&P7!`eU_}Lfp;$&wfwKyiA#T_`exbrjg$&({E<}TNzx6<)y|J8Q5#x< zzKD1f|178Y4-ZD!qOFL9>P)U845v8Kf)g9JL>8&2+N2n&)G?6`)ZToJtO@GGkT|og z{EF6@_PP2S=&Ngu8}{fFB5lz$2tnBe0}Wo5eXBR?g2gzn`bCH>t6=O!5kJJr_kf(8 zsm^b2pScyN^KuxAa3Yg=rtXV>U(05e!@E$dEgEfa?BX1Uib8ajJt)$v3`e@P>lS>y zcjIYvJ$!h$kEDMOJ0#T2|oK$e;KQ>{1E{Im5P(WH5Q@p}2n=#-3xy4jXn zgP5YX?x}VsNarmoD2Cdm5xerH$7Ie8=B+8OZp6j(sTs3~wVd9j1 z_n$?~zcg_!zk@Y+*0-Zu2S-0 zI;BDMK`D@lU|E{XuCsEDcr}bXzg{V*(X+Beyti1HF;$~DREG%=WD)Ay*Dif?`%!Po zQSL7)LGGzwNue8XRJ-#n|KXx5x%<)P^-z0Fe%^n~MbY>C2frZ)3b zd@`MDzK?hxv~{YHEbllHhb$n- z?Xvp9peNWCZoCXyZ7bJoywi^|3~H6kBb;69WxGVr_@;HY>jKA7*2>zx$ewa0lB$%f ze48Ck8wTC>>mJy*Fj5Qiz&8=F2D?|?I3f_l=s7e4sI>HWk@@3}6X8-mLZ-w7bNTA*%Ho6mLdwQz4hri z9m-6m`eY)kfoAoYF4o;6MUh;PbD>D0)@?Fi{wlqB0)c7ueUb**G@XD74t^Y`k+7Rr z_F>yOw^RVq)b=9epn`J1K;TTi?;K+`2)T|w6371L;9>t3ykwNQ+wEi;e@(If+x0t} z;i&EKC*;SR4ybGI?g{xuGQ92Oe&CIJ4revSY4g?u<3|lXnuDayaTiFgbP+?Ch^G|` zLvt1--$M*-N(1fzf~i)LlJu|(@ETF?WJatDc`m&*kn?0ng1KN=MwJyHK}}gpJ)eI$ zn17wj><_I~$ifSmq)I2%E*R-cG}t4XMhH{)K6RE=Q1l8b$q|BSIEz#}HJg{2N-i92 zAVsfq=UytE>JsZ^FOc#p2=uW^@ouk!{^ZzO?jw75&(A&+Sh4hpWGi0k$G0n3$QW7X ztR_Zl3?Wxay*u?GZ=$KEnr!Wv(_wv)sOn(h`iO=kNB@E522t@0wsOAJ!+D$3hE&a+ zbc5N!qX1`Lq3Dp^Glchb8fmJLK%h*~>+RyhMPk8nQT~JDhn0~lT~F2YdU`!<=N@KO z(La3_1^`BXOv3Hp%?+2a4YP;;Aur^Vxm5ALc{qokH(=lec6Z|sj}OIl8hUR|0|46( z`%eE~csa30WFYZyO5^vnm%oqE-6gsF_6@E|@jn^x^7x~Bp=1Ar^=ffb_&3ysO0wMc zaB*YcjmVw#A$o=MUu2r@cl6)VDt~9w|Ej|Id(`F9nHK%6p4yD3eB2aDkE^tB&A+Z? aI5Fqko_{!uNr~Zx0W3^yuaz2mKKc()WqOhT From 194406c831a9f473e8abc0ee18e16db30e26ce00 Mon Sep 17 00:00:00 2001 From: openoms Date: Sun, 17 Feb 2019 00:21:25 +0000 Subject: [PATCH 05/39] fix typo --- dietpi/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dietpi/README.md b/dietpi/README.md index 3ea4b31..1f749c1 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -22,7 +22,7 @@ Steps to run: - download the .img file, - burn to a 16 GB SD with [Etcher](https://www.balena.io/etcher/) - extend the rootFS partition with a partition manager (disks, Gparted, etc.) -- boot the Odroid ith the SDcard and login with ssh admin@at.your.raspiblitz.ip, password: raspiblitz +- boot the Odroid with the SDcard and login with ssh admin@at.your.raspiblitz.ip, password: raspiblitz Using this image you can skip the rest of this guide as it is mostly about how this image was built. From f33915577bc1d82a5935ed0f74d2fef0c354e7cf Mon Sep 17 00:00:00 2001 From: openoms Date: Sun, 17 Feb 2019 07:58:47 +0000 Subject: [PATCH 06/39] update download links --- dietpi/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dietpi/README.md b/dietpi/README.md index 1f749c1..758cfd6 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -16,7 +16,9 @@ See the hardware specs: [hardware specs](hw_comparison.md). ## Download the fully prebuilt RaspiBlitz on DietPi SDcard image -for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](/home/buidl/Documents/droidblitz/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) +for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](/home/buidl/Documents/droidblitz/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) or from [mega.nz](https://mega.nz/#F!EVNAAQiB!ZyLHP2dJMRSVjZOTCQMIYA). +(sha256sum RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.img: +96ee8700f52a12fb5b13fab3fffcdcf5d364c6dd16c580d969e421cef2cd7cc2) Steps to run: - download the .img file, @@ -33,8 +35,9 @@ The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootz ### Download the updated DietPi image -For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded here: -https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0 +For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded [here]( +https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0). (sha256sum DietPi_v6.20.6_OdroidXU4-ARMv7-Stretch.img: +1459b91f66b9db98f3437c31231e44497b7b7dcd9146d2cc41a3da653f9a9215) Burn to the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager. From 28d1ab17504f47ffb531767c206d5cf6c25bc442 Mon Sep 17 00:00:00 2001 From: openoms Date: Sun, 17 Feb 2019 09:15:45 +0000 Subject: [PATCH 07/39] fix torrent path --- dietpi/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dietpi/README.md b/dietpi/README.md index 758cfd6..5fda129 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -16,7 +16,7 @@ See the hardware specs: [hardware specs](hw_comparison.md). ## Download the fully prebuilt RaspiBlitz on DietPi SDcard image -for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](/home/buidl/Documents/droidblitz/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) or from [mega.nz](https://mega.nz/#F!EVNAAQiB!ZyLHP2dJMRSVjZOTCQMIYA). +for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](https://github.com/openoms/raspiblitz/blob/raspiblitz-dev/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) or from [mega.nz](https://mega.nz/#F!EVNAAQiB!ZyLHP2dJMRSVjZOTCQMIYA). (sha256sum RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.img: 96ee8700f52a12fb5b13fab3fffcdcf5d364c6dd16c580d969e421cef2cd7cc2) From 30b18e1342c51a4872ec7d488ddfea1acb2f78cd Mon Sep 17 00:00:00 2001 From: openoms Date: Sun, 17 Feb 2019 18:50:44 +0000 Subject: [PATCH 08/39] add flip screen option to FAQ --- FAQ.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/FAQ.md b/FAQ.md index f3ca03c..b54b0d5 100644 --- a/FAQ.md +++ b/FAQ.md @@ -488,3 +488,8 @@ When you put in a sd card with a new/clean RaspiBlitz image the RaspiBlitz will But there might be cases where you want to start a totally fresh/clean RaspiBlitz from the beginning. To do so you need to delete the old data from the HDD. You can do so by formating it on another computer (for example with FAT and name it "NEW"). Or when you can run the script "/home/admin/XXcleanHD.sh -all" on the terminal. When the HDD is clean, then flash a new RaspiBlitz sd card and your setup should start fresh. + +## Can I flip the screen? + +For the default 3.5" LCD you need to edit the /boot/config.txt. Run `sudo nano /boot/config.txt` +look for the line `dtoverlay=tft35a:rotate=270` towards the end. To flip the screen with 180 degrees change the line to `dtoverlay=tft35a:rotate=90` and reboot with `sudo reboot`. Reference: https://github.com/goodtft/LCD-show/issues/34 From c9da1b72ee2de3511a86ffb138bfd72848279e98 Mon Sep 17 00:00:00 2001 From: bluecell296 <43343391+openoms@users.noreply.github.com> Date: Mon, 18 Feb 2019 18:06:25 +0000 Subject: [PATCH 09/39] resolve conflict in FAQ --- FAQ.md | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/FAQ.md b/FAQ.md index b54b0d5..a88ae31 100644 --- a/FAQ.md +++ b/FAQ.md @@ -63,15 +63,15 @@ Copying a already synced blockchain from another computer (for example your Lapt One requirement is that the blockchain is from another bitcoin-core client with version greater or equal to 0.17.1 with transaction index switched on (`txindex=1` in the `bitcoin.conf`). -But we dont copy the data via USB to the device, because the HDD needs to be formatted in EXT4 and that is usually not read/writeable by Windows or Mac computers. So I will explain a way to copy the data thru your local network. This should work from Windows, Mac, Linux and even from another already synced RaspiBlitz. +But we dont copy the data via USB to the device, because the HDD needs to be formatted in EXT4 and that is usually not read/writeable by Windows or Mac computers. So I will explain a way to copy the data through your local network. This should work from Windows, Mac, Linux and even from another already synced RaspiBlitz. -Both computers (your RaspberryPi and the other computer with the full blockchain on) need to be connected to the same local network. Make sure that bitcoin is stoped on the computer containing the blockchain. If your blockchain source is another RaspiBlitz run on the terminal `sudo systemctl stop bitcoind` and then go to the directory where the blochcian data is with `cd /mnt/hdd/bitcoin` - when copy/transfer is done later reboot a RaspiBlitz source with `sudo shutdown -r now`. +Both computers (your RaspberryPi and the other computer with the full blockchain on) need to be connected to the same local network. Make sure that bitcoin is stoped on the computer containing the blockchain. If your blockchain source is another RaspiBlitz run on the terminal `sudo systemctl stop bitcoind` and then go to the directory where the blockchain data is with `cd /mnt/hdd/bitcoin` - when copy/transfer is done later reboot a RaspiBlitz source with `sudo shutdown -r now`. -If everything of the above is prepared, start the setup of the new RaspiBlitz with a fresh SD card (like explained in the README) - its OK that there is no blockchain data on your HDD yet - just follow the setup. When you get to the setup-point `Getting the Blockchain` choose the COPY option. Starting from version 1.0 of the RaspiBlitz this will give you further detailed instructions how to transfere the blockchain data onto your RaspiBlitz. In short: On your computer with the blockchain data source you will execute SCP commands, that will copy the data over your Local Network to your RaspiBlitz. +If everything of the above is prepared, start the setup of the new RaspiBlitz with a fresh SD card (like explained in the README) - its OK that there is no blockchain data on your HDD yet - just follow the setup. When you get to the setup-point `Getting the Blockchain` choose the COPY option. Starting from version 1.0 of the RaspiBlitz this will give you further detailed instructions how to transfer the blockchain data onto your RaspiBlitz. In short: On your computer with the blockchain data source you will execute SCP commands, that will copy the data over your Local Network to your RaspiBlitz. -Once you finished all the transferes the Raspiblitz will make a quick-check on the data - but that will not guarantee that everything in detail was OK with the transfere. Check further FAQ answeres if you get stuck or see a final sync with a value below 90%. +Once you finished all the transferes the Raspiblitz will make a quick-check on the data - but that will not guarantee that everything in detail was OK with the transfer. Check further FAQ answeres if you get stuck or see a final sync with a value below 90%. -**If you want to replace a corrupted blockchain this way:** *Go to terminal - maybe with CTRL+c. `sudo systemctl stop bitcoind` and `sudo systemctl stop lnd` then call `/home/admin/50copyHDD.sh` use the displayed SCP commands to copy over the fresh blockchain. Press ENTER when all is copied, so that the script can quick check the data and set the correct permissions. Then make a reboot `sudo shutdown -r now`* +**If you want to replace a corrupted blockchain this way:** *Go to terminal - maybe with CTRL+c. Then call `/home/admin/50copyHDD.sh` use the displayed SCP commands to copy over the fresh blockchain. Press ENTER when all is copied, so that the script can quick check the data. Then make a reboot `sudo shutdown -r now`* ## How do I clone the Blockchain from a 2nd HDD? @@ -121,7 +121,17 @@ Recovering the coins that you have in an active channel is a bit more complicate To really have a reliable backup, such feature needs to be part of the LND software. Almost every other solution would not be perfect. Thats why RaspiBlitz is not trying to provide a backup feature at the moment. -But you can try to backup at your own risk. All your Lightning Node data is within the `/mnt/hdd/lnd` directory. Just run a backup of that data when the lnd service is stopped. +But you can try to backup at your own risk. All your Lightning Node data is within the `/mnt/hdd/lnd` directory. Just run a backup of that data when the lnd service is stopped -> `sudo systemctl stop lnd` Then on your laptop you go with the terminal into the directory you want to store the backup in and use the following SCP command to download: + +`scp -r bitcoin@[LOCAL-IP-OF-RASPIBLITZ]:/mnt/hdd/lnd/ ./` use your password A + +And if you want to put a LND backup state back. Make a fresh RaspiBlitz (new sd card image and a clean HDD), set it up until its ready (you see the status screen on LCD) and then go to terminal, stop lnd service with `sudo systemctl stop lnd` delete the content of the lnd data dir with `sudo rm -rf /mnt/hdd/lnd/*`. Then on your laptop being in terminal in the same directory you did the backup in (the backuped lnd directory is listed there) run the following SCP command: + +`scp -r ./lnd/* bitcoin@[LOCAL-IP-OF-RASPIBLITZ]:/mnt/hdd/lnd/` use password A + +No run a reboot with: `sudo shutdown -r now` ... LND may need some longer rescan after reboot, but then you should see your old channels and balances. + +**Be aware that if backup is some hours/days old, channels could have been closed by the other party and it may take some time until you see funds back on-chain. If backup is somewhat older also the channel counter parties may have used your offline time to cheat you with an old state. And if your backup was not the latest state and LND is closing channels it could also been happening that you are posting an old channel state (seen as cheating) and funds of that channel get lost as punishment. So again .. this backup method can be risky, use with caution.** ## What is this mnemonic seed word list? @@ -464,15 +474,24 @@ Work Nodes for the process of producing a new sd card image release: * Remove `Ubuntu LIVE` USB stick and replace with `Ubuntu AIRGAP` * PowerOn Build Laptop (press F12 for boot menu) * Cut Power of RaspiBlitz, remove sd card and connect with sd card reader to build laptop + +Old: * Open `Disks` manager, select sd card and choose `Create Disk Image` (right upper corner window) * Store image to NTFS USB stick (click to start can take a while - enter password) * Open in File Manager the NTFS USB Stick, context menu the created IMG file `compress` * Name it: `raspiblitz-vX.X-YEAR-MONTH-DAY.img.zip` -* Delete all IMG files from NTFS (just keep zips) + +New: +* Connect and open in Filemenager NTFS - context on white scace -> open terminal +* run `df`to check on sd card reader device name +* `sudo dd if=/dev/[sdcarddevice] | gzip > ./raspiblitz-vX.X-YEAR-MONTH-DAY.img.gz` + +* Delete all IMG files from NTFS (just keep zips/gzs) * Context on white space, `Open in Terminal`, run `shasum -a 256 [NEW-ZIP] > sha256.txt` * [Do future author signing here with tools from airgap build machine] * Shutdown build computer * Connect NTFS USB stick to MacOS (its just readonly) +* Check if file can be unzipped on OSX * Run tests with new image * Upload new image to Download Server * Copy SHA256-String into GutHub README and update downloadlink @@ -489,6 +508,14 @@ But there might be cases where you want to start a totally fresh/clean RaspiBlit When the HDD is clean, then flash a new RaspiBlitz sd card and your setup should start fresh. +## My blockchain data is corrupted - what can I do? + +You could try to re-index, but that can take some very long time - multiple days or even weeks. + +Another option would be to delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions. + +Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz) + ## Can I flip the screen? For the default 3.5" LCD you need to edit the /boot/config.txt. Run `sudo nano /boot/config.txt` From 657d0c5ea7292a6d2aadcc21dc6a05ec5b37d40f Mon Sep 17 00:00:00 2001 From: bluecell296 <43343391+openoms@users.noreply.github.com> Date: Mon, 18 Feb 2019 18:08:13 +0000 Subject: [PATCH 10/39] resolve conflict in FAQ --- FAQ.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/FAQ.md b/FAQ.md index a88ae31..7d8ac83 100644 --- a/FAQ.md +++ b/FAQ.md @@ -515,8 +515,3 @@ You could try to re-index, but that can take some very long time - multiple days Another option would be to delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz) - -## Can I flip the screen? - -For the default 3.5" LCD you need to edit the /boot/config.txt. Run `sudo nano /boot/config.txt` -look for the line `dtoverlay=tft35a:rotate=270` towards the end. To flip the screen with 180 degrees change the line to `dtoverlay=tft35a:rotate=90` and reboot with `sudo reboot`. Reference: https://github.com/goodtft/LCD-show/issues/34 From cf8cba1a595c8b758f7f3ea700e7657407eb1034 Mon Sep 17 00:00:00 2001 From: bluecell296 <43343391+openoms@users.noreply.github.com> Date: Mon, 18 Feb 2019 18:22:35 +0000 Subject: [PATCH 11/39] resolve conflicts in FAQ --- FAQ.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/FAQ.md b/FAQ.md index 7d8ac83..7e5f576 100644 --- a/FAQ.md +++ b/FAQ.md @@ -474,18 +474,9 @@ Work Nodes for the process of producing a new sd card image release: * Remove `Ubuntu LIVE` USB stick and replace with `Ubuntu AIRGAP` * PowerOn Build Laptop (press F12 for boot menu) * Cut Power of RaspiBlitz, remove sd card and connect with sd card reader to build laptop - -Old: -* Open `Disks` manager, select sd card and choose `Create Disk Image` (right upper corner window) -* Store image to NTFS USB stick (click to start can take a while - enter password) -* Open in File Manager the NTFS USB Stick, context menu the created IMG file `compress` -* Name it: `raspiblitz-vX.X-YEAR-MONTH-DAY.img.zip` - -New: * Connect and open in Filemenager NTFS - context on white scace -> open terminal * run `df`to check on sd card reader device name * `sudo dd if=/dev/[sdcarddevice] | gzip > ./raspiblitz-vX.X-YEAR-MONTH-DAY.img.gz` - * Delete all IMG files from NTFS (just keep zips/gzs) * Context on white space, `Open in Terminal`, run `shasum -a 256 [NEW-ZIP] > sha256.txt` * [Do future author signing here with tools from airgap build machine] From 9e8a42dc8268d415410246e4e9a3e14b309c39c1 Mon Sep 17 00:00:00 2001 From: openoms Date: Mon, 18 Feb 2019 22:16:33 +0000 Subject: [PATCH 12/39] general guide for dietpi --- FAQ.md | 5 ++ dietpi/Odroid_HC1_HC2.md | 121 ++++++++++++++++++++++++++++++++++++ dietpi/README.md | 129 +++++++++++---------------------------- 3 files changed, 160 insertions(+), 95 deletions(-) create mode 100644 dietpi/Odroid_HC1_HC2.md diff --git a/FAQ.md b/FAQ.md index 7e5f576..eda7d0f 100644 --- a/FAQ.md +++ b/FAQ.md @@ -506,3 +506,8 @@ You could try to re-index, but that can take some very long time - multiple days Another option would be to delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz) + +## Can I flip the screen? + +For the default 3.5" LCD you need to edit the /boot/config.txt. Run `sudo nano /boot/config.txt` +look for the line `dtoverlay=tft35a:rotate=270` towards the end. To flip the screen with 180 degrees change the line to `dtoverlay=tft35a:rotate=90` and reboot with `sudo reboot`. Reference: https://github.com/goodtft/LCD-show/issues/34 \ No newline at end of file diff --git a/dietpi/Odroid_HC1_HC2.md b/dietpi/Odroid_HC1_HC2.md new file mode 100644 index 0000000..84746af --- /dev/null +++ b/dietpi/Odroid_HC1_HC2.md @@ -0,0 +1,121 @@ + +![](pictures/DroidBlitz.jpg) + + +## Download the fully prebuilt RaspiBlitz-on-DietPi SDcard image for the Odroid HC1 / HC2 / XU3 / XU4 + +for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](https://github.com/openoms/raspiblitz/blob/raspiblitz-dev/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) or from [mega.nz](https://mega.nz/#F!EVNAAQiB!ZyLHP2dJMRSVjZOTCQMIYA). +(sha256sum RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.img: +96ee8700f52a12fb5b13fab3fffcdcf5d364c6dd16c580d969e421cef2cd7cc2) + +Steps to run: +- download the .img file, +- burn to a 16 GB SD with [Etcher](https://www.balena.io/etcher/) +- extend the rootFS partition with a partition manager (disks, Gparted, etc.) +- boot the Odroid with the SDcard and login with ssh admin@at.your.raspiblitz.ip, password: raspiblitz + +Using this image you can skip the rest of this guide as it is mostly about how this image was built. + +The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) + +--- +## Setting up the DietPi OS + +### Download the updated DietPi image + +For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded [here]( +https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0). (sha256sum DietPi_v6.20.6_OdroidXU4-ARMv7-Stretch.img: +1459b91f66b9db98f3437c31231e44497b7b7dcd9146d2cc41a3da653f9a9215) + +Burn to the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager. + +Insert the SDcard into the Odroid. + +Power up and continue with: [Run the DietPi optimized Raspiblitz SDcard build script](#Run-the-RaspiBlitz-build_sdcard.sh-script) + +### Build your own DietPi image: + +Watch out this an ardous process. +Updating from a v6.14 DietPi image is causing a bootloop under some circumstances. Will be sorted once the current, >6.2 version is uploaded for the Odroids. + +For the Odroid HC1 / HC2 / XU3 / XU4 the start is this image: +https://dietpi.com/downloads/images/DietPi_OdroidXU4-ARMv7-Stretch.7z +Burn it to the SD with [Etcher](https://www.balena.io/etcher/) + +Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 + +In the desktop terminal on Linux / MacOS or Putty on Windows: + +`ssh root@[IP-OF-DIETPI]` +password: `dietpi` + +Ok > Cancel > Cancel +automatic apt update & apt upgrade and asks to reboot +![](pictures/dietpi_1st_reboot.png) + +`ssh root@[IP-OF-DIETPI]` +after the previous update the ssh keys might change: + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +run (can be copied from the terminal output): +`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` + +`ssh root@[IP-OF-DIETPI]` +yes > +password: `dietpi` + +At this point if the DietPi was not updated from 6.14 it does not manage to save settings going forward. +Exit the sotware installer (press Tab to jump to Exit) +![](pictures/dietpi-software_exit.png) + +in the bash prompt run: +`dietpi-update` +>Ok > Cancel the recovery point +update > >Opt out of survey > Ok +Reboots + +`ssh root@[IP-OF-DIETPI]` +password: `dietpi` + +>Ok > Cancel > Cancel +Search `fail2ban` > Space to select > Enter +SSH server > switch from Dropbear to the OpenSSH-server +> Install > Ok +>Opt out of survey > Ok +Reboots again + +Changing the SSH server will change the SSH keys again. To clear: +`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` + + +## Run the RaspiBlitz build_sdcard.sh script + +In the desktop terminal in Linux / MacOS or Putty in Windows: + +`ssh root@[IP-OF-DIETPI]` +password: `dietpi` +Should end up here on version v6.20.6 or higher: +![](pictures/bash_prompt.png) + +run the build_sdcard.sh script in this format: +`wget https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh [BRANCH] [GITHUB-USERNAME]` + +Be aware of that the fork needs to be called `raspiblitz` for the git download to work. +if you intend to use @openoms`s forked version: + +`wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build_sdcard.sh && sudo bash build_sdcard.sh raspiblitz-dev openoms` + + +`ssh admin@[IP-OF-DROIDBLITZ]` +password: raspiblitz + +The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) + +--- +### Examples of copying the blockchain data from a HDD using a powered USB to SATA adapter + +![example setup](pictures/HDD_copy_example.jpg) +![](pictures/adapterHDD_HC1.jpg) diff --git a/dietpi/README.md b/dietpi/README.md index 5fda129..8a993dc 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -1,4 +1,4 @@ -# ⚡️ RaspiBlitz on DietPi ⚡️ +# ⚡️ RaspiBlitz-on-DietPi ⚡️ # A hardware agnostic platform @@ -9,128 +9,67 @@ This guide was tested on: * Raspberry Pi 3 B Plus - no LCD support so far * hoping to extend this list with more compatible boards especially the ROCK64 -See the hardware specs: [hardware specs](hw_comparison.md). +See the [hardware comparison](hw_comparison.md). -![](pictures/DroidBlitz.jpg) - -## Download the fully prebuilt RaspiBlitz on DietPi SDcard image - -for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](https://github.com/openoms/raspiblitz/blob/raspiblitz-dev/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) or from [mega.nz](https://mega.nz/#F!EVNAAQiB!ZyLHP2dJMRSVjZOTCQMIYA). -(sha256sum RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.img: -96ee8700f52a12fb5b13fab3fffcdcf5d364c6dd16c580d969e421cef2cd7cc2) - -Steps to run: -- download the .img file, -- burn to a 16 GB SD with [Etcher](https://www.balena.io/etcher/) -- extend the rootFS partition with a partition manager (disks, Gparted, etc.) -- boot the Odroid with the SDcard and login with ssh admin@at.your.raspiblitz.ip, password: raspiblitz - -Using this image you can skip the rest of this guide as it is mostly about how this image was built. - -The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) - +### Downloads and walkthrough for the [Odroid HC1 / HC2 / XU3 / XU4](Odroid_HC1_HC2.md) --- -## Setting up the DietPi OS - -### Download the updated DietPi image +## General Guide for RaspiBlitz-on-DietPi -For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded [here]( -https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0). (sha256sum DietPi_v6.20.6_OdroidXU4-ARMv7-Stretch.img: -1459b91f66b9db98f3437c31231e44497b7b7dcd9146d2cc41a3da653f9a9215) +### Setting up the DietPi OS -Burn to the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager. +* Start with an ARM based Single Board Computer listed on DietPi.com. +At least 1GB RAM is recommended. +Look for the SD card image for the specific SBC in the [download section](https://dietpi.com/#download). -Insert the SDcard into the Odroid. +* Burn the image to the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager. -Power up and continue with: [Run the DietPi optimized Raspiblitz SDcard build script](#Run-the-RaspiBlitz-build_sdcard.sh-script) +* Insert the SDcard into your SBC. -### Build your own DietPi image: +* Connect the HDD with a powered suitably powered adapter. +A USB 2.0 port will not be able to power an HDD so you will need extra cable +If you are connecting the HDD to a USB 3.0 port and have an at least 2A power supply, you might be able to run without an extra cable. -Watch out this an ardous process. -Updating from a v6.14 DietPi image is causing a bootloop under some circumstances. Will be sorted once the current, >6.2 version is uploaded for the Odroids. +* Power up and continue with: [Run the DietPi optimized Raspiblitz SDcard build script](#Run-the-RaspiBlitz-build_sdcard.sh-script) -For the Odroid HC1 / HC2 / XU3 / XU4 the start is this image: -https://dietpi.com/downloads/images/DietPi_OdroidXU4-ARMv7-Stretch.7z -Burn it to the SD with [Etcher](https://www.balena.io/etcher/) - -Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 - -In the desktop terminal on Linux / MacOS or Putty on Windows: + +* In the desktop terminal on Linux / MacOS or Putty on Windows: `ssh root@[IP-OF-DIETPI]` password: `dietpi` +Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 -Ok > Cancel > Cancel -automatic apt update & apt upgrade and asks to reboot -![](pictures/dietpi_1st_reboot.png) - -`ssh root@[IP-OF-DIETPI]` -after the previous update the ssh keys might change: - -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - -run (can be copied from the terminal output): -`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` - -`ssh root@[IP-OF-DIETPI]` -yes > -password: `dietpi` - -At this point if the DietPi was not updated from 6.14 it does not manage to save settings going forward. -Exit the sotware installer (press Tab to jump to Exit) -![](pictures/dietpi-software_exit.png) - -in the bash prompt run: -`dietpi-update` ->Ok > Cancel the recovery point -update > >Opt out of survey > Ok -Reboots - -`ssh root@[IP-OF-DIETPI]` -password: `dietpi` - ->Ok > Cancel > Cancel -Search `fail2ban` > Space to select > Enter -SSH server > switch from Dropbear to the OpenSSH-server -> Install > Ok ->Opt out of survey > Ok -Reboots again +* You might be asked about updating DietPi. This might not be straightforward if starting froma version <6.20. Try to update, it is best to build on the latest version. +* In the DietPi software menu install fail2ban and make OpenSSH server the default SSH server. Changing the SSH server will change the SSH keys again. To clear: `ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` - -## Run the RaspiBlitz build_sdcard.sh script - -In the desktop terminal in Linux / MacOS or Putty in Windows: - +* After every reboot log back in: `ssh root@[IP-OF-DIETPI]` -password: `dietpi` -Should end up here on version v6.20.6 or higher: +password: `dietpi` + +* Should end up here on version v6.20.6 or higher: ![](pictures/bash_prompt.png) -run the build_sdcard.sh script in this format: -`wget https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh [BRANCH] [GITHUB-USERNAME]` -Be aware of that the fork needs to be called `raspiblitz` for the git download to work. -if you intend to use @openoms`s forked version: +### Run the RaspiBlitz build_sdcard.sh script -`wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build_sdcard.sh && sudo bash build_sdcard.sh raspiblitz-dev openoms` +* Format of the command to build the SDcard: +`wget https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh [BRANCH] [GITHUB-USERNAME]` +If you are working from a forked repo be aware of that the fork needs to be called `raspiblitz` for the git downloads to work. +* Run the forked version of @openoms: +`wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build_sdcard.sh && sudo bash build_sdcard.sh raspiblitz-dev openoms` +This will take a couple minutes depending on your internet ceonnection and the processing power of the SBC. +* Restart when done and log back in now as `admin`: `ssh admin@[IP-OF-DROIDBLITZ]` -password: raspiblitz +password: `raspiblitz` -The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) +* From here he setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) ---- -### Examples of copying the blockchain data from a HDD using a powered USB to SATA adapter -![example setup](pictures/HDD_copy_example.jpg) -![](pictures/adapterHDD_HC1.jpg) --- ### Useful commands for debugging: @@ -144,7 +83,7 @@ To test a new configuration run XXcleanHDD.sh and strictly restart `sudo tail -n100 /mnt/hdd/bitcoin/debug.log` - shows the last 100 lines `sudo systemctl status lnd` `sudo journalctl -f -u lnd` -`./home/admin/XXdebugLogs.sh` - debug log collection on the raspiblitz +`./home/admin/XXdebugLogs.sh` - debug log collection on the RaspiBlitz --- From 14cf3e7dab2f4ec6e2b5a2afefd74fef509d7699 Mon Sep 17 00:00:00 2001 From: openoms Date: Mon, 18 Feb 2019 22:54:52 +0000 Subject: [PATCH 13/39] dietpi guide update and reformat --- FAQ.md | 10 ++-- dietpi/Odroid_HC1_HC2.md | 112 ++++++++++++++++++++------------------- dietpi/README.md | 6 ++- 3 files changed, 67 insertions(+), 61 deletions(-) diff --git a/FAQ.md b/FAQ.md index eda7d0f..a221e86 100644 --- a/FAQ.md +++ b/FAQ.md @@ -491,6 +491,11 @@ Work Nodes for the process of producing a new sd card image release: There is an experimental section in this GitHub that tries to build for other SingleBoardComputers. Feel free to try it out and share your experience: [dietpi/README.md](dietpi/README.md) +## Can I flip the screen? + +For the default 3.5" LCD you need to edit the /boot/config.txt. Run `sudo nano /boot/config.txt` +look for the line `dtoverlay=tft35a:rotate=270` towards the end. To flip the screen with 180 degrees change the line to `dtoverlay=tft35a:rotate=90` and reboot with `sudo reboot`. Reference: https://github.com/goodtft/LCD-show/issues/34 + ## How to setup fresh/clean/reset and not getting into recovery mode? When you put in a sd card with a new/clean RaspiBlitz image the RaspiBlitz will get into recovery mode because it detects the old data on your HDD and assumes you just want to continue to work with this data. @@ -506,8 +511,3 @@ You could try to re-index, but that can take some very long time - multiple days Another option would be to delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz) - -## Can I flip the screen? - -For the default 3.5" LCD you need to edit the /boot/config.txt. Run `sudo nano /boot/config.txt` -look for the line `dtoverlay=tft35a:rotate=270` towards the end. To flip the screen with 180 degrees change the line to `dtoverlay=tft35a:rotate=90` and reboot with `sudo reboot`. Reference: https://github.com/goodtft/LCD-show/issues/34 \ No newline at end of file diff --git a/dietpi/Odroid_HC1_HC2.md b/dietpi/Odroid_HC1_HC2.md index 84746af..856e7a9 100644 --- a/dietpi/Odroid_HC1_HC2.md +++ b/dietpi/Odroid_HC1_HC2.md @@ -1,121 +1,125 @@ -![](pictures/DroidBlitz.jpg) +# ⚡️ RaspiBlitz-on-DietPi ⚡️ +# For the Odroid HC1 / HC2 / XU3 / XU4 +![](pictures/DroidBlitz.jpg) -## Download the fully prebuilt RaspiBlitz-on-DietPi SDcard image for the Odroid HC1 / HC2 / XU3 / XU4 +## There are 3 options provided: +* a trusted SDcard image +* building your own SDcard from an updated DietPi image. +* Build your own SDcard from the image downloaded from [Dietpi.com](dietpi.com#download) +--- +### Download the fully prebuilt RaspiBlitz-on-DietPi SDcard image +* [torrent](https://github.com/openoms/raspiblitz/blob/raspiblitz-dev/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) +* [mega.nz link](https://mega.nz/#F!EVNAAQiB!ZyLHP2dJMRSVjZOTCQMIYA) -for the Odroid HC1 / HC2 / XU3 / XU4 from this [torrent](https://github.com/openoms/raspiblitz/blob/raspiblitz-dev/dietpi/RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.torrent) or from [mega.nz](https://mega.nz/#F!EVNAAQiB!ZyLHP2dJMRSVjZOTCQMIYA). -(sha256sum RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.img: -96ee8700f52a12fb5b13fab3fffcdcf5d364c6dd16c580d969e421cef2cd7cc2) +sha256sum RaspiBlitz1.0_OdroidHC1_DietPi6.21.1.img: 96ee8700f52a12fb5b13fab3fffcdcf5d364c6dd16c580d969e421cef2cd7cc2 Steps to run: - download the .img file, - burn to a 16 GB SD with [Etcher](https://www.balena.io/etcher/) - extend the rootFS partition with a partition manager (disks, Gparted, etc.) -- boot the Odroid with the SDcard and login with ssh admin@at.your.raspiblitz.ip, password: raspiblitz +- boot the Odroid with the SDcard +- login with `ssh admin@at.your.raspiblitz.ip` +password: `raspiblitz` Using this image you can skip the rest of this guide as it is mostly about how this image was built. The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) --- -## Setting up the DietPi OS - ### Download the updated DietPi image -For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded [here]( -https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0). (sha256sum DietPi_v6.20.6_OdroidXU4-ARMv7-Stretch.img: -1459b91f66b9db98f3437c31231e44497b7b7dcd9146d2cc41a3da653f9a9215) +* For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded [here]( +https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0). +sha256sum DietPi_v6.20.6_OdroidXU4-ARMv7-Stretch.img: +1459b91f66b9db98f3437c31231e44497b7b7dcd9146d2cc41a3da653f9a9215 -Burn to the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager. +* Burn the image to the SDCard with [Etcher](https://www.balena.io/etcher/) and extend the rootfs partition to the size of your card with a partition manager (disks, Gparted, etc). -Insert the SDcard into the Odroid. +* Insert the SDcard into the Odroid. -Power up and continue with: [Run the DietPi optimized Raspiblitz SDcard build script](#Run-the-RaspiBlitz-build_sdcard.sh-script) +* Power up and continue with: [Run the RaspiBlitz build_sdcard.sh script](#Run-the-RaspiBlitz-build_sdcard.sh-script) + +--- ### Build your own DietPi image: -Watch out this an ardous process. +* Watch out this is an ardous process. Updating from a v6.14 DietPi image is causing a bootloop under some circumstances. Will be sorted once the current, >6.2 version is uploaded for the Odroids. -For the Odroid HC1 / HC2 / XU3 / XU4 the start is this image: +* For the Odroid HC1 / HC2 / XU3 / XU4 the start is this image: https://dietpi.com/downloads/images/DietPi_OdroidXU4-ARMv7-Stretch.7z -Burn it to the SD with [Etcher](https://www.balena.io/etcher/) +* Burn it to the SD with [Etcher](https://www.balena.io/etcher/) -Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 - -In the desktop terminal on Linux / MacOS or Putty on Windows: +* In the desktop terminal on Linux / MacOS or Putty on Windows: `ssh root@[IP-OF-DIETPI]` password: `dietpi` +Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 -Ok > Cancel > Cancel +* Ok > Cancel > Cancel automatic apt update & apt upgrade and asks to reboot ![](pictures/dietpi_1st_reboot.png) +* Log back in: `ssh root@[IP-OF-DIETPI]` -after the previous update the ssh keys might change: - +password: `dietpi` +* after the previous update the ssh keys might change: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - run (can be copied from the terminal output): -`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` - +`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` `ssh root@[IP-OF-DIETPI]` yes > password: `dietpi` -At this point if the DietPi was not updated from 6.14 it does not manage to save settings going forward. +* At this point if the DietPi was not updated from 6.14 it does not manage to save settings going forward. Exit the sotware installer (press Tab to jump to Exit) ![](pictures/dietpi-software_exit.png) -in the bash prompt run: -`dietpi-update` ->Ok > Cancel the recovery point -update > >Opt out of survey > Ok +* in the bash prompt run: +`dietpi-update` +Ok > Cancel the recovery point +update > Opt out of survey > Ok Reboots +* Log back in: `ssh root@[IP-OF-DIETPI]` password: `dietpi` - ->Ok > Cancel > Cancel +* In the DietPi software menu install fail2ban and make OpenSSH server the default SSH server. +Changing the SSH server will change the SSH keys again. To clear: +`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` +Ok > Cancel > Cancel Search `fail2ban` > Space to select > Enter SSH server > switch from Dropbear to the OpenSSH-server -> Install > Ok ->Opt out of survey > Ok +Install > Ok +Opt out of survey > Ok Reboots again -Changing the SSH server will change the SSH keys again. To clear: +* Changing the SSH server will change the SSH keys again. To clear: `ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` -## Run the RaspiBlitz build_sdcard.sh script +### Run the RaspiBlitz build_sdcard.sh script -In the desktop terminal in Linux / MacOS or Putty in Windows: - -`ssh root@[IP-OF-DIETPI]` -password: `dietpi` -Should end up here on version v6.20.6 or higher: -![](pictures/bash_prompt.png) - -run the build_sdcard.sh script in this format: -`wget https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh [BRANCH] [GITHUB-USERNAME]` - -Be aware of that the fork needs to be called `raspiblitz` for the git download to work. -if you intend to use @openoms`s forked version: - -`wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build_sdcard.sh && sudo bash build_sdcard.sh raspiblitz-dev openoms` +* Format of the command to build the SDcard: +`wget https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh [BRANCH] [GITHUB-USERNAME]` +If you are working from a forked repo be aware of that the fork needs to be called `raspiblitz` for the git downloads to work. +* Run the forked version of @openoms: +`wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build_sdcard.sh && sudo bash build_sdcard.sh raspiblitz-dev openoms` +This will take a couple minutes depending on your internet ceonnection and the processing power of the SBC. +* Restart when done and log back in now as `admin`: `ssh admin@[IP-OF-DROIDBLITZ]` -password: raspiblitz +password: `raspiblitz` -The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) +* From here he setup continues with the [RaspiBlitz Setup Process](https://github.com/rootzoll/raspiblitz/blob/master/README.md#setup-process-detailed-documentation) --- -### Examples of copying the blockchain data from a HDD using a powered USB to SATA adapter +### Examples of copying the blockchain data from a HDD using a powered USB to SATA adapter ![example setup](pictures/HDD_copy_example.jpg) ![](pictures/adapterHDD_HC1.jpg) diff --git a/dietpi/README.md b/dietpi/README.md index 8a993dc..e536455 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -9,12 +9,14 @@ This guide was tested on: * Raspberry Pi 3 B Plus - no LCD support so far * hoping to extend this list with more compatible boards especially the ROCK64 -See the [hardware comparison](hw_comparison.md). +See the [hardware comparison](hw_comparison.md). + +--- ### Downloads and walkthrough for the [Odroid HC1 / HC2 / XU3 / XU4](Odroid_HC1_HC2.md) --- -## General Guide for RaspiBlitz-on-DietPi +## General guide for the RaspiBlitz-on-DietPi ### Setting up the DietPi OS From bcd865a0c86eb2f1546e277723c0b8f63a156b71 Mon Sep 17 00:00:00 2001 From: openoms Date: Tue, 19 Feb 2019 00:28:36 +0000 Subject: [PATCH 14/39] fix typos --- dietpi/Odroid_HC1_HC2.md | 23 ++++++++++++----------- dietpi/README.md | 18 ++++++++---------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/dietpi/Odroid_HC1_HC2.md b/dietpi/Odroid_HC1_HC2.md index 856e7a9..00617c6 100644 --- a/dietpi/Odroid_HC1_HC2.md +++ b/dietpi/Odroid_HC1_HC2.md @@ -5,7 +5,7 @@ ![](pictures/DroidBlitz.jpg) ## There are 3 options provided: -* a trusted SDcard image +* a trusted fully prebuilt SDcard image * building your own SDcard from an updated DietPi image. * Build your own SDcard from the image downloaded from [Dietpi.com](dietpi.com#download) --- @@ -30,7 +30,7 @@ The setup continues with the [RaspiBlitz Setup Process](https://github.com/rootz --- ### Download the updated DietPi image -* For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded [here]( +For the Odroid HC1 / HC2 / XU3 / XU4 a v6.20.6 DietPi image with fail2ban installed is uploaded [here]( https://mega.nz/#!AcdVBAbR!O-W3jP5LUgw7lMY8S9XcBWcKX3IhRNAAFmaYzDXIUC0). sha256sum DietPi_v6.20.6_OdroidXU4-ARMv7-Stretch.img: 1459b91f66b9db98f3437c31231e44497b7b7dcd9146d2cc41a3da653f9a9215 @@ -39,13 +39,13 @@ sha256sum DietPi_v6.20.6_OdroidXU4-ARMv7-Stretch.img: * Insert the SDcard into the Odroid. -* Power up and continue with: [Run the RaspiBlitz build_sdcard.sh script](#Run-the-RaspiBlitz-build_sdcard.sh-script) +* Power up and continue with [running the RaspiBlitz build_sdcard.sh script](#Run-the-RaspiBlitz-build_sdcard.sh-script) --- ### Build your own DietPi image: -* Watch out this is an ardous process. +Watch out this is an ardous process. Updating from a v6.14 DietPi image is causing a bootloop under some circumstances. Will be sorted once the current, >6.2 version is uploaded for the Odroids. * For the Odroid HC1 / HC2 / XU3 / XU4 the start is this image: @@ -65,7 +65,7 @@ automatic apt update & apt upgrade and asks to reboot * Log back in: `ssh root@[IP-OF-DIETPI]` password: `dietpi` -* after the previous update the ssh keys might change: +* after the update the ssh keys might change: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ -75,8 +75,8 @@ run (can be copied from the terminal output): yes > password: `dietpi` -* At this point if the DietPi was not updated from 6.14 it does not manage to save settings going forward. -Exit the sotware installer (press Tab to jump to Exit) +* At this point if the DietPi OS was not updated from 6.14 it does not manage to save settings going forward. +Exit the software installer (press Tab to jump to Exit) ![](pictures/dietpi-software_exit.png) * in the bash prompt run: @@ -88,9 +88,7 @@ Reboots * Log back in: `ssh root@[IP-OF-DIETPI]` password: `dietpi` -* In the DietPi software menu install fail2ban and make OpenSSH server the default SSH server. -Changing the SSH server will change the SSH keys again. To clear: -`ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` +* In the DietPi software menu install fail2ban and make OpenSSH server the default SSH server. Ok > Cancel > Cancel Search `fail2ban` > Space to select > Enter SSH server > switch from Dropbear to the OpenSSH-server @@ -98,7 +96,10 @@ Install > Ok Opt out of survey > Ok Reboots again -* Changing the SSH server will change the SSH keys again. To clear: +* Log back in: +`ssh root@[IP-OF-DIETPI]` +password: `dietpi` +Changing the SSH server will change the SSH keys again. To clear: `ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` diff --git a/dietpi/README.md b/dietpi/README.md index e536455..c495462 100644 --- a/dietpi/README.md +++ b/dietpi/README.md @@ -20,6 +20,8 @@ See the [hardware comparison](hw_comparison.md). ### Setting up the DietPi OS +Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 + * Start with an ARM based Single Board Computer listed on DietPi.com. At least 1GB RAM is recommended. Look for the SD card image for the specific SBC in the [download section](https://dietpi.com/#download). @@ -32,18 +34,14 @@ Look for the SD card image for the specific SBC in the [download section](https: A USB 2.0 port will not be able to power an HDD so you will need extra cable If you are connecting the HDD to a USB 3.0 port and have an at least 2A power supply, you might be able to run without an extra cable. -* Power up and continue with: [Run the DietPi optimized Raspiblitz SDcard build script](#Run-the-RaspiBlitz-build_sdcard.sh-script) - - - -* In the desktop terminal on Linux / MacOS or Putty on Windows: +* Power up and log in with the desktop terminal on Linux / MacOS or Putty on Windows: `ssh root@[IP-OF-DIETPI]` password: `dietpi` -Getting started with DietPi: https://dietpi.com/phpbb/viewtopic.php?f=8&t=9#p9 -* You might be asked about updating DietPi. This might not be straightforward if starting froma version <6.20. Try to update, it is best to build on the latest version. -* In the DietPi software menu install fail2ban and make OpenSSH server the default SSH server. +* You might be asked about updating DietPi. This is not a straightforward process if starting from a version <6.20. Try to update, it is best to build on the latest version. + +* In the DietPi software menu install `fail2ban` and make `OpenSSH server` the default SSH server. Changing the SSH server will change the SSH keys again. To clear: `ssh-keygen -f "/home/[your-linux-username]/.ssh/known_hosts" -R "dietpi.IP"` @@ -57,13 +55,13 @@ password: `dietpi` ### Run the RaspiBlitz build_sdcard.sh script -* Format of the command to build the SDcard: +* Use this format to build the SDcard with the Raspiblitz script: `wget https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh [BRANCH] [GITHUB-USERNAME]` If you are working from a forked repo be aware of that the fork needs to be called `raspiblitz` for the git downloads to work. * Run the forked version of @openoms: `wget https://raw.githubusercontent.com/openoms/raspiblitz/raspiblitz-dev/build_sdcard.sh && sudo bash build_sdcard.sh raspiblitz-dev openoms` -This will take a couple minutes depending on your internet ceonnection and the processing power of the SBC. +This will take a couple minutes depending on your internet connection and the processing power of the SBC. * Restart when done and log back in now as `admin`: `ssh admin@[IP-OF-DROIDBLITZ]` From 857252e4e219c04bbc6ae1957689440f684c680d Mon Sep 17 00:00:00 2001 From: rootzoll Date: Tue, 19 Feb 2019 13:46:31 +0100 Subject: [PATCH 15/39] torrent file rename --- README.md | 2 +- ...18.torrent => raspiblitz-v1.0-2019-02-18.torrent | Bin 2 files changed, 1 insertion(+), 1 deletion(-) rename raspiblitz-v1.0-2018-02-18.torrent => raspiblitz-v1.0-2019-02-18.torrent (100%) diff --git a/README.md b/README.md index 5efad32..0f2f367 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ Your SD-card needs to contain the RaspiBlitz software. You can take the long roa HTTP: http://wiki.fulmo.org/downloads/raspiblitz-v1.0-2019-02-18.img.gz -Torrent: https://github.com/rootzoll/raspiblitz/raw/master/raspiblitz-v1.0-2018-02-18.torrent +Torrent: https://github.com/rootzoll/raspiblitz/raw/master/raspiblitz-v1.0-2019-02-18.torrent SHA-256: 99ca96d214657388305ca117e2343ead45f9d907f185bef36c712a9a3e75568f diff --git a/raspiblitz-v1.0-2018-02-18.torrent b/raspiblitz-v1.0-2019-02-18.torrent similarity index 100% rename from raspiblitz-v1.0-2018-02-18.torrent rename to raspiblitz-v1.0-2019-02-18.torrent From 434b0ebd028b7528b3b63386f737e30f18304a23 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Tue, 19 Feb 2019 17:47:24 +0100 Subject: [PATCH 16/39] added re-torrent info --- FAQ.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/FAQ.md b/FAQ.md index 7e5f576..eca7cb2 100644 --- a/FAQ.md +++ b/FAQ.md @@ -501,8 +501,16 @@ When the HDD is clean, then flash a new RaspiBlitz sd card and your setup should ## My blockchain data is corrupted - what can I do? -You could try to re-index, but that can take some very long time - multiple days or even weeks. +You could try to re-index, but that can take some very long time - multiple days or even weeks. But there are other options: -Another option would be to delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions. +1. Copy Blockchain from another Computer -Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz) +You can delete the old blockchain and get a new one. See for details the FAQ question: [I have the full blockchain on another computer. How do I copy it to the RaspiBlitz?](FAQ.md#i-have-the-full-blockchain-on-another-computer-how-do-i-copy-it-to-the-raspiblitz). And even if you are not able to delete the data, first rename the undeletable folders and then follow the instructions. + +2. Re-Torrent download prepared Blockchain + +You can also start a new Torrent-Download and replace the old blockchain with a new download once its finished. Go to terminal and run script `/mnt/hdd/50torrentHDD.sh` + +3. Backup LND Data, make fresh Blitz, Replay LND Data + +You can backup your channel and wallet data, make a complete fresh RaspiBlitz and after that one is setup you replace the LND data with your old one. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD or SD card is degrading - maybe this is a good time to replace. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz)* From e3ea3fde359858fb38fe9ce12e8c6d9f3917b2b9 Mon Sep 17 00:00:00 2001 From: wingsuit Date: Wed, 20 Feb 2019 02:12:40 +0100 Subject: [PATCH 17/39] Corrected a sentence Tiny change correcting a sentence --- FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index d1a98e1..5678cc7 100644 --- a/FAQ.md +++ b/FAQ.md @@ -339,7 +339,7 @@ The best way would be to build the sd card yourself. You use the script `build_s To download a blockchain from a third party (torrent/ftp) is not optimal and for the future with more cheap & powerfull SingleBoardComputers we could get rid of this 'patch'. -The downloaded blockchain is pre-indexed and pre-validated. That should be practically secure enough, because if the user gets a "manipulated" blockchain it would not work after setup. The beginning of the downloaded blockchain needs to fit the genesis block (in bitcoind software) and the end of the downloaded blockchain needs not match with the rest of the bitcoin network state - hashes of new block distrubuted within the peer-2-peer network need to match the downloaded blockchain head. So if you downloaded a manipulated blockchain it would simply just don't work in practice. As long as you are not in a totally hostile environment where someone would be able to fake a whole network of peers and miners around you - this is secure enough for running a small funded full node to try out the lightning network. +The downloaded blockchain is pre-indexed and pre-validated. That should be practically secure enough, because if the user gets a "manipulated" blockchain it would not work after setup. The beginning of the downloaded blockchain needs to fit the genesis block (in bitcoind software) and the end of the downloaded blockchain needs not match with the rest of the bitcoin network state - hashes of new block distrubuted within the peer-2-peer network need to match the downloaded blockchain head. So if you downloaded a manipulated blockchain it simply wouldn't work in practice. As long as you are not in a totally hostile environment where someone would be able to fake a whole network of peers and miners around you - this is secure enough for running a small funded full node to try out the lightning network. If you dont trust the download or you want to run the RaspiBlitz in a more production like setup (on your own risk) then don't use the torrent/ftp download and choose the option to COPY the blockchain data from a more powerful computer (laptop or desktop) where you synced, verified and indexed the blockchain all by your yourself - see [README](README.md#4-copying-from-another-computer) for more details. From 6a9a63a93e8be6a29a760a3ca6eb2edddb97023d Mon Sep 17 00:00:00 2001 From: openoms Date: Wed, 20 Feb 2019 11:13:00 +0000 Subject: [PATCH 18/39] fix requests missing in dietpi for autounlock --- home.admin/config.scripts/lnd.autounlock.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home.admin/config.scripts/lnd.autounlock.sh b/home.admin/config.scripts/lnd.autounlock.sh index 92b290c..d08056f 100755 --- a/home.admin/config.scripts/lnd.autounlock.sh +++ b/home.admin/config.scripts/lnd.autounlock.sh @@ -1,5 +1,8 @@ #!/bin/bash +# requests missing in dietpi +sudo pip install requests + # command info if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then echo "small config script to autounlock lnd after restart" From 26764dda287b0cc3cdb74afb2a3af2ae8927d659 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Wed, 20 Feb 2019 12:34:05 +0100 Subject: [PATCH 19/39] undervoltage info --- FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index d1a98e1..81dd72c 100644 --- a/FAQ.md +++ b/FAQ.md @@ -323,7 +323,7 @@ Also there are first free 3D open source files in this repo in the directory `ca ## Are those "Under-Voltage detected" warnings a problem? -When your USB power adapter for the RaspiBlitz delivers too low power those messages with "Under-Voltage detected" (undervoltage) are shortly seen on the display. If you see those just one or two times that's not OK, but can be in a tolerant window. Nevertheless make sure your USB power adapter can deliver at least 3A. If you still see those warnings maybe get a second USB Power adapter just for the HDD and power the HDD through a Y-Cable - see https://en.wikipedia.org/wiki/Y-cable#USB +When your USB power adapter for the RaspiBlitz delivers too low power those messages with "Under-Voltage detected" (undervoltage) are shortly seen on the display. This can lead to data loss/corruption on the HDD. If you see those just one or two times that's not OK, but can be in a tolerant window. Nevertheless it make sure your USB power adapter can deliver at least 3A (big and stable is good). If you still see those warnings maybe get a second USB Power adapter just for the HDD and power the HDD through a Y-Cable - see https://en.wikipedia.org/wiki/Y-cable#USB or put a USB Hub with extra power between the raspberry and the HDD. ## Why do we need to download the blockchain and not syncing it? From ffcf86ee023a784973ea6b775af8535f69a92fdf Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Fri, 22 Feb 2019 15:12:10 +0100 Subject: [PATCH 20/39] LCD alternative #343 --- shoppinglist_usa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shoppinglist_usa.md b/shoppinglist_usa.md index 7bc953d..d0747b5 100644 --- a/shoppinglist_usa.md +++ b/shoppinglist_usa.md @@ -5,4 +5,4 @@ * Power: http://a.co/d/fVVOYZZ * 1TB Hard Drive: http://a.co/eUgVfLd * Case: http://a.co/1774Hwl -* LCD-Display: http://a.co/65p2wu6 \ No newline at end of file +* LCD-Display: http://a.co/65p2wu6 or https://www.amazon.com/gp/product/B01CNJVG8K/ \ No newline at end of file From 02b31c31d96b0967aa43ca03900353f27f988af0 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Fri, 22 Feb 2019 17:27:58 +0100 Subject: [PATCH 21/39] added power supply alternative --- shoppinglist_uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shoppinglist_uk.md b/shoppinglist_uk.md index 89f9ea0..dc22f14 100644 --- a/shoppinglist_uk.md +++ b/shoppinglist_uk.md @@ -2,7 +2,7 @@ * RaspBerry Pi 3: https://www.amazon.co.uk/Raspberry-Pi-Model-64-Bit-Processor/dp/B07BDR5PDW * Micro SD-Card 16GB: https://www.amazon.co.uk/Kingston-SDC10G2-16GB-microSDHC-Included/dp/B0162YQEIE -* Power: https://www.amazon.co.uk/iTrunk-Raspberry-Model-Supply-Charger/dp/B01MFFSPHE +* Power: https://www.amazon.co.uk/iTrunk-Raspberry-Model-Supply-Charger/dp/B01MFFSPHE or https://www.amazon.co.uk/dp/B07MLZQXS7 * 1TB Hard Drive: https://www.amazon.co.uk/Toshiba-Canvio-Basics-Portable-External/dp/B00KWHJY7Q * Case: https://www.amazon.co.uk/SB-Components-Transparent-Case-Raspberry/dp/B0173GQF8Y * LCD-Display: https://www.amazon.co.uk/ELEGOO-480x320-Raspberry-Monitor-Interface/dp/B01MRQTMTD \ No newline at end of file From 624f3b4dbd0832744cea5844d24b410495280e8e Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Fri, 22 Feb 2019 18:48:56 +0100 Subject: [PATCH 22/39] third alternative shopping item for LCD #343 --- shoppinglist_usa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shoppinglist_usa.md b/shoppinglist_usa.md index d0747b5..6d8ab67 100644 --- a/shoppinglist_usa.md +++ b/shoppinglist_usa.md @@ -5,4 +5,4 @@ * Power: http://a.co/d/fVVOYZZ * 1TB Hard Drive: http://a.co/eUgVfLd * Case: http://a.co/1774Hwl -* LCD-Display: http://a.co/65p2wu6 or https://www.amazon.com/gp/product/B01CNJVG8K/ \ No newline at end of file +* LCD-Display: http://a.co/65p2wu6 or https://www.amazon.com/gp/product/B01CNJVG8K/ or https://www.amazon.com/dp/B06X191RX7 \ No newline at end of file From cb7cd4f902838787403818000c359989b0ece7d2 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Fri, 22 Feb 2019 22:46:13 +0100 Subject: [PATCH 23/39] optional continue in PGP autocheck #342 --- build_sdcard.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build_sdcard.sh b/build_sdcard.sh index ede9eeb..bc7ac8f 100644 --- a/build_sdcard.sh +++ b/build_sdcard.sh @@ -246,8 +246,12 @@ fi fingerprint=$(gpg ./laanwj-releases.asc 2>/dev/null | grep "${laanwjPGP}" -c) if [ ${fingerprint} -lt 1 ]; then echo "" - echo "!!! BUILD FAILED --> Bitcoin download PGP author not OK" - exit 1 + echo "!!! BUILD WARNING --> Bitcoin PGP author not as expected" + echo "Should be laanwjPGP: ${laanwjPGP}" + echo "This is the output of that check (gpg ./laanwj-releases.asc):" + gpg ./laanwj-releases.asc + echo "PRESS ENTER to TAKE THE RISK if you think all is OK" + read key fi gpg --import ./laanwj-releases.asc sudo -u admin wget https://bitcoin.org/bin/bitcoin-core-${bitcoinVersion}/SHA256SUMS.asc From becad8e301a699cc0405ecd5f68ab0d0eed2ccf4 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Fri, 22 Feb 2019 23:22:03 +0100 Subject: [PATCH 24/39] optional continue on PGP check --- build_sdcard.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/build_sdcard.sh b/build_sdcard.sh index bc7ac8f..6983887 100644 --- a/build_sdcard.sh +++ b/build_sdcard.sh @@ -243,13 +243,12 @@ then echo "!!! FAIL !!! Download laanwj-releases.asc not success." exit 1 fi +gpg ./laanwj-releases.asc fingerprint=$(gpg ./laanwj-releases.asc 2>/dev/null | grep "${laanwjPGP}" -c) if [ ${fingerprint} -lt 1 ]; then echo "" echo "!!! BUILD WARNING --> Bitcoin PGP author not as expected" - echo "Should be laanwjPGP: ${laanwjPGP}" - echo "This is the output of that check (gpg ./laanwj-releases.asc):" - gpg ./laanwj-releases.asc + echo "Should contain laanwjPGP: ${laanwjPGP}" echo "PRESS ENTER to TAKE THE RISK if you think all is OK" read key fi @@ -336,11 +335,14 @@ if [ "${binaryChecksum}" != "${lndSHA256}" ]; then fi # check gpg finger print +gpg ./pgp_keys.asc fingerprint=$(gpg ./pgp_keys.asc 2>/dev/null | grep "${olaoluwaPGP}" -c) if [ ${fingerprint} -lt 1 ]; then echo "" - echo "!!! BUILD FAILED --> LND download author PGP not OK" - exit 1 + echo "!!! BUILD WARNING --> Bitcoin PGP author not as expected" + echo "Should contain olaoluwaPGP: ${olaoluwaPGP}" + echo "PRESS ENTER to TAKE THE RISK if you think all is OK" + read key fi gpg --import ./pgp_keys.asc sleep 3 From 3c394619282b99630c5b63b55764c6e48b001cd6 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Sat, 23 Feb 2019 23:00:57 +0100 Subject: [PATCH 25/39] #343 another display option --- shoppinglist_usa.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shoppinglist_usa.md b/shoppinglist_usa.md index 6d8ab67..623d503 100644 --- a/shoppinglist_usa.md +++ b/shoppinglist_usa.md @@ -5,4 +5,4 @@ * Power: http://a.co/d/fVVOYZZ * 1TB Hard Drive: http://a.co/eUgVfLd * Case: http://a.co/1774Hwl -* LCD-Display: http://a.co/65p2wu6 or https://www.amazon.com/gp/product/B01CNJVG8K/ or https://www.amazon.com/dp/B06X191RX7 \ No newline at end of file +* LCD-Display: http://a.co/65p2wu6 or https://www.amazon.com/gp/product/B01CNJVG8K/ or https://www.amazon.com/dp/B06X191RX7 or https://www.sparkfun.com/products/14776 \ No newline at end of file From 5d8d5e9a237f43b6093a7f54db3f93d2ef16c3fb Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Sat, 23 Feb 2019 23:44:36 +0100 Subject: [PATCH 26/39] #100 beginning of set lnd port script --- home.admin/config.scripts/lnd.setport.sh | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 home.admin/config.scripts/lnd.setport.sh diff --git a/home.admin/config.scripts/lnd.setport.sh b/home.admin/config.scripts/lnd.setport.sh new file mode 100644 index 0000000..bb2891e --- /dev/null +++ b/home.admin/config.scripts/lnd.setport.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# based on: https://github.com/rootzoll/raspiblitz/issues/100#issuecomment-465997126 + +if [ $# -eq 0 ]; then + echo "small config script set the port LND is running on" + echo "lnd.setport.sh [portnumber]" + exit 1 +fi + +portnumber=$1 + +# check port number is bigger then zero +if [ ${portnumber} -lt 1 ]; then + echo "FAIL - portnumber(${portnumber}) not above 0" + exit 1 +fi + +# check port number is smaller than max +if [ ${portnumber} -gt 65535 ]; then + echo "FAIL - portnumber(${portnumber}) not below 65535" + exit 1 +fi + +# check lnd.conf exits +lndConfExists=$(sudo ls /mnt/hdd/lnd/lnd.conf | grep -c 'lnd.conf') +if [ ${lndConfExists} -eq 0 ]; then + echo "FAIL - /mnt/hdd/lnd/lnd.conf not found" + exit 1 +fi + +echo "DEBUG EXIT" +exit 0 + +# check if "listen=" exists in lnd config +valueExists=$(sudo cat /mnt/hdd/lnd/lnd.conf | grep -c 'nat=') +if [ ${valueExists} -eq 0 ]; then + echo "Adding autonat config defaults to /mnt/hdd/lnd/lnd.conf" + sudo sed -i '$ a listen=0.0.0.0:9735' /mnt/hdd/lnd/lnd.conf +fi + +# stop services +echo "making sure services are not running" +sudo systemctl stop lnd 2>/dev/null + +echo "needs reboot to activate new setting" \ No newline at end of file From c46a18f89f0b9af03b285b4ce39bb50bd199e42c Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Sat, 23 Feb 2019 23:50:27 +0100 Subject: [PATCH 27/39] add integer check --- home.admin/config.scripts/lnd.setport.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home.admin/config.scripts/lnd.setport.sh b/home.admin/config.scripts/lnd.setport.sh index bb2891e..b7fb246 100644 --- a/home.admin/config.scripts/lnd.setport.sh +++ b/home.admin/config.scripts/lnd.setport.sh @@ -10,6 +10,13 @@ fi portnumber=$1 +# check port numer is a integer +if ! [ "$portnumber" -eq "$portnumber" ] 2> /dev/null +then + echo "FAIL - portnumber(${portnumber}) not a number" + exit 1 +fi + # check port number is bigger then zero if [ ${portnumber} -lt 1 ]; then echo "FAIL - portnumber(${portnumber}) not above 0" From e37a5336f92728d3a07db473065e91a7e4f59b1d Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Sun, 24 Feb 2019 01:51:56 +0100 Subject: [PATCH 28/39] first version if lnd.setport.sh #100 --- home.admin/config.scripts/lnd.setport.sh | 42 +++++++++++++++++++----- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/home.admin/config.scripts/lnd.setport.sh b/home.admin/config.scripts/lnd.setport.sh index b7fb246..e880f82 100644 --- a/home.admin/config.scripts/lnd.setport.sh +++ b/home.admin/config.scripts/lnd.setport.sh @@ -29,6 +29,13 @@ if [ ${portnumber} -gt 65535 ]; then exit 1 fi +# check if TOR is on +source /mnt/hdd/raspiblitz.conf +if [ "${runBehindTor}" = "on" ]; then + echo "FAIL - portnumber cannot be changed if TOR is ON (not implemented)" + exit 1 +fi + # check lnd.conf exits lndConfExists=$(sudo ls /mnt/hdd/lnd/lnd.conf | grep -c 'lnd.conf') if [ ${lndConfExists} -eq 0 ]; then @@ -36,18 +43,35 @@ if [ ${lndConfExists} -eq 0 ]; then exit 1 fi -echo "DEBUG EXIT" -exit 0 - # check if "listen=" exists in lnd config -valueExists=$(sudo cat /mnt/hdd/lnd/lnd.conf | grep -c 'nat=') -if [ ${valueExists} -eq 0 ]; then - echo "Adding autonat config defaults to /mnt/hdd/lnd/lnd.conf" - sudo sed -i '$ a listen=0.0.0.0:9735' /mnt/hdd/lnd/lnd.conf +valueExists=$(sudo cat /mnt/hdd/lnd/lnd.conf | grep -c 'listen=') +if [ ${valueExists} -lt 3 ]; then + echo "Adding listen config defaults to /mnt/hdd/lnd/lnd.conf" + sudo sed -i "9i listen=0.0.0.0:9735" /mnt/hdd/lnd/lnd.conf fi # stop services -echo "making sure services are not running" +echo "making sure LND is not running" sudo systemctl stop lnd 2>/dev/null -echo "needs reboot to activate new setting" \ No newline at end of file +# disable services +echo "making sure LND is disabled" +sudo systemctl disable lnd + +# change port in lnd config +echo "change port in lnd config" +sudo sed -i "s/^listen=.*/listen=0.0.0.0:${portnumber}/g" /mnt/hdd/lnd/lnd.conf + +# editing service file +echo "editing /etc/systemd/system/lnd.service" +sudo sed -i "s/^ExecStart=\/usr\/local\/bin\/lnd.*/ExecStart=\/usr\/local\/bin\/lnd --externalip=\${publicIP}:${portnumber}/g" /etc/systemd/system/lnd.service + +# enable service again +echo "enable service again" +sudo systemctl enable lnd + +# make sure port is open on firewall +sudo ufw allow ${portnumber} comment 'LND Port' +sudo ufw --force enable + +echo "needs reboot to activate new setting -> sudo shutdown -r now" \ No newline at end of file From f291055f47d0a57b3a80b1bc1da6031a853d9037 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Sun, 24 Feb 2019 02:35:44 +0100 Subject: [PATCH 29/39] added FAQ how to change LND port --- FAQ.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/FAQ.md b/FAQ.md index d87b509..043410e 100644 --- a/FAQ.md +++ b/FAQ.md @@ -519,3 +519,11 @@ You can also start a new Torrent-Download and replace the old blockchain with a 3. Backup LND Data, make fresh Blitz, Replay LND Data You can backup your channel and wallet data, make a complete fresh RaspiBlitz and after that one is setup you replace the LND data with your old one. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD or SD card is degrading - maybe this is a good time to replace. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz)* + +## I have two RaspiBlitz in my network - can they both be public? + +Yes but you need to change at least on one RaspiBlitz the port number (for example to 9736) on one of your RaspiBlitzes - see how to change a port below. Then you can forward both ports from your home internet router to the matching RaspiBlitzes. + +## How to change the public port LND/Lightning node is running on? + +There is a experimental script you can call from the terminal that will make all changes for you ... see details here: https://github.com/rootzoll/raspiblitz/issues/100#issuecomment-466722712 \ No newline at end of file From e754d531c748af70f7344a4ac8c2a66fb0c2d7a2 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Sun, 24 Feb 2019 02:57:27 +0100 Subject: [PATCH 30/39] updated shango connect --- home.admin/97addMobileWalletShango.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home.admin/97addMobileWalletShango.sh b/home.admin/97addMobileWalletShango.sh index 3070efb..2d85f70 100644 --- a/home.admin/97addMobileWalletShango.sh +++ b/home.admin/97addMobileWalletShango.sh @@ -42,7 +42,8 @@ read key clear echo "*** STEP 2 : SCAN MACAROON (make whole QR code fill camera) ***" -echo -e "${myip}:10009,\n$(xxd -p -c2000 ./.lnd/data/chain/${network}/${chain}net/admin.macaroon)," > qr.txt && cat ./.lnd/tls.cert >>qr.txt && qrencode -t ANSI256 < qr.txt +#echo -e "${myip}:10009,\n$(xxd -p -c2000 ~/.lnd/data/chain/${network}/${chain}net/admin.macaroon)," > qr.txt && qrencode -t ANSIUTF8 < qr.txt +echo -e "${myip}:10009,\n$(xxd -p -c2000 ./.lnd/data/chain/${network}/${chain}net/admin.macaroon)," > qr.txt && qrencode -t ANSI256 < qr.txt echo "(To shrink QR code: OSX->CMD- / LINUX-> CTRL-) Press ENTER when finished." read key shred qr.txt From 1ef1ef31a516d445830e474e596e45f83ae385e3 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Sun, 24 Feb 2019 15:35:47 +0100 Subject: [PATCH 31/39] FAQ without LCD --- FAQ.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/FAQ.md b/FAQ.md index d87b509..dcc6c58 100644 --- a/FAQ.md +++ b/FAQ.md @@ -519,3 +519,13 @@ You can also start a new Torrent-Download and replace the old blockchain with a 3. Backup LND Data, make fresh Blitz, Replay LND Data You can backup your channel and wallet data, make a complete fresh RaspiBlitz and after that one is setup you replace the LND data with your old one. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD or SD card is degrading - maybe this is a good time to replace. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz)* + +## Can I run the RaspiBlitz without a display/LCD? + +The display is one of the nice features of the RaspiBlitz but the raspberry can un without it. Maybe not all add-on feature could be used to the full extend, but you can get started without the LCD and even plug it on later. + +Normally with the LCD its easy to see your local IP changes and you can get started quickly. Without it needs a bit more digging thru your network - you can find a good tutorial on that on the RaspiBolt tutorial (origin of RaspiBlitz): + +https://github.com/Stadicus/guides/blob/master/raspibolt/raspibolt_20_pi.md#connecting-to-the-network + +*Please Note: Without a LCD-Hat you cannot simply use the HDMI as alternative, because screen signal is routed to the GPIO pins. On how to switch that back manually - see [waveshare documentation](https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)).* From 08d4f76d188bc2589d5c503575574b7ad13d1858 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Thu, 28 Feb 2019 14:58:09 +0100 Subject: [PATCH 32/39] #372 removed old statement about TOR --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 0f2f367..f1fa8ac 100644 --- a/README.md +++ b/README.md @@ -410,8 +410,6 @@ But this also comes with the following side effects: To try it out just switch on the service - you can deactivate later on if its not working for you. -The TOR integration is experimental and at the moment there is no way to switch off TOR again. - ##### RTL Webinterface The RTL Webinterface is a LND Control Dashboard you can run in your browser with a nice GUI - it offers much more control over your Lightning node than the RaspiBlitu SSH menus. Its recommended to give it a try. From 3766caf68fbcd93973c6209fe4575e5a98c36412 Mon Sep 17 00:00:00 2001 From: antonleviathan Date: Sat, 2 Mar 2019 12:59:39 -0500 Subject: [PATCH 33/39] Add Canadian shopping list (amazon.ca) --- shoppinglist_ca.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 shoppinglist_ca.md diff --git a/shoppinglist_ca.md b/shoppinglist_ca.md new file mode 100644 index 0000000..2d8594c --- /dev/null +++ b/shoppinglist_ca.md @@ -0,0 +1,7 @@ +## Shopping List: Amazon Canada + +* RaspBerry Pi 3: https://amzn.to/2NDLD31 +* Micro SD-Card 16GB: https://amzn.to/2NEXWMa +* Power: https://amzn.to/2NCdCju +* 1TB Hard Drive: https://amzn.to/2NF0lqj +* LCD-Display + Case + Pen: https://amzn.to/2GWx3D8 From c6de3d3d2e0c0975daa10e05e3bcdffb8c5d70ae Mon Sep 17 00:00:00 2001 From: antonleviathan Date: Sat, 2 Mar 2019 12:59:50 -0500 Subject: [PATCH 34/39] Add Canadian shopping list to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f1fa8ac..bc91136 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ These are the community currated shopping lists based on country: * [Germany](shoppinglist_de.md) *(reference shopping list)* * [USA](shoppinglist_usa.md) +* [Canada](shoppinglist_ca.md) * [UK](shoppinglist_uk.md) * [Switzerland](shoppinglist_ch.md) * [France](shoppinglist_fr.md) From e5da72701407d707bf56caeafb8a1b03c9e82068 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Wed, 6 Mar 2019 00:02:10 +0100 Subject: [PATCH 35/39] split Raspiblitz_standard.stl into two files #396 --- .../standard/RaspiBlitz_Standard_Bottom.stl | Bin 0 -> 4284 bytes .../standard/RaspiBlitz_Standard_Top.stl | Bin 0 -> 144384 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 case.3dprint/standard/RaspiBlitz_Standard_Bottom.stl create mode 100644 case.3dprint/standard/RaspiBlitz_Standard_Top.stl diff --git a/case.3dprint/standard/RaspiBlitz_Standard_Bottom.stl b/case.3dprint/standard/RaspiBlitz_Standard_Bottom.stl new file mode 100644 index 0000000000000000000000000000000000000000..4a0924342a37f791dcb536c93b1cdda077174f7c GIT binary patch literal 4284 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 AKmY&$ literal 0 HcmV?d00001 From deacf809489c8bff1ee7853641e7e1680a00b431 Mon Sep 17 00:00:00 2001 From: Daniel Esteban Date: Thu, 7 Mar 2019 18:32:40 +0100 Subject: [PATCH 36/39] Added shopping list for Amazon Spain --- shoppinglist_es.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 shoppinglist_es.md diff --git a/shoppinglist_es.md b/shoppinglist_es.md new file mode 100644 index 0000000..e166950 --- /dev/null +++ b/shoppinglist_es.md @@ -0,0 +1,8 @@ +## Shopping List: Amazon Spain + +* RaspBerry Pi 3: https://www.amazon.es/gp/product/B07BDR5PDW/ +* Micro SD-Card 16GB: https://www.amazon.es/gp/product/B073K14CVB/ +* Power: https://www.amazon.es/gp/product/B01M58O9M9/ +* 1TB Hard Drive: https://www.amazon.es/gp/product/B07997KKSK/ +* Case: https://www.amazon.es/gp/product/B01F1PSFY6/ +* LCD-Display: https://www.amazon.es/gp/product/B01MZZ1VY1/ \ No newline at end of file From 6b25f90e52350170f79c00b33c5abf8ecb43eb4e Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Thu, 7 Mar 2019 19:33:28 +0000 Subject: [PATCH 37/39] Bigger Power Adapter --- shoppinglist_es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shoppinglist_es.md b/shoppinglist_es.md index e166950..39dd1a5 100644 --- a/shoppinglist_es.md +++ b/shoppinglist_es.md @@ -2,7 +2,7 @@ * RaspBerry Pi 3: https://www.amazon.es/gp/product/B07BDR5PDW/ * Micro SD-Card 16GB: https://www.amazon.es/gp/product/B073K14CVB/ -* Power: https://www.amazon.es/gp/product/B01M58O9M9/ +* Power: https://www.amazon.es/gp/product/B01JZE38QE * 1TB Hard Drive: https://www.amazon.es/gp/product/B07997KKSK/ * Case: https://www.amazon.es/gp/product/B01F1PSFY6/ -* LCD-Display: https://www.amazon.es/gp/product/B01MZZ1VY1/ \ No newline at end of file +* LCD-Display: https://www.amazon.es/gp/product/B01MZZ1VY1/ From e25b60e3225ed28b812678904367bf87e49ea992 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Thu, 7 Mar 2019 19:44:12 +0000 Subject: [PATCH 38/39] Case supporting display --- shoppinglist_es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shoppinglist_es.md b/shoppinglist_es.md index 39dd1a5..224bd5e 100644 --- a/shoppinglist_es.md +++ b/shoppinglist_es.md @@ -4,5 +4,5 @@ * Micro SD-Card 16GB: https://www.amazon.es/gp/product/B073K14CVB/ * Power: https://www.amazon.es/gp/product/B01JZE38QE * 1TB Hard Drive: https://www.amazon.es/gp/product/B07997KKSK/ -* Case: https://www.amazon.es/gp/product/B01F1PSFY6/ +* Case: https://www.amazon.es/gp/product/B07DK4CRHS/ * LCD-Display: https://www.amazon.es/gp/product/B01MZZ1VY1/ From ed4f7ec1f2899642819d1582652442d2bd9d3fd0 Mon Sep 17 00:00:00 2001 From: Christian Rotzoll Date: Fri, 8 Mar 2019 13:30:33 +0000 Subject: [PATCH 39/39] #409 how to fix signature mismatch error --- FAQ.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/FAQ.md b/FAQ.md index c5b4e94..9ddf2d6 100644 --- a/FAQ.md +++ b/FAQ.md @@ -537,3 +537,12 @@ Yes but you need to change at least on one RaspiBlitz the port number (for examp ## How to change the public port LND/Lightning node is running on? There is a experimental script you can call from the terminal that will make all changes for you ... see details here: https://github.com/rootzoll/raspiblitz/issues/100#issuecomment-466722712 + +## How to solve a "signature mismatch after caveat verification" error? + +If you get this error by LND that means that something is wrong with the macaroons being used to communicate with LND .. see: https://github.com/lightningnetwork/lnd/blob/master/docs/macaroons.md + +To fix this depends on where you get this error: + +* If you get it in a mobile wallet, then redo the connection with the RaspiBlitz to get fresh macaroons. +* If you get this from RTL or from the scripts of the SSH menus of the RaspiBlitz, then go to "EXPORT Macacroons and TLS.cert" in SSH main menu and choose the the "RESET Macaroons & TLS" option. \ No newline at end of file