Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:building_raspberry_pi_image_for_vz

Volkszaehler-Image für Raspberry Pi selbst erstellen

Anleitung wie ein Image für den Raspberry Pi selbst erstellt werden kann, für: Image aufspielen

Der Inhalt dieses Wiki-Artikels ist noch nicht vollständig und muss angepasst werden, soll aber als Einstieg helfen! FIXME

Folgende Schritte:

  1. Image downloaden: Vorzugsweise die Raspbian Lite Version und nicht die Desktop-Version!
  2. Mit Win32DiskImager Image auf 4GB SD-Karte schreiben
  3. Im Verzeichnis „boot“ leere Datei mit Namen „ssh“ mit Notepad++ erzeugen
  4. Karte in den Raspi stecken
  5. Versorgungsspannung anlegen, Netzwerkleitung anschließen
  6. Darauf achten, dass das Netzteil genügend Strom liefern kann. 2A besser 2,5A Netzteile verwenden
  7. IP des Raspi im Router ermitteln oder per Netzwerkscanner ermitteln
  8. Mittels Putty per SSH mit dem Raspi verbinden
  9. Raspbian auf den neuesten Stand bringen: sudo apt update && sudo apt upgrade
  10. Dann verschiedene Konfigurationseinstellungen vornehmen mit:
    1. sudo raspi-config
      1. B2 Wait for Network at Boot: Yes
      2. I2 Change Timezone : Europe, Berlin
      3. I4 Change Wi-fi Country : DE Germany
      4. P2 SSH Enable SSH
      5. P4 SPI Disable SPI
      6. P5 I2C Enable I2C
      7. P6 Serial Disable Shell and Enable serial Hardware
      8. P7 1-Wire Disable one-wire interface
      9. P8 Remote GPIO Disable remote access
  11. Reboot
  12. Edit „config.txt“
    1. sudo nano /boot/config.txt
    2. folgende zwei Zeilen am Ende der Datei hinzufügen:
      1. max_usb_current=1
      2. dtoverlay=pi3-disable-bt
  13. Edit „modules“
    1. sudo nano /etc/modules
    2. folgende zwei Zeilen am Ende der Datei hinzufügen:
      1. ds2482
      2. w1-therm
  14. Edit „rc.local“
    1. sudo nano /etc/rc.local
    2. Folgende Zeilen zwischen „ fi “ und „ exit 0 “ hinzufügen:
      1. # Part of DS2482 I2C 1-Wire Master to Volkszaehler 'RaspberryPI deamon'.
      2. echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
      3. # Register I2C RTC bei grosser neuer Erweiterung
      4. # echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-1/new_device
    3. GPIOs exportieren und Datenrichtung einstellen, 'Schaltausgang_new'
      1. echo 24 > /sys/class/gpio/export
      2. echo 25 > /sys/class/gpio/export
      3. echo out > /sys/class/gpio/gpio24/direction
      4. echo out > /sys/class/gpio/gpio25/direction
    4. RTC (Erweiterung) aktivieren
      1. hwclock -s
  15. Danach reboot
  16. Apache deinstallieren
    1. sudo apt remove apache2
    2. sudo apt autoremove
  17. PHP 7.1 (oder höher) installieren
    1. Datei anlegen sudo nano /etc/apt/sources.list.d/10-buster.list mit Inhalt
      deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi
    2. Datei anlegen sudo nano /etc/apt/preferences.d/10-buster mit Inhalt
      Package: *
      Pin: release n=stretch
      Pin-Priority: 900
      
      Package: *
      Pin: release n=buster
      Pin-Priority: 750
    3. sudo apt update
    4. 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
  18. composer unter /usr/local/bin installieren
    1. sudo apt install curl
    2. cd /tmp
    3. sudo mv composer.phar /usr/local/bin/composer
    4. sudo chmod +x /usr/local/bin/composer
  19. Abhängigkeiten Middleware installieren: sudo apt install git-core mysql-server mysql-client ca-certificates
  20. Abhängigkeiten vzlogger aus „Buster“ installieren: sudo apt install -y -t buster libssl-dev libgcrypt20-dev libcurl3
  21. 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
  22. Dann vzlogger und die Middleware entsprechend Wiki per Script installieren.

Optionen und Vorschläge

Logrotate

sudo nano /etc/logrotate.d/vzlogger

/var/log/vzlogger.log {
        rotate 1
        size=100k
        copytruncate
        missingok
        notifempty
}

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.

Push-Server

Push-Server aktivieren/Einrichten.

GoLang installieren

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

Image verkleinern

https://github.com/Drewsif/PiShrink
Vorzugsweise ohne Option -s, dann wird das Image automatisch auf maximale Kartengröße erweitert.

Quellen

Mailingliste vz-dev 005997.html
Github Issue#555 555

howto/building_raspberry_pi_image_for_vz.txt · Zuletzt geändert: 2019/04/20 08:42 von jau