Bitte beachten: seit Mai 2014 verwende ich FLI4L nicht mehr. Die folgenden Informationen werden nur zu Archivzwecken aufbewahrt.
Hinweis: Gilt nicht für FLI4L 3.0.0 oder neuer!
Wenn unter FLI4L 2.0.8 sehr viele OPTs eingesetzt werden, kann es passieren, dass eines oder mehrere Pakete bereits beim Bootvorgang nicht richtig gestartet werden. Statt dessen wird in der Konsole ein „segmentation fault“ ausgegeben. Der Grund dafür ist, dass die Shell von FLI4L eigentlich nicht für umfangreiche Installationen ausgelegt ist.
Um dieses Problem zu umgehen, genügt es oft, die Datei /opt/etc/rc.local
so zu ändern, dass die Start-Scripte der Zusatzpakete in /etc/rc.d
nacheinander und einzeln ausgeführt werden. Die Idee dazu stammt von Michael Sauer und ist auch nur als Notlösung zu sehen – mitunter gibt es trotzdem Probleme (oder auch ganz andere Effekte, die vorher nicht aufgetreten sind). Im Zweifelsfall hilft nur eine komplette Neuinstallation, bei der man erstmal nur die absolut notwendige Minimalinstallation einrichtet und dann schrittweise die einzelnen Pakete dazunimmt, die man einsetzen möchte. Man sollte bei allen Schwierigkeiten nicht vergessen, dass FLI4L eigentlich nur als schlanker Router gedacht ist und nicht als „Universal-Kommunikationsserver“.
Da ich schon Nachfragen deswegen hatte – rc_start.sh
wird innerhalb des Scripts automatisch erzeugt!
Für den Fall, dass jemand nicht genau weiss, wie er diesen Patch einbringen soll, hier noch eine kurze Anleitung auf Anregung von Juergen Foterek, der mich darauf angesprochen hat:
Die beschriebenen Änderungenen sind mit einem Texteditor auf dem Quellrechner vorzunehmen, von dem aus man die FLI4L-Bootdiskette erstellt bzw. das Update via imonc ausführt.
Die Datei rc.local
findet sich im Verzeichnis opt/etc
von FLI4L. Wenn man FLI4L-Dateien z.B. nach c:\fli4l
gelegt hat, ist Datei rc.local
in c:\fli4l\opt\etc
zu finden. Man öffnet die Datei und sucht sich die Stelle, die wie unten beschrieben losgeht und ersetzt den gesamten Abschnitt bis zu der Zeile mit
chmod 400 /etc/shadow
durch den unten gezeigten Text. Dann speichert man das Ganze und führt ein Update seiner FLI4L-Installation aus.
#---------------------------------------------------------------------------- # optional packages: /etc/rc.d/rc.PACKAGE # examples: rc.lcd, rc.modem, rc.telnetd, rc.ftpd #---------------------------------------------------------------------------- for j in /etc/rc.d/rc*.* do if [ -f $j ] then /usr/local/bin/dtou $j # strip CRs #ms . $j #ms neu rc_start=/etc/rc_start.sh (echo "#! /bin/sh" echo "j2=$j" echo 'colecho ">>Script: $j2>>" br x br' echo '' echo '. /etc/rc.cfg' # Variablen einfuegen echo '. $j2' # Orginal rc script echo '' echo 'colecho "<<Script: $j2<<" br x br' ) >$rc_start chmod +x $rc_start $rc_start sleep 1 fi done rm $rc_start #Hilfsscript löschen #/ms chmod 400 /etc/shadow