Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/pi-hole/pi-hole.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Warner <PromoFaux@users.noreply.github.com>2016-02-21 23:48:46 +0300
committerAdam Warner <PromoFaux@users.noreply.github.com>2016-02-21 23:48:46 +0300
commit3a46e7fc0aaa1accd5e7d8a60f5336b040600bea (patch)
treef91371fdda0937a07d04d25672891ddf18d93599
parent88674e21cfa5ad0166f6444bf7d442fb4cd03c7c (diff)
parentc5d45edf2d93fcd68a31c80fc44078958e754e76 (diff)
Merge pull request #338 from pi-hole/auto-chronometer-lcd-setup
Auto chronometer lcd setup
-rw-r--r--advanced/Scripts/setupLCD.sh89
-rw-r--r--advanced/cmdline.txt1
-rw-r--r--advanced/console-setup17
3 files changed, 107 insertions, 0 deletions
diff --git a/advanced/Scripts/setupLCD.sh b/advanced/Scripts/setupLCD.sh
new file mode 100644
index 00000000..df2be704
--- /dev/null
+++ b/advanced/Scripts/setupLCD.sh
@@ -0,0 +1,89 @@
+#!/usr/bin/env bash
+# Pi-hole: A black hole for Internet advertisements
+# (c) 2015 by Jacob Salmela
+# Network-wide ad blocking via your Raspberry Pi
+# http://pi-hole.net
+# Automatically configures the Pi to use the 2.8 LCD screen to display stats on it (also works over ssh)
+#
+# Pi-hole is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+
+############ FUNCTIONS ###########
+# Run this script as root or under sudo
+echo ":::"
+if [[ $EUID -eq 0 ]];then
+ echo "::: You are root."
+else
+ echo "::: sudo will be used."
+ # Check if it is actually installed
+ # If it isn't, exit because the install cannot complete
+ if [[ $(dpkg-query -s sudo) ]];then
+ export SUDO="sudo"
+ else
+ echo "::: Please install sudo or run this script as root."
+ exit 1
+ fi
+fi
+
+# Borrowed from adafruit-pitft-helper < borrowed from raspi-config
+# https://github.com/adafruit/Adafruit-PiTFT-Helper/blob/master/adafruit-pitft-helper#L324-L334
+getInitSys() {
+ if command -v systemctl > /dev/null && systemctl | grep -q '\-\.mount'; then
+ SYSTEMD=1
+ elif [ -f /etc/init.d/cron ] && [ ! -h /etc/init.d/cron ]; then
+ SYSTEMD=0
+ else
+ echo "Unrecognised init system"
+ return 1
+ fi
+}
+
+# Borrowed from adafruit-pitft-helper:
+# https://github.com/adafruit/Adafruit-PiTFT-Helper/blob/master/adafruit-pitft-helper#L274-L285
+autoLoginPiToConsole() {
+ if [ -e /etc/init.d/lightdm ]; then
+ if [ $SYSTEMD -eq 1 ]; then
+ $SUDO systemctl set-default multi-user.target
+ $SUDO ln -fs /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
+ else
+ $SUDO update-rc.d lightdm disable 2
+ $SUDO sed /etc/inittab -i -e "s/1:2345:respawn:\/sbin\/getty --noclear 38400 tty1/1:2345:respawn:\/bin\/login -f pi tty1 <\/dev\/tty1 >\/dev\/tty1 2>&1/"
+ fi
+ fi
+}
+
+######### SCRIPT ###########
+# Set pi to log in automatically
+getInitSys
+autoLoginPiToConsole
+
+# Set chronomter to run automatically when pi logs in
+echo /usr/local/bin/chronometer.sh >> /home/pi/.bashrc
+# OR
+#$SUDO echo /usr/local/bin/chronometer.sh >> /etc/profile
+
+# Set up the LCD screen based on Adafruits instuctions:
+# https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install
+curl -SLs https://apt.adafruit.com/add-pin | $SUDO bash
+$SUDO apt-get -y install raspberrypi-bootloader
+$SUDO apt-get -y install adafruit-pitft-helper
+$SUDO adafruit-pitft-helper -t 28r
+
+# Download the cmdline.txt file that prevents the screen from going blank after a period of time
+$SUDO mv /boot/cmdline.txt /boot/cmdline.orig
+$SUDO curl -o /boot/cmdline.txt https://raw.githubusercontent.com/pi-hole/pi-hole/master/advanced/cmdline.txt
+
+# Back up the original file and download the new one
+$SUDO mv /etc/default/console-setup /etc/default/console-setup.orig
+$SUDO curl -o /etc/default/console-setup https://raw.githubusercontent.com/pi-hole/pi-hole/master/advanced/console-setup
+
+# Instantly apply the font change to the LCD screen
+$SUDO setupcon
+
+$SUDO reboot
+
+# Start showing the stats on the screen by running the command on another tty:
+# http://unix.stackexchange.com/questions/170063/start-a-process-on-a-different-tty
+#setsid sh -c 'exec /usr/local/bin/chronometer.sh <> /dev/tty1 >&0 2>&1'
diff --git a/advanced/cmdline.txt b/advanced/cmdline.txt
new file mode 100644
index 00000000..84d52b79
--- /dev/null
+++ b/advanced/cmdline.txt
@@ -0,0 +1 @@
+dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait fbcon=map:10 fbcon=font:VGA8x8 consoleblank=0
diff --git a/advanced/console-setup b/advanced/console-setup
new file mode 100644
index 00000000..f12be6eb
--- /dev/null
+++ b/advanced/console-setup
@@ -0,0 +1,17 @@
+# CONFIGURATION FILE FOR SETUPCON
+
+# Consult the console-setup(5) manual page.
+
+ACTIVE_CONSOLES="/dev/tty[1-6]"
+
+CHARMAP="UTF-8"
+
+# For best results with the Adafruit 2.8 LCD and Pi-hole's chronometer
+CODESET="guess"
+FONTFACE="Terminus"
+FONTSIZE="10x20"
+
+VIDEOMODE=
+
+# The following is an example how to use a braille font
+# FONT='lat9w-08.psf.gz brl-8x8.psf'