Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
howto:building_raspberry_pi_image_for_vz [2018/04/01 15:37] – Titel jau | howto:building_raspberry_pi_image_for_vz [2019/04/20 08:42] – Änderungen rc.local jau |
---|
====== Volkszähler-Image für Raspberry Pi selbst erstellen ====== | ====== Volkszaehler-Image für Raspberry Pi selbst erstellen ====== |
| |
Anleitung wie ein Image für den Raspberry Pi selbst erstellt werden kann, für: [[/howto/raspberry_pi_image#image_aufspielen|Image aufspielen]] | Anleitung wie ein Image für den Raspberry Pi selbst erstellt werden kann, für: [[/howto/raspberry_pi_image#image_aufspielen|Image aufspielen]] |
- IP des Raspi im Router ermitteln oder per Netzwerkscanner ermitteln | - IP des Raspi im Router ermitteln oder per Netzwerkscanner ermitteln |
- Mittels Putty per SSH mit dem Raspi verbinden | - Mittels Putty per SSH mit dem Raspi verbinden |
- Passwort ändern | - Raspbian auf den neuesten Stand bringen: ''sudo apt update && sudo apt upgrade'' |
- Raspbian auf den neuesten Stand bringen: ''sudo apt-get update && sudo apt-get upgrade'' | |
- Dann verschiedene Konfigurationseinstellungen vornehmen mit: | - Dann verschiedene Konfigurationseinstellungen vornehmen mit: |
- ''sudo raspi-config'' | - ''sudo raspi-config'' |
- ''B2 Wait for Network at Boot'' | - ''B2 Wait for Network at Boot: Yes'' |
- ''I2 Change Timezone : Europe, Berlin'' | - ''I2 Change Timezone : Europe, Berlin'' |
- ''I4 Change Wi-fi Country : DE Germany'' | - ''I4 Change Wi-fi Country : DE Germany'' |
- ''A1 Expand Filesystem'' | |
- ''P2 SSH Enable SSH'' | - ''P2 SSH Enable SSH'' |
- ''P4 SPI Disable SPI'' | - ''P4 SPI Disable SPI'' |
- ''# Register I2C RTC bei grosser neuer Erweiterung'' | - ''# Register I2C RTC bei grosser neuer Erweiterung'' |
- ''# echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-1/new_device'' | - ''# echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-1/new_device'' |
- GPIOs exportieren und Datenrichtung einstellen, 'Schaltausgang_new' | - GPIOs exportieren und Datenrichtung einstellen, 'Schaltausgang_new' |
- ''echo 24 > /sys/class/gpio/export'' | - ''echo 24 > /sys/class/gpio/export'' |
- ''echo 25 > /sys/class/gpio/export'' | - ''echo 25 > /sys/class/gpio/export'' |
- ''echo out > /sys/class/gpio/gpio24/direction'' | - ''echo out > /sys/class/gpio/gpio24/direction'' |
- ''echo out > /sys/class/gpio/gpio25/direction'' | - ''echo out > /sys/class/gpio/gpio25/direction'' |
- hwclock -s | - RTC (Erweiterung) aktivieren |
| - ''hwclock -s'' |
- Danach ''reboot'' | - Danach ''reboot'' |
| - Apache deinstallieren |
| - ''sudo apt remove apache2'' |
| - ''sudo apt autoremove'' |
| - PHP 7.1 (oder höher) installieren |
| - Datei anlegen ''sudo nano /etc/apt/sources.list.d/10-buster.list'' mit Inhalt <code>deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi</code> |
| - Datei anlegen ''sudo nano /etc/apt/preferences.d/10-buster'' mit Inhalt <code>Package: * |
| Pin: release n=stretch |
| Pin-Priority: 900 |
| |
| Package: * |
| Pin: release n=buster |
| Pin-Priority: 750</code> |
| - ''sudo apt update'' |
| - ''sudo apt install -y -t buster php7.3-fpm php7.3-gd php7.3-intl php7.3-mbstring php7.3-mysql php7.3-imap php7.3-opcache php7.3-sqlite3 php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-cli php-apcu'' |
| - composer unter ''/usr/local/bin'' installieren |
| - ''sudo apt install curl'' |
| - ''cd /tmp'' |
| - ''curl -sS https://getcomposer.org/installer | php'' |
| - ''sudo mv composer.phar /usr/local/bin/composer'' |
| - ''sudo chmod +x /usr/local/bin/composer'' |
| - Abhängigkeiten Middleware installieren: ''sudo apt install git-core mysql-server mysql-client ca-certificates'' |
| - Abhängigkeiten vzlogger aus "Buster" installieren: ''sudo apt install -y -t buster libssl-dev libgcrypt20-dev libcurl3'' |
| - Abhängigkeiten vzlogger installieren: ''sudo apt install build-essential git-core cmake pkg-config subversion libcurl4-openssl-dev libgnutls28-dev libsasl2-dev uuid-dev libtool libmicrohttpd-dev libltdl-dev libjson-c-dev libleptonica-dev libunistring-dev dh-autoreconf'' |
- Dann [[/software/controller/vzlogger/installation_cpp-version?|vzlogger]] und die [[/software/middleware/installation|Middleware]] entsprechend Wiki per Script installieren. | - Dann [[/software/controller/vzlogger/installation_cpp-version?|vzlogger]] und die [[/software/middleware/installation|Middleware]] entsprechend Wiki per Script installieren. |
| - Aggregation einrichten [[/howto/datenmengen#performance_der_middleware_erhoehendatenaggregationcache]] |
| |
===== Optionen und Vorschläge ===== | ===== Optionen und Vorschläge ===== |
</code> | </code> |
Wichtig ist ''copytruncate'', weil die Datei sonst erst gelöscht und dann neu erstellt wird. Damit kommt vzlogger nicht klar. ''rotate 0'' geht natürlich auch, dann wird die alte Datei nicht rotiert sondern gleich gelöscht. | Wichtig ist ''copytruncate'', weil die Datei sonst erst gelöscht und dann neu erstellt wird. Damit kommt vzlogger nicht klar. ''rotate 0'' geht natürlich auch, dann wird die alte Datei nicht rotiert sondern gleich gelöscht. |
| |
=== composer === | |
''composer'' unter ''/usr/local/bin'' installieren | |
| |
=== Push-Server === | === Push-Server === |
[[/software/middleware/push-server|Push-Server]] aktivieren/Einrichten. | [[/software/middleware/push-server|Push-Server]] aktivieren/Einrichten. |
| |
=== PPM-Middleware === | === GoLang installieren === |
Performance Middleware aktivieren | <code>cd ~ |
| sudo apt remove golang |
| sudo apt autoremove |
| wget https://dl.google.com/go/go1.12.3.linux-armv6l.tar.gz |
| sudo tar -C /usr/local -xvf go1.12.3.linux-armv6l.tar.gz |
| mkdir go |
| echo 'export GOPATH=$HOME/go' >> ~/.profile |
| echo 'PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"' >> ~/.profile |
| source .profile</code> |
| |
| === Image verkleinern === |
| [[https://github.com/Drewsif/PiShrink]] \\ |
| Vorzugsweise ohne Option -s, dann wird das Image automatisch auf maximale Kartengröße erweitert. |
| |
===== Quellen ===== | ===== Quellen ===== |
Mailingliste vz-dev {{http://volkszaehler.org/pipermail/volkszaehler-dev/2017-December/005997.html}} \\ | Mailingliste vz-dev {{http://volkszaehler.org/pipermail/volkszaehler-dev/2017-December/005997.html}} \\ |
Github Issue#555 {{https://github.com/volkszaehler/volkszaehler.org/issues/555}} | Github Issue#555 {{https://github.com/volkszaehler/volkszaehler.org/issues/555}} |