Tag-Archiv: ALIX

Voyage Linux auf der Alix

Voyage Linux ist eine auf Debian 4.0 (etch) basierende Distribution für eingebettete Systeme. Sie benötigt in einer typischen Installation nur 64MB Speicherplatz und ist für den Betrieb auf CF-Karten o.ä. optimiert. Da apt zur Paketverwaltung eingesetzt wird, können zusätzliche Pakete genau wie unter Debian installiert werden. Der Kernel von Voyage Linux enthält die Module die für den Hardware-Watchdog sowie die LEDs der ALIX benötigt werden.

Voyage-Kernel unter etch nutzen

  1. Zur /etc/apt/sources.list folgende Zeile hinzufügen
    deb http://www.voyage.hk/dists/0.5/ ./
  2. aptitude update
    aptitude install linux-image-2.6.23-486-voyage
  3. Anschließend rebooten.

ALIX Watchdog

Kernelmodul

Das Kernelmodul für den Watchdog der ALIX ist im Kernel von Voyage Linux enthalten. Nachdem dieser installiert ist kann das Modul mit modprobe geodewdt in den Kernel geladen werden. Außerdem sollte das Modul nach einem Boot immer automatisch geladen werden:

echo "geodewdt" >> /etc/modules

Watchdog-Daemon

aptitude install watchdog

installiert den Watchdog-Daemon, der ab sofort auch gleich beim Booten gestartet wird. Diesem muss in der Konfigurationsdatei /etc/watchdog.conf nur noch mitgeteilt werden, wo er sein Watchdog-Device findet:

watchdog-device = /dev/watchdog

Anschließend muss der Daemon neu gestartet werden, damit er die Änderungen an der Konfiguration übernimmt:

/etc/init.d/watchdog restart

Watchdog testen

Um den Watchdog zu testen kann man eine Kernel-Panic provozieren. Die ALIX sollte dann nach einiger Zeit von selbst neu booten:

rmmod -f ipv6

ALIX LEDs

Das Kernelmodul um die ALIX-LEDs anzusteuern ist im Kernel von Voyage Linux enthalten. Nachdem dieser installiert ist kann das Modul mit modprobe leds-alix in den Kernel geladen werden.

Nun lassen sich die LEDs steuern:

# Anschalten
echo 1 > /sys/class/leds/alix\:1/brightness
echo 1 > /sys/class/leds/alix\:2/brightness
echo 1 > /sys/class/leds/alix\:3/brightness

# Ausschalten
echo 0 > /sys/class/leds/alix\:1/brightness
echo 0 > /sys/class/leds/alix\:2/brightness
echo 0 > /sys/class/leds/alix\:3/brightness

LED-Trigger

Etwas bequemer geht das mit LED-Triggern.

Module laden

modprobe ledtrig-default-on
modprobe ledtrig-heartbeat
modprobe ledtrig-morse
modprobe ledtrig-timer

Trigger aktivieren

  1. Aktiviere heartbeat für LED1 – Je höher die Load, umso schneller das blinken:
    echo heartbeat > /sys/class/leds/alix\:1/trigger
  2. Zeige die Aktivität der IDE-Platten mit LED2 (Hierzu ist kein Kernelmodul nötig, da ledtrig-ide-disk schon fest in den Kernel einkompiliert ist.)
    echo ide-disk > /sys/class/leds/alix\:2/trigger
  3. Zeitsteuerung für LED3 – 1 Sekunde an, 5 Sekunden aus:
    echo timer > /sys/class/leds/alix\:3/trigger
    echo 1000  > /sys/class/leds/alix\:3/delay_on
    echo 5000  > /sys/class/leds/alix\:3/delay_off

Trigger deaktivieren

echo none > /sys/class/leds/alix\:1/trigger
echo none > /sys/class/leds/alix\:2/trigger
echo none > /sys/class/leds/alix\:3/trigger

Morsezeichen

echo morse > /sys/class/leds/alix\:1/trigger
echo "SOS" /sys/class/leds/alix\:1/message

Dauerhafte konfiguration

echo "leds-alix" >> /etc/modules
echo "ledtrig-heartbeat" >> /etc/modules
echo "ledtrig-timer" >> /etc/modules
echo "ledtrig-morse" >> /etc/modules

Zusätzlich die echos in /etc/rc.local einfügen.

ALIX

Um für Munin und Nagios keinen großen stromfressenden Server nutzen zu müssen habe ich vor 2 Wochen eine ALIX angeschafft. Die ALIX ist ein x86-kompatibler Einplatinen-Computer mit einem Stromverbrauch von 5 Watt. Diese gibt es in verschiedenen Konfigurationen – ich habe mich für die ALIX 2c3 entschieden. Hier die für mich relevanten Eckdaten:

  • 500 MHz AMD Geode LX800 CPU
  • 256 MB DDR DRAM
  • 44 pin IDE-Anschluss
  • 3 Netzwerkinterfaces (Via VT6105M 10/100)
  • Serielle Schnittstelle
  • 2 USB-Ports
  • Hardware-Watchdog
  • 3 LEDs