Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:pogoplugv2

Volkszaehler auf einem Pogoplug V2 mit Archlinux installieren

Pogoplug V2 ist ein auf ARM-Architektur basierender Kleinstrechner der in einem kleinen Gehäuse 4x USB-Schnittstellen, 1x 1GBit/s Ethernet, 1,2Ghz Prozessor, 256MB RAM und Netzteil vereint. Er eignet sich daher sehr gut um einen Datenlogger aufzubauen. Weil mein einen USB-Port für das Speichermedium auf dem das Betriebssystem benötigt, verbleiben 3 Ports frei, an welche man z.B. 3 USB-IR-Köpfe ohne externen Hub einstecken kann.

Der Betrieb der Middleware wurde hier nicht untersucht, sollte aber möglich sein. Aufgrund des Datenbankbetriebs und der damit verbundenen vielen schreibenden Zugriffen sollte man sich aber genau überlegen ob man nicht doch eine USB-Festplatte anstelle des USB-Memory-Sticks verwendet.

Installation von Archlinux

Die Installation des Archlinux auf einem neuen Pogoplug V2 verläuft gemäß http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray sehr einfach, wenn dieser im Netzwerk erreichbar ist und bereits ein USB-Memory-Stick eingesteckt ist (Mindestgröße 1GB, auf Qualität achten!):

1) Mittels SSH als User root mit Passwort ceadmin einloggen.

2) Die Pogoplug-Software mit killall hbwd stoppen.

3) Die folgenden Befehle ausführen:

cd /tmp
wget http://jeff.doozan.com/debian/uboot/install_uboot_mtd0.sh
chmod +x install_uboot_mtd0.sh
./install_uboot_mtd0.sh
/usr/sbin/fw_setenv usb_rootfstype ext3

Dabei wird ein neuer Bootloader installiert, der es dann erlaubt von einem USB-Memory-Stick zu booten.

4) Der USB-Memory-Stick muss entsprechend partitioniet werden. Hierzu lauten die Befehle

/sbin/fdisk /dev/sda

Am fdisk-Promt löscht man alle vorhandenen und erstellt eine neue Partition:

  • mit o alle Partitionen löschen
  • mit p die leere Partitionstabelle anzeigen lassen
  • mit mit n eine neue Partion anlegen, dabei p für primär und 1 für die erste auswählen
  • mit ENTER die weiteren default Eingaben akzeptieren
  • und mit w fdisk verlassen

5) Jetzt noch mit ext3 formatieren:

wget http://archlinuxarm.org/os/pogoplug/mke2fs
chmod 755 mke2fs
./mke2fs -j /dev/sda1
mkdir usb
mount /dev/sda1 usb

6) Arch Linux ARM auf dem Stick downloaden und installieren (braucht relativ viel Zeit!):

cd usb
wget http://archlinuxarm.org/os/ArchLinuxARM-armv5te-latest.tar.gz
tar -xzvf ArchLinuxARM-armv5te-*.tar.gz
sync

7) Aufräumen und Neustart

cd ..
umount usb
/sbin/reboot

8) System Aktualisieren

pacman -Syu

Kernel aktualisieren

8) Neuesten Kernel installieren

Da es bei älteren Kernel Probleme mit der Initialisierung des CP2104 gib, welche die Nutzung des IR-Kopfs verhindern, soll auf einem aktuellen Kernel umgestellt werden. Das lässt sich glücklicherweise schnell beheben, vorausgesetzt, dass man den neuesten uboot installiert hat. Dazu einfach folgende Befehle als root ausführen (das Skript weist darauf hin, falls man schon einen aktuellen uboot installiert hat).

cd /tmp
wget http://projects.doozan.com/uboot/install_uboot_mtd0.sh
chmod +x install_uboot_mtd0.sh
./install_uboot_mtd0.sh

Im Anchluss reicht ein

pacman -S linux-kirkwood

um nach kurzer Zeit und einem Neustart, mit einem aktuellen Kernel arbeiten zu können. Zum Zeitpunkt dieses Eintrags (2013-01-05) war das 3.6.11-0-ARCH #1 PREEMPT Mon Dec 31 21:16:06 UTC 2012 armv5tel GNU/Linux. Damit konnte der IR-Kopf problemlos am Pogoplug betrieben werden.

vlogger installieren

Um vzlogger zu installieren sollte man wie folgt vorgehen, da die Variante mit cmake nicht kompiliert (Stand 2013-01-09.). Benötigt werden unter anderen folgende Pakete (siehe auch Hinweis weiter unten):

  • pkg-config
  • libjson >= 0.9
  • libcurl3 >= 7.19
  • libmicrohttpd >= 0.4.6

libsml

Die Installation läuft relativ gerade aus. Dazu aus einem beliebigen Verzeichnis folgende Befehle eingeben und auf deren Ausgaben achten:

git clone https://github.com/dailab/libsml.git
cd libsml
make
cp sml/lib/libsml.* /usr/lib
cp -r sml/include/sml /usr/include
cp sml.pc /usr/lib/pkgconfig
cd ..

vzlogger

Wenn libsml erfolgreich kompiliert und installiert wurde, kann vzlogger folgen.

Da Archlinux Arm standardmäßig relativ wenig Pakete aus dem Stand mitbringt, wird configure relativ häufig fehlende Pakete reklamieren, Diese lassen sich aber einfach mittels pacman -Ss suchen und pacman -Sy installieren.
git clone https://github.com/mysmartgrid/vzlogger.git
cd vzlogger
./configure

Ist configure ohne Fehlermeldungen durch, wird es ernst ;-)

make && make install

Jetzt kann/muss /etc/vzlogger konfiguriert und der vzlogger gestartet werden.

nano /etc/vzlogger.conf
vzlogger -v20 # verbose modus

vzlogger mit systemd starten

Archlinux Arm startet Dienste mittels systemd, daher bietet es sich an, vzlogger entsprechend zu konfigurieren. Hierzu einfach Datei vzlogger.service im Verzeichnis /usr/lib/systemd/system/ erzeugen

nano /usr/lib/systemd/system/vzlogger.service

und wie folgt befüllen. Die Pfade unten sollten sicherheitshalber im Vorfeld überprüft werden:

[Unit]
Description=vzlogger
After=syslog.target network.target

[Service]
ExecStart=/usr/local/bin/vzlogger -f /etc/vzlogger.conf
ExecReload=/bin/kill -HUP $MAINPID
StandardOutput=null

[Install]
WantedBy=multi-user.target

Ab jetzt kann man vzlogger mit dem Befehl systemctl starten, stoppen oder dessen Status prüfen:

~]# systemctl start vzlogger
~]# systemctl status vzlogger
~]# systemctl stop vzlogger

Wenn alles geklappt hat, kann man vlogger automatisch mit dem System starten lassen:

~]# systemctl enable vzlogger
howto/pogoplugv2.txt · Zuletzt geändert: 2013/11/01 23:09 von robert