1.1 HD - Programme rund um die Festplatte

Unterabschnitte

- 1.1.1 OPT_HDINSTALL - Installation auf Festplatte/CompactFlash
  - 1.1.1.1 HD-Installation von Diskette in sechs einfachen Schritten
  - 1.1.1.2 HD-Installation ausführlich erklärt (inklusive Beispiele)
  - 1.1.1.3 Konfiguration der Setup-Diskette
  - 1.1.1.4 Beispiele für eine fertige Installation nach Typ A und Typ B:
  - 1.1.1.5 Erklärung der Notfalloption
- 1.1.2 OPT_MOUNT - Mounten von Dateisystemen auf Festplatte etc.
- 1.1.3 OPT_HDSLEEP - automatisches Abschalten für IDE-Festplatten einstellen
- 1.1.4 OPT_HDDRV - Treiber für Festplattencontroller

#
1.1 HD - Programme rund um die Festplatte

## 1.1.1 OPT_HDINSTALL - Installation auf Festplatte/CompactFlash

Normalerweise läuft fli4l nur von einer Diskette. Eine Festplatte oder ein CompactFlash ist daher eigentlich nicht notwendig. Sollen relativ große Softwarepakete (wie z.B. die Treiber für die DSL-Karten von AVM) für fli4l genutzt werden, kann es knapp auf der Diskette werden...

Für diesen Fall ist die Installation auf Festplatte oder auf einem CompactFlash-Modul gedacht. Ein CompactFlash verhält sich wie eine IDE-Festplatte, so dass es im fli4l-Rechner wie eine Festplatte behandelt werden kann. Da ein CompactFlash keine beweglichen Teile enthält, ist es nicht zu hören - ein wesentlicher Vorteil gegenüber Festplatten. Dem gegenüber steht der höhere Preis...

Neben Compact-Flash Modulen und anderen Flash-Modulen, die sich wie eine IDE-Festplatte verhalten, sind noch die vorwiegend in Industrie-Rechnern zu findenden DiskOnChipTM-Module vom M-Systems für fli4l geeignet.

Nicht zur Benutzung mit fli4l geeignet sind USB-Sticks und normale Flash-Speicher, die nur mit einem speziellen Lesegerät angesprochen werden können (SD, MMC, SmartMedia).

Im Folgenden werden die notwendigen Schritte zur Installation auf einer Festplatte erklärt. Da die Festplatten-Variante gegenüber der reinen Diskettenlösung etwas schwieriger zu installieren ist, empfehle ich, zunächst einmal mit der einfachen Bootdiskette zu üben. Läuft der Router einwandfrei, kann man sich - falls nicht alle gewünschten Softwarepakete auf die Diskette passen - mal an die Festplatteninstallation wagen.

Der übliche Weg ist die Installation mit einer Boot-DISKETTE, aber falls der Router nicht über einen Diskettenanschluß verfügt, kann auch von LAN-Boot aus installiert werden. Das OPT_HDINSTALL bereitet nur noch die Festplatte vor und kopiert keine Dateien mehr von der Diskette auf die Festplatte. Dies wird ganz normal über ein Remote-Update per Imonc oder über scp gemacht.

Eine Einführung in die verschiedenen Festplatten- Installationsvarianten A oder B befindet sich am Anfang der fli4l-Dokumentation. Bitte unbedingt vorher lesen!

### 1.1.1.1 HD-Installation von Diskette in sechs einfachen Schritten

1. lauffähige fli4l-Diskette mit dem Paket base sowie OPT_HDINSTALL und OPT_HDDRV erstellen
2. den Router mit dieser Diskette booten
3. am Router einloggen und den Menüpunkt für die Installation auf Festplatte auswählen. Falls Sie das Bootmenu nicht aktiviert haben, kann man auch direkt den Befehl ``hdinstall.sh'' ausführen
4. wenn die Aufforderung dazu erscheint die Dateien syslinux.cfg, kernel, rootfs.img, opt_tar.bz2 und rc.cfg mittels Imonc oder scp auf den Router nach /boot kopieren. Ich empfehle dazu mit zwei fli4l-Verzeichnissen zu arbeiten, eines für die Setup-Diskette und ein zweites für die spätere HD-Version. Bei der HD-Version stellen Sie die Variable BOOT_TYPE='hd' ein und bei der Setup-Diskette auf 'fd'.

   Beim Remote-Update müssen natürlich die Dateien der HD-Version auf den Router übertragen werden!

5. Diskette entfernen, Router herunterfahren und neu starten (unter Verwendung von halt/reboot/poweroff). Der Router bootet jetzt von der Festplatte
6. bei Problemen den folgenden Abschnitt gut durchlesen.

### 1.1.1.2 HD-Installation ausführlich erklärt (inklusive Beispiele)

Zuerst muß eine Router-Diskette erstellt werden, bei der in der Datei config/hd.txt das OPT_HDINSTALL mit den Installationsscripten und das OPT_HDDRV, welches die Treiber für IDE- und SCSI-Festplatten enthält, richtig konfiguriert wurden. Bitte dazu auch den Abschnitt zu OPT_HDDRV gründlich durchlesen!

Die Variable BOOT_TYPE in der base.txt wird auf 'fd' eingestellt, es soll ja schliesslich eine Setup-DISKETTE erstellt werden. Die Variable MOUNT_BOOT in der base.txt muß auf 'rw' eingestellt werden, damit später ein neues Archiv opt_tar.bz2 über das Netzwerk aufgespielt werden kann.

Anschließend wird der Router von dieser Diskette gebootet. Über das Bootmenü oder direkt durch Eingabe von ``hdinstall.sh'' an der fli4l-Console wird dann das Installationsprogramm gestartet. Nach Beantwortung von ein paar Fragen wird die Festplatte vorbereitet. Zuletzt erscheint eine Aufforderung, dass man die für den Router benötigten Dateien per Remote-Update aufspielen soll.

Dieses Remote-Update keinesfalls vergessen, der Router bootet sonst nicht von der Festplatte. Zum Neustarten des Routers nach dem Remote-Update unbedingt reboot/halt/poweroff verwenden, andernfalls können die beim Remote-Update vorgenommenen Änderungen verloren gehen.

Falls die Festplatte bei der Installation nicht automatisch gefunden wurde kann es passieren, dass der Router nicht von HD bootet. In diesem Fall muss in der syslinux.cfg der Eintrag boot=/dev/<bei der Installation angegebene Platte> an die Append-Zeile angehängt werden.

Das Installationsscript kann sowohl direkt am Router als auch über ssh von einem anderen PC aus gestartet werden. Im jedem Fall muss man sich vorher durch Eingabe des Passwortes am Router anmelden. Als ssh-Client für Windows-Rechner empfehlen wir die Freeware Putty.

### 1.1.1.3 Konfiguration der Setup-Diskette

Tabelle 1.1: Beispiel für die Konfiguration der Setup-Diskette

BOOT_TYPE | entsprechend dem Bootmedium für die Installation einstellen, idR Diskette (fd)
MOUNT_BOOT='rw' | notwendig, um später ein neues opt_tar.bz2 über Netzwerk auf die Platte kopieren zu können
OPT_HDINSTALL='yes' | notwendig um das Setup-Script und die Tools zum Formatieren der Partitionen auf der Diskette zu haben
OPT_HDDRV='yes' | notwendig, weil ohne Treiber nicht auf die Festplatte zugegriffen werden kann.
IMOND='yes' | nach dem Vorbereiten der Festplatte werden die eigentlichen Dateien per remote Update übertragen. Dazu benötigt man entweder den imond, scp (OPT_SSHD='yes', OPT_SCP='yes') oder ein anderes Paket, das einen Filetransfer erlaubt.

Bereits hier muss die Netzwerkkonfiguration richtig eingestellt sein, damit man die Dateien für die Festplatte über das Netzwerk aufspielen kann. Für ein Remote-Update mittels Imonc wird bei der Setup-Diskette auch der IMOND und damit eine gültige ISDN/DSL-Konfiguration benötigt. Alternativ dazu kann man die Dateien per scp auf den Router kopieren, dazu bitte OPT_SCP='yes' (befindet sich im Package SSHD) einstellen. Alle nicht unbedingt nötigen Pakete bitte weglassen, also kein SAMBA_LPD, LCD, Portforwarding usw.

Falls die Installation mit der Fehlermeldung

        *** ERROR: can't create new partition table, see docu ***

abbricht, können mehrere Fehlerquellen in Frage kommen:

- die Festplatte ist in Benutzung, evtl. durch einen abgebrochenen Installationsversuch. Einfach neu booten und noch einmal versuchen.
- es gibt Hardwareprobleme, mehr dazu bitte im Anhang nachlesen.

Im letzten Schritt kann man nun die endgültige Fassung der Konfigurationsdateien erstellen und alle gewünschten Pakete hinzufügen.

### 1.1.1.4 Beispiele für eine fertige Installation nach Typ A und Typ B:

Ein Beispiel für jede Konfiguration finden Sie in Tabelle 1.2.

Tabelle 1.2: Beispiel für eine Installation nach Typ A oder B

BOOT_TYPE='hd' | notwendig, da sie ja jetzt von Festplatte starten
MOUNT_BOOT='rw|ro|no' | nach Wahl. Um später ein neues opt_tar.bz2 über Netzwerk auf die Platte kopieren zu können ist 'rw' nötig.
OPT_HDINSTALL='no' | nach der erfolgreichen Installation ist dieses Paket nicht mehr notwendig. Falls die Notfallinstallation genutzt werden soll, dieses OPT aktiv lassen und zusätzlich OPT_MENU='yes' einstellen. Auch diese Weise kann per Menüauswahl jederzeit eine laufende fli4l-Installation zur neuen Notfallversion erklärt werden.
OPT_HDDRV='yes' | notwendig, weil ohne Treiber nicht auf die Festplatte zugegriffen werden kann.
OPT_MOUNT | nur aktivieren, falls eine Datenpartition oder eine Swap-Partition erstellt wurde

Grundsätzlich sollte man auf Flash-Medien keine Swap-Partition anlegen, weil deren Anzahl von Schreibzyklen begrenzt ist und damit ein früher Defekt des Mediums zu erwarten ist. Das Erstellen einer Swap-Partition wird nur angeboten, falls weniger als 32MB RAM im Router stecken und die Installation NICHT auf ein Flash-Medium durchgeführt wird!

### 1.1.1.5 Erklärung der Notfalloption

Bei einer Installation auf Festplatte könnte folgendes Problem auftreten: Per Imonc oder scp wurde ein neues opt_tar.bz2 auf den Router kopiert, neu gestartet und der Router ist plötzlich nicht mehr über das Netzwerk ansprechbar. Eine kurze Fehlersuche bringt dann meistens einen kleinen Fehler in einer der Konfigurationsdateien zu Tage (z.B. falscher Netzwerktreiber gewählt). Das ist normalerweise kein ernsthaftes Problem, denn man kann eine neue Diskette in den Router schieben, davon booten und ein korrigiertes Archiv opt_tar.bz2 auf die Festplatte kopieren.

Wurde jedoch die Hardware soweit abgespeckt, dass Diskettenlaufwerk, Grafikkarte und Tastatur fehlen, ist die Notfalloption dafür vorgesehen, den fli4l-Router wieder in einen arbeitsfähigen Zustand zu versetzen.

In diesem Fall kann einfach eine zweite FLI4L-Installation auf der Festplatte abgelegt werden. Beim Starten des Routers wird diese Installation für den nächsten Bootvorgang aktiviert. Erst wenn der Router vollständig gebootet hat und eine einstellbare Wartezeit verstrichen ist, wird wieder die normale Installation für den nächsten Boot aktiviert.

Die Abfrage für die Installation der Notfalloption erscheint nur wenn die FAT-Partition größer als 4MB ist. Mit einer kleineren Partition kann es sonst bei einem Remote-Update zu Platzproblemen kommen.

Das Ende der Wartezeit wird mit drei kurzen Pieptönen verkündet. Nach diesem akkustischen Signal, welches ja auch ohne Monitor funktioniert, steht wieder die normale Installation für den nächsten Start des Routers zur Verfügung.

Falls durch einen Konfigurationsfehler der Router nicht komplett startet, muß man einfach vor Ablauf der Wartezeit die Reset-Taste drücken (oder aus- und einschalten) und es wird mit der Notfall-Version gestartet. Damit ist der Router wieder vom Netzwerk aus ansprechbar und man kann den Fehler korrigieren.

Einen Reboot nach einem Remote-Update des opt_tar.bz2 mittels Imonc darf erst nach Ablauf der Wartezeit durchgeführt werden, weil sonst beim nächsten Bootvorgang die Notfallinstallation aktiv ist!

Die Notfalloption kann nicht helfen, wenn ein fehlerhaftes rootfs (z.B. eines ohne die HD-Treiber), ein ungeeigneter Kernel oder eine fehlerhafte Einstellung der Festplatte im BIOS den Bootvorgang verhindern!

Die Notfallversion ist nach einer frischen Installation erst nutzbar nachdem die dafür benötigten Dateien entweder über das Boot-Menü oder manuell auf die Boot-Partition geegt wurden

Es ist nicht möglich eine andere fli4l-Version (z.B. 2.1.x produktiv und im Notfall wird die 2.0.x gebootet) als Notfalloption auf der Festplatte abzulegen.

Wenn eine neuere Installation als Fallback auf dem Router abgelegt werden soll, kann dies ganz einfach mit dem Bootmenü durchgeführt werden. Alternativ dazu einfach eine normale Konfiguration mittels mkopt.sh oder mkopt.bat erstellen und die Dateien opt_tar.bz2 in opt2_tar.bz2 und rc.cfg in rc2.cfg umbenennen. Diese umbenannten Dateien müssen dann nur noch auf die DOS-Partition des Routers (unter /boot erreichbar) kopiert werden.

HDINSTALL_RECOVERYTIME

  Hier kann die gewünschte Wartezeit für die Recovery-Installation eingestellt werden.

## 1.1.2 OPT_MOUNT - Mounten von Dateisystemen auf Festplatte etc.

OPT_MOUNT mountet die Datenpartition nach /data, eine Prüfung der Partition auf Fehler wird bei Bedarf automatisch durchgeführt. Ein evtl. vorhandenes CD-ROM wird nach /cdrom gemountet, falls eine CD eingelegt ist. Für die swap-Partition wird das OPT_MOUNT nicht mehr benötigt!

OPT_MOUNT funktioniert nur nach einer Neuinstallation des Routers auf HD, weil dabei eine Konfigurationsdatei auf der Boot-Partition erstellt wird. Wenn das OPT_MOUNT mit einem Remote-Update auf einen bereits installierten Router übertragen wurde, muss diese Konfigurationsdatei manuell erstellt werden.

Auch bei einem Boot von CD-ROM kann das OPT_MOUNT nicht genutzt werden. Die CD kann in diesem Fall mit MOUNT_BOOT='ro' gemountet werden.

Die Datei hd.cfg auf der DOS-Partition hat für einen Router nach Typ B mit Swap und Datenpartition den folgenden Inhalt:

            hd_boot='hda1'
            hd_opt='hda2'
            hd_swap='hda3'
            hd_data='hda4'
            recoverytime='30'

Nicht existierende Partitionen werden einfach weggelassen, bei einem Router Typ A ohne weitere Partitionen auf einer SCSI-Festplatte sieht das also so aus:

            hd_boot='sda1'
            recoverytime='30'

Auch die Zeile mit der recoverytime kann entfallen, es wird dann der Defaultwert von 60 Sekunden genommen.

## 1.1.3 OPT_HDSLEEP - automatisches Abschalten für IDE-Festplatten einstellen

Eine IDE-Festplatte kann sich automatisch abschalten, wenn eine bestimmte Zeit ohne Aktivität verstreicht. Damit benötigt die Platte kaum noch Strom und macht keine Geräusche mehr. Wenn ein Zugriff auf die Festplatte erfolgt, läuft sie automatisch wieder an.

Nicht alle Festplatten vertragen häufiges Wiederanlaufen. Daher sollte man die Zeit nicht zu klein wählen. Ältere IDE-Platten und SCSI-Laufwerke bieten diese Funktion erst gar nicht an.

Bei Flash-Medien sind diese Einstellungen nicht sinnvoll und auch nicht notwendig. SCSI-Festplatten werden ebenfalls nicht unterstützt.

HDSLEEP_TIMEOUT

  Diese Variable legt fest, nach welcher Zeit ohne Zugriff sich die Festplatte in den Power-Down-Modus gehen soll. Dann schaltet sich die Festplatte automatisch nach der Wartezeit aus und beim nächsten Zugriff wieder ein. Hierbei sind Wartezeiten in Minutenabständen von einer bis 20 Minuten möglich sowie in Abständen von 30 Minuten von einer Halben bis zu fünf Stunden. Eine Wartezeit von 21 oder 25 Minuten wird also z.B. auf 30 Minuten aufgerundet. Manche Festplatten ignorieren auch zu hohe Werte und stoppen dann schon nach einigen Minuten. Bitte unbedingt die korrekte Funktion durchtesten, da dies sehr von der jeweiligen Hardware abhängig ist!

              HDTUNE_TIMEOUT='2'              # wait 2 minutes until power down

## 1.1.4 OPT_HDDRV - Treiber für Festplattencontroller

Das Treiber-Paket basiert auf dem OPT_SCSI, welches Kai-Christian Arndt () für fli4l zusammengestellt hat.

Mit OPT_HDDRV='yes' können die benötigten Treiber aktiviert und installiert werden.

HDDRV_N
  Die Anzahl der Treiber, die geladen werden sollen, wird mit HDDRV_N eingestellt.

HDDRV_x
  Mit HDDRV_1 usw. werden die entsprechenden Treiber für die verwendeten Host-Adapter ausgewählt. Eine Liste der unterstützten Hostadapter ist in der Beispiel-Konfigurationsdatei enthalten.

HDDRV_x_OPTION
  Mit HDDRV_x_OPTION können Optionen übergeben werden, die einige Treiber zum laden benötigen. Dies kann z.B. eine IO-Adresse für einen SCSI-Controller sein. Bei den meisten Treibern kann diese Variable einfach leer gelassen werden.

  Jetzt folgen einige Beispiele wie bestimmte Treiber zu laden sind.

  Beispiel 1: Zugriff auf IDE-Festplatten oder Compact-Flash Medien.

         OPT_HDDRV='yes'             # install Drivers for Harddisk: yes or no
         HDDRV_N='1'                 # number of HD drivers
         HDDRV_1='ide-hd'            # this is the ide-disk driver
         HDDRV_1_OPTION=''           # no need for options yet

  Beispiel 2: Zugriff auf IDE-Festplatte und ein IDE-CDROM zusätzlich

         OPT_HDDRV='yes'             # install Drivers for Harddisk: yes or no
         HDDRV_N='2'                 # number of HD drivers
         HDDRV_1='ide-hd'            # this is the ide-disk driver
         HDDRV_1_OPTION=''           # no need for options yet
         HDDRV_2='ide-cd'            # IDE CDROM driver
         HDDRV_2_OPTION=''           # no need for options yet

  Beispiel 3: Zugriff auf SCSI-Festplatte an einem Adaptec 2940

         OPT_HDDRV='yes'             # install Drivers for Harddisk: yes or no
         HDDRV_N='1'                 # number of HD drivers
         HDDRV_1='aic7xxx'           # various aic7xxx based Adaptec SCSI
         HDDRV_1_OPTION=''           # no need for options yet

  Beispiel 4: Eine SCSI-CD-ROM am selben Controller zu Beispiel 3

         OPT_HDDRV='yes'             # install Drivers for Harddisk: yes or no
         HDDRV_N='2'                 # number of HD drivers
         HDDRV_1='aic7xxx'           # various aic7xxx based Adaptec SCSI
         HDDRV_1_OPTION=''           # no need for options yet
         HDDRV_2='scsi-cd'           # SCSI CDROM driver
         HDDRV_2_OPTION=''           # enter cdrom driver option here, not used yet

  Beispiel 5: Zugriff auf IDE-Festplatte, IDE-CDROM und dazu noch eine SCSI- Festplatte am Adaptec 2940 sowie ein SCSI-CDROM an einem Adaptec 1542. Dies ist allerdings keine geeignete Hardwareausstattung für einen Router, das Beispiel steht nur zur Abschreckung hier drin ;-)

         OPT_HDDRV='yes'             # install Drivers for Harddisk: yes or no
         HDDRV_N='5'                 # number of HD drivers
         HDDRV_1='ide-hd'            # this is the ide-disk driver
         HDDRV_1_OPTION=''           # no need for options yet
         # Für die IDE-Festplatte

         HDDRV_2='ide-cd'            # IDE CDROM driver
         HDDRV_2_OPTION=''           # no need for options yet
         # Für das IDE-CDROM

         HDDRV_3='aic7xxx'           # various aic7xxx based Adaptec SCSI
         HDDRV_3_OPTION=''           # no need for options yet
         # Adaptec 2940, SCSI-HD-Unterstützung gibt es automatisch dazu.

         HDDRV_4='aha1542'           # Adaptec AHA154x Controller
         HDDRV_4_OPTION=''           # no need for options yet
         # Adaptec 1542 für das SCSI-CDROM

         HDDRV_5='scsi-cd'           # SCSI CDROM driver
         HDDRV_5_OPTION=''           # enter cdrom driver option here, not used yet
         # der Treiber für SCSI-CD-ROM's muß extra dazu geladen werden.

Das Fli4l-Team
23. Februar 2006