Bernd-Ludwigs Homepage

Valid HTML 4.01 Strict Valid CSS!

Fli4l auf einem ALIX

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

  1. kleiner
  2. stromsparender
  3. 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).
Alix-Set

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_2_6_xx, chrony, dsl, hd, sshd, OPT_EMBEDDED.
Was man bei den Paketen beachten sollte sind folgende Einstellungen:

Wenn man noch das Paket usb verwenden will (z.B. für einen USB-Drucker), ist in der usb.txt USB_LOWLEVEL='ohci ehci' 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:

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 zur Zeit die fli4l-Version 3.6.1. 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:

Ältere fli4l-Versionen

Zum Zeitpunkt der ersten Inbetriebnahme meines ALIX war fli4l-Version 3.2.2 aktuell. Gegenüber der jetzigen Version hatte ich dort folgende Einstellungen anders: