Installation und Betrieb eines Fli4l-Routers auf einem ALIX-System
Einleitendes und Installation
Ende 2008 habe ich meinen fli4l, der bisher auf einem alten PC lief, durch eine Neuinstallation auf einen ALIX ersetzt. Den Umstieg von PC auf ALIX habe ich gemacht, weil der ALIX
- kleiner
- stromsparender
- und lautlos ist.
Was ist überhaupt ein ALIX? Ein ALIX ist ein Embedded-PC mit einem AMD Geode-Prozessor. In meinem Fall
handelt es sich um einen ALIX 2D3, den ich im Paket mit Gehäuse, CompactFlash-Karte (CF-Karte) und Netzteil gekauft
habe (s. Foto).

Was den ALIX von einem PC unterscheidet und die Installation von fli4l etwas erschwert, ist, dass
der ALIX kein Diskettenlaufwerk und keinen Monitorausgang hat und außerdem ohne Tastatur laufen soll.
Er hat aber eine serielle Schnittstelle, die für eine serielle Konsole verwendet werden kann.
Was man zur Installation des fli4l jetzt noch braucht, ist ein PC mit Kartenlesegerät und ein
serielles Kabel (Nullmodem-Kabel).
Ich gehe davon aus, dass jemand, der einen fli4l auf einem ALIX installieren möchte, sich nicht zum ersten Mal
mit fli4l befasst. Daher gehe ich auf fli4l-Grundlagen hier nicht ein.
Die Vorbereitung der fli4l-Pakete ist relativ normal. Wenn der fli4l als DSL-Router laufen soll, sind folgende
Pakete als Grundausstattung notwendig bzw. empfehlenswert: base, kernel_26, chrony, dsl, hd, sshd, OPT_EMBEDDED.
Was man bei den Paketen beachten sollte sind folgende Einstellungen:
- base.txt:
- BOOT_TYPE='hd' (Die CompactFlash-Karte wird als Festplatte betrachtet)
- MOUNT_BOOT='rw'
- KERNEL_BOOT_OPTION='nokbd reboot=bios' (keine Tastatur, Reboot durch das BIOS)
- SER_CONSOLE='yes' (Aktivierung der seriellen Konsole)
- SER_CONSOLE_RATE='38400'
- die Netzwerkkarten brauchen den 'via-rhine'-Treiber
- hd.txt:
- OPT_HDDRV='yes'
- HDDRV_N='1'
- HDDRV_1='ide-hd' (die CF-Karte gilt als IDE-Festplatte)
- embedded.txt:
- EMBEDDED_TYPE='alix'
- EMBEDDED_DAEMON='yes' (aktiviert die Nutzung der LEDs und des Buttons)
- wenn man nicht alle LEDs braucht, kann man EMBEDDED_LED_N auf einen Wert < 3 setzen. Man kann nicht zwei LEDs den gleichen Wert zuweisen.
Wenn man noch das Paket usb verwenden will (z.B. für einen USB-Drucker), ist in der usb.txt USB_LOWLEVEL='ohci' die richtige Treiberauswahl.
Wenn jetzt also die Pakete richtig konfiguriert sind, muss das Ganze einmal per mkfli4l übersetzt und auf die
CF-Karte gebracht werden. Die sollte natürlich im Kartenleser stecken. Die Windows-Variante mkfli4l.bat bietet eine
grafische Oberfläche inklusive der Option "Direct HD-Install", die das Ganze recht einfach macht.
Die Linux-Variante mkfli4l.sh bietet das leider nicht. Was tut man also hier? Erst mal kann man die mit mkfli4l.sh
erzeugten Dateien auf die Karte kopieren.
Außerdem braucht man noch eine Datei mit Informationen über die "Festplatte", nämlich die
Datei hd.cfg. Die kann man auch von Hand erstellen, darin muss (sofern man die CF-Karte nicht in mehrere Partitionen
unterteilt hat) nur stehen:
hd_boot='hda1'
Nun fehlt noch die Bootfähigkeit der CF-Karte. Um die zu erzeugen, wird erst mal die Karte unmountet. Nun kann man mit syslinux
die Karte bootfähig machen. Angenommen, die Karte im Kartenleser ist als /dev/sda1 am System bekannt, macht man also mit
syslinux /dev/sda1
die CF-Karte bootfähig.
Die CF-Karte mit der fli4l-Installation ist jetzt fertig. Jetzt soll der ALIX in Betrieb genommen werden. Dazu verbindet man ihn per Nullmodemkabel mit dem PC, öffnet am PC eine serielle Konsole, z.B. minicom, stellt die Baudrate auf 38400 und die Übertragungseinstellungen auf 8 N 1. Erst dann versorgt man den ALIX mit Strom. Während des Memory-Tests kann man mit s ins BIOS kommen, was man auch machen sollte, weil da noch Kleinigkeiten verstellt werden sollten:
- Es sollte auf LBA mode umgestellt werden.
- Der MGFPT workaround muss aktiviert werden.
Wenn diese Einstellungen vorgenommen wurden und die CF-Karte im ALIX steckt, kann man nun den ALIX richtig booten. Nun sollte der ALIX alle Pflichten eines fli4l-Routers erfüllen können. Fertig!
Erfahrungen im Langzeitbetrieb
Da der ALIX nun schon einige Zeit bei mir in Betrieb ist, möchte ich hier jetzt ein paar Erfahrungen anfügen.
Zuerst mal die Randbedingungen:
Auf dem ALIX läuft die zum Zeitpunkt der Installation aktuelle fli4l-Version 3.2.2. Neben der "normalen" Funktion
des fli4l (DSL-Router, DHCP-Server) hängt mein Drucker über USB am ALIX. Der Router ist im Allgemeinen nur an, wenn
ich zu Hause bin; nachts ist er auch aus. Das bedeutet, er wird im Schnitt 1-2 mal am Tag herauf- und heruntergefahren.
Im Allgemeinen läuft der ALIX problemlos. Die einzigen erwähnenswerten Punkte:
- Nach etwas über einem Jahr war die CF-Karte defekt. Da CF-Karten nur eine begrenzte Anzahl von Schreibzyklen vertragen, ist es nicht überraschend, dass die Karte irgendwann aufgibt, wenn syslog regelmäßig auf die Karte schreibt. Allerdings fand ich den Zeitpunkt etwas früh.
- Sehr sporadische Abstürze (seltener als einmal im Monat). Meist ist der ALIX dann nicht komplett abgestürzt, beispielsweise ist er dann noch per SSH erreichbar und auch der imond läft noch, aber er verweigert Halt- oder Reboot-Befehle und baut keine Online-Verbindungen auf. Da hilft dann nur der harte Reboot mittels Ziehen des Steckers.
