Bei der Realisierung des Vorschlags von Guido Socher (siehe http://main.linuxfocus.org/Deutsch/January2001/article186.shtml) auf verschiedenen Rechnern und für unterschiedliche Kernel-Versionen hatte ich einige Probleme, über deren Behebung ich hier berichten möchte.
Schaltung
Die Schaltung von Guido wurde mit einer Änderung übernommen. Um sicherzustellen, dass der Eingang CD bei Nichtbetätigung des Schalter auf logisch Null liegt, musste Anschluss NC des Schalters mit GND verbunden werden.
Zur Verschaltung der Bauteile habe ich keine selbst geätzte Schaltung eingesetzt sondern eine Lochrasterplatine.
Nach dem Bohren der Löcher für den Taster (links) und dem Unterbrechen der Leiterbahnen mit Hilfe eines Bohrers konnte ich die Bauteile einlöten. Der Länge der Anschlussbeine der beiden LEDs habe ich an dem vorher gebohrten Gehäuse ermittelt.
Um die Schaltung auch an einem anderen PC zu verwenden zu können, habe ich sie in ein kleines Gehäuse eingebaut.
Software
Standardmäßig wird auf den beiden Debian basierten Fileservern c´t‑Server 1.1 und Ubuntu-Server 8.04.3 LTS kein C‑Compiler installiert. Dieses ist nachzuholen.
- Paketquellen in /etc/apt/sources.list überprüfen und gegebenenfalls mit nano editieren
- apt-get update
- apt-get install gcc
- apt-get install build-essential für Header Files, nach der Installation befinden sich die Dateien ioctl.h, stat.h und types.h im Ordner /usr/include/sys
- apt-get install setserial um zu überprüfen, welche seriellen Ports zur Verfügung stehen
Auf einem Client, der an den Fileserver angeschlossen ist, die Datei sled‑0.3.tar.gz von der oben genannten Seite auf linuxfocus.org herunterladen und auspacken (geht auch auf einem Windows-System mit filzip)
Auf dem Server mit mkdir /usr/src/sled ein entsprechendes Verzeichnis erstellen, dorthin über das home-Verzeichnis des angemeldeten Users die Dateien Makefile, sled.c und sled_rcSuse vom Client auf den Server kopieren, anschließend die Datei sled_rcSuse in sled_rc umbenennen
Eine Kopie von Makefile anlegen: cp Makefile Makefile.old
Makefile mit nano editieren, wegen des Aufbaus des Filesystems von Debian basierten Fileservern in allen Pfadangaben ”rc.d/” und Ausdruck mit “rc5.d” löschen
sled_rc mit nano editieren, wegen des Verhaltens von udev beim Booten Zeile DEVICE=/dev/led auf DEVICE=/dev/ttyS1 ändern
run ”make” to compile the software
run ”make install” to install the program ”sled” and the rc.d‑script ”sled_rc”
test sled on ist own by running sled /dev/ttyS1
kill the sled process by running killall sled
test the rc script by running /etc/init.d/sled_rc start
create a link from /etc/rc2.d/S99sled to /etc/init.d/sled_rc:
- cd /etc/rc2.d
- ln ‑s /etc/init.d/sled_rc S99sled
Test durch Booten und Herunterfahren des Servers