Diese Seite ist eine kleine Zusammenstellung an Informationation rund um
den Betrieb von Debian auf Alix2 Boards.
Bei den Alix Boards handelt es sich um x86 embedded Systeme mit AMD Geode LX CPU
von dem Schweizer Hersteller PC engines.

Ich habe ein Alix2C3 mit zwei externen USB Platten angeschaft um einen alten PII als lokalen Server und Router abzuloesen. Die Leistungsfaehigkeit reicht bei weitem aus. Einzig die Performance bei verschluesselten Verbindungen (ftps/sftp) laest etwas zu wuenschen uebrig. Fuer mich ist das allerdings zu verkraften da unverschluesseltes NFS im LAN schnell genug ist.
Handbuch: http://www.pcengines.ch/pdf/alix2.pdf
Eigentlich laueft alles out of the box. Es empfiehlt sich trotzdem
im experten Modus zu installieren um entsprechend eingreifen zu koennen
falls noetig.
Standard maessig wird man grub wegen aktivierter Farbdarstellung und dem
Fehlen der Einstellungen fuer die Serielle Schnittstelle nicht zu Gesicht
bekommen. Auch den boot selber wird man nicht verfolgen koennen.
Daher empfehlen sich folgende Aenderungen empfehlen ueber die Shell in
/target/boot/grub/menu.lst vor zu nehmen:
# Pretty colours won't work
#color cyan/blue white/blue
(deaktivieren der Farbdarstellung)
Weiter sollte console=ttyS0,38400n8 fb=false als Kernelparameter
mit uebergeben werden. Bsp.:
kernel /boot/vmlinuz-2.6.18-6-486 root=/dev/hda1 ro console=ttyS0,38400n8 fb=false
Um diese Informationen fuer die Kernel Options persistent zu machen
ist es noch noetig die defaultoptions entsprechend zu editieren.
Da dies ein Macro fuer update-grub ist die fuehrende
# bei zu behalten und das ganze muss an der Stelle
editiert werden wo es von update-grub angelegt wurde.
Doppelte werden ueberschrieben und wenn spaeter ein leerer Eintrag
kommt wird nichts eingetragen usw.
# defoptions=console=ttyS0,38400n8 fb=false
Um diese Einstellungen auch fuer die automatisch generierten Single
User Eintraege zu uebernehmen ist noch folgendes entsprechend zu
editieren:
# altoptions=(single-user mode) single console=ttyS0,38400n8 fb=false
Im Anschluss update-grub ausfuehren und ueberpruefen ob alles entsprechend eingetragen wurde.
Die Einstellungen fuer die Verwendung der Konsole selber sollte der debian-installer automatisch einfuegen.
Zur Kontrolle:
serial --unit=0 --speed=38400
terminal serial
Die /target/etc/inittab sollte folgendes enthalten:
T0:23:respawn:/sbin/getty -L ttyS0 38400
Mein urspruenglicher Plan war es auch /var auf dem softraid1 ueber die beiden externen USB Platten zu platzieren. Dies stellte sich aber schnell als ziemlich bloede Idee herraus da sowohl die USB wie auch md Module einige Zeit zur Initialisierung benoetigen. Da so die Verfuegbarkeit von /var um einige Zeit verzoegert wird sind die Systemstarts nur selten erfolgreich. Fuer einen garantierten Betrieb und ein blind bootbares System kann ich davon nur abraten.
Als Zwischenloesung habe ich nur den I/O intensiven squid cache auf das raid1 umgelegt. So kann das System sicher booten und es finden trotzdem nur relativ wenige Schreiboperationen auf der CF Karte die als Festplatte fungiert statt.
Nachfolgend noch einige Hinweise fuer den laufenden Betrieb die sich als hilfreich erwiesen haben.
Da die Alix Systeme keine Batterie gepufferte Uhr haben verlieren sie
mit dem Verlust der Netzspannung auch die Uhrzeit. Es empfiehlt sich daher
die Zeitsyncronisation so frueh wie moeglich vorzunehmen um weiteren
Probleme mit verschiedenen Diensten zu vermeiden.
Bei mir ist der fruehest moegliche Zeitpunkt die aktuelle Zeit aus einer
verlaesslichen Quelle zu bekomme nach dem Start der Internetverbindung.
Dem entsprechend habe ich folgende Zeilen mit in die /etc/ppp/if-up
hinzugefuegt:
/usr/sbin/ntpdate -u -s pool.ndh.net ntp.netcologne.de time1.rrz.Uni-Koeln.DE &&
/sbin/hwclock --systohc > /dev/null
(Die zu verwendenden Zeitserver solten je nach Standort und Provider angepast werden.)
Damit alle Sensoren korrekt angesprochen werden koennen sind folgende Module ueber
die /etc/modules mit zu laden:
i2c_core
lm90
scx200_acb
Alles weitere laest sich normalerweise mit dem Script sensors-detect automatisch
einstellen. Eine Abfrage ueber das Tool sensors sieht dann ungefaehr so aus:
sven@arthur:~$ sensors
lm86-i2c-0-4c
Adapter: CS5536 ACB0
M/B Temp: + (low = +, high = +)
CPU Temp: +50. (low = +0., high = +70.)
M/B Crit: + (hyst = +)
CPU Crit: + (hyst = +)7585758500570044
Zur Visualisierung von load, CPU Auslastung, der Temperatur und dem Netzwerkdurchsatz verwende ich MRTG mit dem mrtg-rrd.cgi script aus den Debian Paketen mrtg und mrtg-rdd.

Meine mrtg.cfg und die dazu gehoerigen scripte gibt es hier zum Download.
In testing und unstable ist das source Paket leds-alix-source verfuegbar. Dies sollte sich mittels m-a auch unter etch bauen lassen. Da mir allerdings noch keine sinnvolle Verwendung fuer die LEDs eingefallen ist habe ich dies bisher nicht probiert.
Fuer die AES crypto Einheit gibt es seit Linux 2.6.19
einen Treiber mit dem Namen geode_aes allerdings keine in
OpenSSL integrierte engine um diesen
zu nutzen. Unter FreeBSD gibt es eine Moeglichkeit der Nutzung ueber CryptoDev
(/dev/crypto) allerdings wurde dieser Ansatz auf der LKML abgelehnt. Der Treiber ist
auf der Webseite von Michal Ludvig
http://www.logix.cz/michal/devel/cryptodev/ verfuegbar.
Habe diesen Ansatz nicht getestet und habe auch keine Erfolgsmeldungen zu Alix und
CryptoDev mit aktuellem Kernel gefunden.