# 4.2 Allgemeine Einstellungen

HOSTNAME

  Als erstes sollte man seinem fli4l-Router einen Namen geben. Im Beispiel ist dies `fli4l`.

PASSWORD

  Das hier angegebene Passwort wird für das Einloggen in den fli4l-Rechner benötigt - sei es per Tastatur direkt am Router oder per SSH von einem anderen Rechner aus (hierzu wird das sshd-Package benötigt).

  Das Passwort ist ab Version 1.5 zwingend.

  Standard-Einstellung: PASSWORD='fli4l'

BOOT_TYPE

  Standardwert: BOOT_TYPE='fd'

  BOOT_TYPE legt im weitesten Sinne das Bootmedium fest. Diese Variable steuert, welche zusätzlichen Treiber (Kernel-Module) und Start-Scripts mit in das `rootfs` aufgenommen werden. Zum Verständnis eine kurze Skizze des Bootvorgangs:

  - Das BIOS des Rechners lädt/startet den Bootloader auf dem Bootmedium.
  - Der Bootloader (i.d.R syslinux) entpackt, lädt und startet den Kernel.
  - Der Kernel entpackt das rootfs (= das grundlegende Dateisystem mit darin enthalten Programmen und Scripts), mountet das rootfs und beginnt die Start-Scripts abzuarbeiten.
  - Je nach BOOT_TYPE werden nun die Kernel-Module für das jeweilige Bootmedium geladen, die Boot-Partition gemountet und das Opt-Archiv (`opt_tar.bz2`) mit den zusätzlichen Programmen entpackt.
  - Im Anschluß beginnt die Konfiguration der einzelnen Dienste des fli4l.

  Zur Zeit sind folgende Werte für BOOT_TYPE gültig:

  fd,fd1440
    Der normale Disketten-Boot von Laufwerk a:; wird fd angegeben, wird die Größe des Bootmediums automatisch ermittelt.
  fd1680
    Boot von Diskette mit höherer Kapazität, wiederum Laufwerk a:. Die Disketten sind hierzu gesondert zu formatieren, näheres ist bitte dem Kapitel Erstellen der Bootdiskette zu entnehmen. Die Angabe fd1680 ist obsolet und verschwindet in einer der nächsten Releases.
  fdx2
    Mit einem Laufwerk und zwei Disketten booten. Die Disketten müssen beim Booten gewechselt werden.
  dualfd
    Ein Disketten-Boot von den Laufwerken a: und b:, wobei beide Disketten gleich groß sein müssen. Die zweite Diskette muß bereits formatiert und leer sein.
  ls120
    Boot von LS120/240 Disketten. Hierzu wird das Package HD und der Treiber ide-floppy benötigt.
  hd
    Boot von Festplatte. Hierzu wird das Package HD benötigt. Näheres ist der Dokumentation zum Package HD zu entnehmen.
  cd,cdemul
    Boot von CD-ROM. Auch hierzu wird das Package HD benötigt, weil dort die Treiber für CD-Laufwerke drin stecken. Es wird lediglich das ISO-Image fli4l.iso der CD erzeugt, welches anschliessend mit dem jeweiligen Lieblingsbrennprogramm selbst auf CD gebrannt werden muß. Bitte darauf achten, daß hier auch der richtige CD-Treiber ausgewählt wurde, ide-cd ist nur für IDE-Laufwerke, scsi-cd alleine funktioniert nicht, hier ist unbedingt auch noch der passende SCSI-Hostadapter-Treiber auszuwählen. cdemul ist eine Alternative für älteren Boards wo cd nicht funktioniert.
  integrated
    Bei diesem Typ wird kein Bootmedium zu grunde gelegt, sondern das Opt-Archiv vollständig ins `rootfs` integriert. Somit entfällt das Mounten des Bootmediums und der Kernel kann gleich alles entpacken. Dieser BOOT_Type wird z.B. fürs Booten vom Netzwerk benötigt.
    Hinweis: Ein remote Update ist natürlich in diesem Fall nicht möglich.
  attached
    Ähnlich wie integrated, jedoch wird das Opt-Archiv als Datei `opt_tar.bz2` ans `rootfs` angehängt, mit der Folge, daß es wieder im Verzeichnis `/boot` zu finden ist und gesondert beim Bootvorgang entpackt wird.
    Ansonsten gilt das unter `integrated` gesagte.
  netboot
    Entspricht integrated. Es wird jedoch zusätzlich das Script `mknetboot.sh` gestarted, welches ein Image zum Booten via LAN erzeugt. Weiteres ist bitte dem Mini-How fuer fli4l und Netzboot zu entnehmen.
    Hinweis: fli4l bringt weder eine Ether- oder Netbootumgebung mit. Diese ist gesondert zu installieren!

MOUNT_BOOT

  Hier wird eingestellt, wie die Boot-Diskette gemountet werden soll. Es gibt 3 Möglichkeiten:

  rw
    - Read/Write - Schreiben und Lesen ist möglich
  ro
    - Read-Only - Nur Lesen ist möglich
  no
    - None - Diskette wird nach dem Boot wieder abgemeldet und kann dann bei Bedarf entnommen werden.

  Bei bestimmten Konfigurationen ist es unbedingt erforderlich, die Diskette Read/Write anzumelden, z.B. wenn man den DHCP-Server einsetzen oder die imond-Log-Datei auf der Diskette anlegen möchte.

  Standard-Einstellung: MOUNT_BOOT='rw'

TIME_INFO

  Uhren ticken in der Unix-Welt und damit auch unter fli4l normalerweise nach der UTC (Coordinated Universal Time), einer weltweit einheitlichen Uhrzeit, die vor der Verwendung in die lokale Zeit umgerechnet wird. TIME_INFO liefert fli4l die dafür notwendigen Informationen über die Namen der Zeitzonen, die Differenz zu UTC und Regeln, wann auf Sommerzeit und wieder zurück gewechselt wird. Damit das korrekt funktioniert, muß die Hardware Uhr auf UTC gestellt werden (entspricht der Londoner Winterzeit) oder über das Paket chrony mit einem Timeserver synchronisiert werden (diese liefern UTC aus).

  Die Einträge in TIME_INFO bedeuten dabei folgendes:

              TIME_INFO='MEZ-1MESZ,M3.5.0,M10.5.0'

  - MEZ-1: Wir befinden uns in der mitteleuropäischen Zeitzone (MEZ, die der UTC eine Stunde voraus ist MEZ-1=UTC.

  - MESZ: In dieser Zeitzone gibt es Sommerzeit (Mitteleuropäische Sommerzeit). Da nichts weiter angegeben wird, kommt man zur Sommerzeit, indem man die Zeit eine Stunde vorstellt.
  - M3.5.0,M10.5.0': Am letzten Sonntag im März wird zur Sommerzeit gewechselt, am letzten Sonntag im Oktober wieder zurück.

  Normalerweise braucht man diesen Wert nie anzufassen, es sei denn man sitzt in einer anderen Zeitzone. Will man die Werte anpassen, sollte man einen Blick auf die Spezifikation der Umgebungsvariable TZ werfen, die unter folgender URL zu finden ist (englisch): http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html

KERNEL_VERSION

  Legt die Version des zu verwendenden Kerns fest. Entsprechend dieser Variable werden der Kern aus img/kernel-<kernel version>.<compression extension> und die Kernel-Module aus opt/files/lib/modules/<kernel version> selektiert.

KERNEL_BOOT_OPTION

  Der Inhalt dieser Variable wird an die Kommandozeile des Kerns in der syslinux.cfg angehängt. Für Systeme ohne Tastatur-Controller bietet sich hier 'nokbd' an. Manche Systeme benötigen für korrekten Reboot 'reboot=bios'. Bei WRAP-Systemen also 'nokbd reboot=bios'.

COMP_TYPE_KERNEL

  Der Inhalt dieser Variable legt den Type der Kompression für den Kernel fest. Mögliche Werte sind 'gzip' und 'bzip2'

COMP_TYPE_ROOTFS

  Der Inhalt dieser Variable legt den Type der Kompression für das rootfs fest. Mögliche Werte sind 'gzip' und 'bzip2'

IP_CONNTRACK_MAX

  Mit Hilfe dieser Variable kann man die maximale mögliche Anzahl gleichzeitiger Verbindungen manuell einstellen. Normalerweise wird anhand des eingebauten Arbeitsspeichers automatisch ein sinnvoller Wert ermittelt, wobei folgende Voreinstellungen verwendet werden:

  Automatische Einstellung der maximalen Verbindungsanzahl.

  Tabelle 4.2: Automatische Einstellung der maximalen Verbindungsanzahl
  Arbeitsspeicher in MiB | gleichzeitige Verbindungen
  16 | 1024
  24 | 1280
  32 | 2048
  64 | 4096
  128 | 8192

  Bei Einsatz von FileSharing-Programmen hinter oder auf dem Router und wenig Arbeitsspeicher ist die maximale Anzahl gleichzeitiger Verbindungen aber sehr schnell erreicht und zusätzliche Verbindungen können nicht mehr aufgebaut werden.
  Das äußert sich in Fehlermeldungen wie

              ip_conntrack: table full, dropping packet

  oder

              ip_conntrack: Maximum limit of XXX entries exceeded

  Mittels IP_CONNTRACK_MAX lässt sich nun die maximale Anzahl gleichzeitiger Verbindungen fest auf einen bestimmten Wert einstellen. Aber seid gewarnt. Jede einzelne mögliche Verbindung kostet 350 Bytes an Arbeitsspeicher, der nicht mehr für andere Dinge genutzt werden kann. Setzt man also 10000, so sind gerundet 3,34 MB Arbeitsspeicher für den normalen Gebrauch verloren (Kernel, Ramdisks, Programme).

  Bei 32 MiB RAM sollte es kein Problem sein, mal eben 2 oder 3 MiB für die ip_conntrack-Tabelle zu reservieren, bei 16 MiB wird es knapp und bei 12 oder sogar 8 MiB ist absolute Sparwut angesagt.

  Die momentan benutze Einstellung lässt sich auf der Konsole mit

              cat /proc/sys/net/ipv4/ip_conntrack_max

  anzeigen und mit

              echo "XXX" > /proc/sys/net/ipv4/ip_conntrack_max

  zur Laufzeit setzen, wobei XXX für die Anzahl der Einträge steht. Die Einträge in der IP_CONNTRACK-Tabelle selbst können auf der Konsole mit

              cat /proc/net/ip_conntrack

  angesehen und mit

              cat /proc/net/ip_conntrack | grep -c use

  gezählt werden.

  Standard-Einstellung: IP_CONNTRACK_MAX=''

POWEROFF_ON_HALT

  Wird diese Option auf yes gesetzt, versucht fli4l bei einem halt den Router via APM auszuschalten. Voraussetzung dafür ist ein Rechner mit einem ATX-Netzteil und einem APM-fähigen BIOS.

REAL_MODE_POWEROFF

  Bei manchen BIOS-Versionen muß Linux vor dem Aufruf einer APM-Funktion erst in einen speziellen Prozessormodus wechseln. Aktivieren sollte man diese Option, wenn das Auschalten ohne nicht funktioniert.

IGNORE_KSOFTIRQ

  Standard-Einstellung: IGNORE_KSOFTIRQ='no'

  Wenn der fli4l-Router als reiner eth-Router eingesetzt werden soll ist das IRQ Handling des Linux Kernels nicht optimal. Bedingt durch die hohe Interruptlast sinkt die mögliche Datenübertragungsrate unnötig. Wenn IGNORE_KSOFTIRQ='yes' gesetzt wird schaltet der Linuxkernel auf eine andere Art der Interruptbehandlung um. Mit der Einstellung 'yes' steigt die Datenübertragungsrate bei reinem eth-Routern deutlich. Die Einstellung kann auch zur Laufzeit durch Schreiben von '0' (für 'no') und '1' (für 'yes') in /proc/sys/kernel/ignore_ksoftirq geändert werden.

  Details zu dem geänderten Verhalten finden Sie auf der Website
  http://www.ussg.iu.edu/hypermail/linux/kernel/0112.2/1414.html.

LOCALE

  Standardeinstellung: LOCALE='de'

  Einige Komponenten sind mittlerweile mehrsprachfähig. Dazu zählen beispielsweise das Consolen-Menü und die Weboberfläche. Mit dieser Variablen können Sie die bevorzugte Sprache auswählen. Verschiedene Komponenten haben noch eine eigene Einstellung womit diese Grundeinstellung, wenn nötig, überlistet werden kann. Wenn die hier angegebene Sprache bei einem Komponenten (noch) nicht verfügbar ist, wird auf Englisch zurückgefallen.

  Wenn KEYBOARD_LOCALE='auto' wird versucht ein zu der LOCALE-Einstellung passendes Tastatur-Layout ein zu stellen.

  Bisher sind folgende Einstellungen möglich: de, en, fr, nl.

Das Fli4l-Team
23. Februar 2006