#!/bin/bash -x # Installs IIAB. "bash -x" (xtrace) is like -v (verbose) but expands commands. # 1. RUN: "sudo su -" then "raspi-config" to set "Localisation Options" # 2. OPTIONAL: "passwd pi; touch /boot/ssh; reboot" to ssh in immediately # 3. RUN THIS SCRIPT: curl download.iiab.io/6.4/rpi/load-min.txt | bash # 4. REBOOTS AUTOMATICALLY WHEN DONE (about an hour later) which # sets the hostname, while improving RTC settings + memory mgmt set -e # to exit on error (avoids snowballing) tune2fs -m 1 /dev/mmcblk0p2 # Above changes reserve disk space from ~5% to 1% export DEBIAN_FRONTEND=noninteractive apt update apt -y dist-upgrade apt -y clean # Above updates Raspbian for security especially apt -y install git # Above installs git for Raspbian Lite mkdir -p /opt/iiab cd /opt/iiab/ git clone https://github.com/iiab/iiab --depth 1 -b release-6.4 git clone https://github.com/iiab/iiab-admin-console --depth 1 git clone https://github.com/iiab/iiab-menu --depth 1 git clone https://github.com/iiab/iiab-factory --depth 1 cd /opt/iiab/iiab/vars/ if [ -f local_vars.yml ]; then echo "ERROR: Plz move /opt/iiab/iiab/vars/local_vars.yml to proceed." >&2 exit 1 elif [ -f local_vars_min.yml ]; then echo "ERROR: Plz move /opt/iiab/iiab/vars/local_vars_min.yml to proceed." >&2 exit 1 fi wget http://download.iiab.io/6.4/rpi/local_vars_min.yml mv local_vars_min.yml local_vars.yml # Above assumes a virgin RPi system (wget WON'T overwrite existing files) # In general please examine local_vars.yml carefully (and modify as nec) # before running Ansible (below, which can take ~2 hours the first time!) # NOTE: you can change many/most settings after install too, using the # Admin Console (http://box/admin) as documented at: http://FAQ.IIAB.IO cd /opt/iiab/iiab/scripts/ ./ansible # Installs Ansible 2.4.x from PPA rm /etc/pip.conf touch /etc/pip.conf # TEMPORARY WORKAROUND to deal with https://github.com/iiab/iiab/issues/392 cd /opt/iiab/iiab/ ./runansible # TRY TO RERUN THE ABOVE LINE IF IT FAILS (if networking glitches etc?) cd /opt/iiab/iiab-admin-console/ ./install # Installs Admin Console; runs iiab-get-kiwix-cat to d/l Kiwix catalog cd /opt/iiab/iiab-menu/ ./cp-menus # Installs Dynamic Menuing for /library/www/html/home/index.html iiab-make-kiwix-lib # Rebuilds local library.xml in case ZIM files added to /library/zims/content export KALITE_HOME=/library/ka-lite kalite manage generate_zone # Register with KA Lite - just the anonymous registration kalite manage retrievecontentpack download en # Get KA Lite English language pack (slow download!) reboot