Ich habe ein Skript bei /etc/init/ttyS0.conf
. Ich bin cKonfigurieren eines KVM-Gastes für den seriellen Konsolenzugriffalso auch wenn die Netzwerkschnittstelle defekt ist, kann ich trotzdem über die serielle Verbindung darauf zugreifen.
ttyS0
Ich kann es durch Ausführen starten sudo start ttyS0
und es funktioniert einwandfrei, bis ich neu starte. Nach dem Neustart des Systems ttyS0
läuft es nicht mehr.
Wie kann ich erreichen, dass dieses Skript beim Start automatisch gestartet wird?
Danke
So sieht mein Skript aus:
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 115200 ttyS0 xterm
Antwort1
AusHier
respawn
console none
start on (local-filesystems)
stop on [!12345]
script
exec start ttyS0
end script
Sollte funktionieren, vermute ich. Andernfalls ersetzen Sie start tty0 durch ein Skript, das startet, was Sie starten möchten
Antwort2
Hierzu gibt es mehrere Möglichkeiten.
Wenn das Skript einen Prozess aufruft, können Sie /etc/init.d verwenden.
Legen Sie das Skript in /etc/init.d ab. Anschließend müssen Sie die Berechtigungen für die Datei mit chmod a+x "script" ändern. Führen Sie dann update-rc.d "script" defaults aus, wodurch alles in Gang gesetzt wird. Das Skript sollte jetzt beim Booten starten.
Hier sind einige weitere Beispiele:
Antwort3
Ubuntu verwendet den SYSV-Start (wie Debian) basierend auf Runlevels.
Sie müssen das Skript zu dem Runlevel hinzufügen, das Sie gerade verwenden. Für Ubuntu ist der Runlevel, der von derdrinDer Prozess ist standardmäßig 2. Sie müssen also ttyS0.conf zum Verzeichnis rC2.d hinzufügen und angeben, dass Sie es starten (nicht stoppen) möchten. Sie können dies tun, indem Sie dem Skript einen Softlink wie folgt hinzufügen:
ln -s /etc/init/ttyS0.conf /etc/rc2.d/S99ttyS0.conf
Das Präfix S99 gibt „S“ -> Skript starten und „99“ die Reihenfolge an, in der das Skript gestartet werden muss (verringern Sie diese Zahl, wenn nach diesem andere Skripte ausgeführt werden müssen).
Anschließend müssen Sie es beim Neustart (Runlevel 6) oder Herunterfahren (Runlevel 0) stoppen:
ln -s /etc/init/ttyS0.conf /etc/rc0.d/S99ttyS0.conf
ln -s /etc/init/ttyS0.conf /etc/rc6.d/S99ttyS0.conf
Das Präfix ist ähnlich, außer dass „S“ -> Skript stoppen (nur für Runlevel 0 und 6).
Hoffe, das hilft. Mehr InfosHier