Serielle Console für fli4l

Dieses Howto gilt für fli4l-Versionen ab 1.5pre3a
------------------------------------------------------------------------------

fli4l kann ohne Monitor und Tastatur eingesetzt werden. Ein Nachteil davon ist, daß eventuelle Fehlermeldungen nicht bemerkt werden, weil sich nicht alle Meldungen über die syslog-Schnittstelle umleiten lassen.

Eine Möglichkeit ist die Umlenkung der Console-Meldungen auf seinen PC oder auf ein klassisches Terminal, nämlich über die serielle Schnittstelle. Dazu müssen jedoch einige kleinere Anpassungen gemacht werden, die im folgenden beschrieben werden.

Zunächst ist die Datei img/syslinux1440.cfg bzw. img/syslinux1680.cfg zu editieren, je nachdem, ob man 1.44-MB-Disketten oder hochformatierte Disketten im 1.68-MB-Format verwendet.

Die Datei sieht standardmäßig so aus:

#SERIAL 0 9600
TIMEOUT 0
DEFAULT kernel
APPEND load_ramdisk=1 initrd=rootfs.gz root=/dev/ram0 boot=/dev/fd0h1440

Die erste Zeile ist hier noch ein Kommentar, welcher angepasst werden muß. Sie hat folgenden Aufbau:

SERIAL device-number speed

Dabei gilt:

Parameter Mögliche Werte

device-number 0 = COM1, 1 = COM2
speed 9600, 19200, 38400, 57600, 115200

Die Parity und die Anzahl der Bits kann hier nicht eingestellt werden, es gilt immer "8 Bit no parity".

Das Kommentarzeichen muss also entfernt und die serielle Schnittstelle ausgewählt werden. Dabei zählt SYSLINUX immer von 0 an!

Beispiele:

SERIAL 0 9600 COM-Port 1, 9600 Baud
SERIAL 1 38400 COM-Port 2, 38400 Baud

Rechner mit älteren Mainboards/Karten unterstützen keine höheren Gschwindigkeiten als 38400 Bd. Deshalb sollte man es zunächst mit höchstens 38400 Bd probieren, bevor man sich an höhere Geschwindigkeiten heranwagt. Da lediglich Text-Ausgaben über die Console gehen, sind höhere Geschwindigkeiten eigentlich auch gar nicht notwendig.

Die SERIAL-Zeile gilt lediglich für den Bootloader SYSLINUX, welcher für fli4 verwendet wird. Als nächstes müssen wir dafür sorgen, daß auch Linux sämtliche Meldungen auf die serielle Schnittstelle umlenkt. Dafür ist in der APPEND-Zeile ein weiterer Parameter anzufügen, nämlich

console=ttyS0,9600n8

für die COM1-Schnittstelle mit 9600 Bd, 8 Bit, no Parity

oder auch z.B.

console=ttyS1,38400n8

für COM2 mit 38400 Bd, 8 Bit, no Parity.

Dabei ist die Groß-/Kleinschreibung zu beachten!

Beispiel der Komplettdatei für 9600 Bd, 8 Bit, no parity:

SERIAL 1 9600
TIMEOUT 0
DEFAULT kernel
APPEND load_ramdisk=1 initrd=rootfs.gz root=/dev/ram0 boot=/dev/fd0h1440 console=ttyS1,9600n8

Sämtliche Meldungen, die normalerweise auf der Console ausgegeben werden, werden nun auf die serielle Schnittstelle gelenkt - auch die Meldungen des Bootvorgangs!

Als Kabel zum Terminal oder PC mit Terminalemulation kommt ein Nullmodemkabel zum Einsatz. Ich rate aber davon ab, ein Standard-Nullmodemkabel zu verwenden, weil dort normalerweise auch die Handshake-Leitungen verdrahtet sind. Ist das Terminal bzw. der PC abgeschaltet (oder die Terminalemulation nicht geladen), kann es bei Verwendung eines Standard-Nullmodemkabels zu einem Hangup von fli4l kommen!

Deshalb ist hier eine spezielle Verdrahtung notwendig, um fli4l auch mit abgeschaltetem Terminal betreiben zu können. Es wird dafür ein 3-adriges Kabel benötigt, wobei einige Kontakte an den Steckern gebrückt werden müssen.

Alle Angaben ohne Gewähr! Haftung meinerseits ausgeschlossen!

Viel Spaß!

Frank Meyer Dezember 2000

Klicken Sie hier, um die Seite auszudrucken.