Seriellen Konsolenzugriff für importierte Linux-Images aktivieren
Sie können Ihr benutzerdefiniertes Linux-Image so konfigurieren, dass Verbindungen mit dem seriellen Konsolenfeature in Compute unterstützt werden.
Weitere Informationen zu seriellen Konsolenverbindungen sowie Schritte zur Fehlerbehebung bei Problemen mit der Netzwerkkonnektivität nach dem Start des Images finden Sie unter Fehlerbehebung bei Instanzen mit Instanzkonsolenverbindungen.
Die serielle Konsolenverbindung in Oracle Cloud Infrastructure verwendet den ersten seriellen Port "ttyS0" auf der VM. Der Boot Loader und das Betriebssystem müssen so konfiguriert werden, dass ttyS0 als Konsolenterminal sowohl für Eingabe als auch Ausgabe verwendet wird.
Bei Arm ist der erste serielle Port ttyAMA0.
Boot Loader konfigurieren
Die Schritte zum Konfigurieren des Boot Loaders zur Verwendung von ttyS0 als Konsolenterminal für Ein- und Ausgaben hängen von der GRUB-Version ab. Führen Sie auf dem Betriebssystem den folgenden Befehl aus, um die GRUB-Version zu ermitteln:
grub-install --version
'grub' not found
erhalten, führen Sie den folgenden Befehl aus:grub2-install --version
Wenn die zurückgegebene Versionsnummer 2.x ist, gehen Sie wie folgt vor, um GRUB 2 zu konfigurieren. Befolgen Sie bei früheren Versionen die Schritte zur Konfiguration von GRUB.
-
Ändern Sie mit dem folgenden Befehl die GRUB-Konfigurationsdatei:
sudo vi /etc/default/grub
-
Bestätigen Sie, dass die Konfigurationsdatei Folgendes enthält:
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200" GRUB_TERMINAL="serial console"
-
Hängen Sie Folgendes an das Ende der Zeile
GRUB_CMDLINE_LINUX
an:console=tty1 console=ttyS0,115200
Wenn
GRUB_CMDLINE_LINUX
nicht vorhanden ist, erstellen Sie diese Zeile mitGRUB_CMDLINE_OUTPUT
als Vorlage. -
Generieren Sie die GRUB 2-Konfiguration mit dem folgenden Befehl neu:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Wenn Sie eine Betaversion von GRUB 2 haben, verwenden Sie stattdessen diesen Befehl:
sudo grub-mkconfig -o /boot/grub/grub.cfg
-
Ändern Sie mit dem folgenden Befehl die GRUB-Konfigurationsdatei:
sudo vi /boot/grub/grub.conf
-
Fügen Sie nach der Zeile mit
timeout
Folgendes hinzu:serial --unit=0 --speed=115200 terminal --timeout=5 serial console
-
Hängen Sie Folgendes an jede
kernel
-Zeile an:console=tty1 console=ttyS0,115200
Betriebssystem konfigurieren
Das Betriebssystem ist möglicherweise bereits so konfiguriert, dass ttyS0 als Konsolenterminal sowohl für Eingabe als auch Ausgabe verwendet wird. Führen Sie zur Überprüfung den folgenden Befehl aus:
sudo vi /etc/securetty
Suchen Sie in der Datei nach ttyS0
. Wenn die Datei diesen Eintrag nicht enthält, hängen Sie ttyS0
an das Ende der Datei an.
Zugriff auf die serielle Konsole validieren
Nachdem Sie die Schritte zum Aktivieren des seriellen Konsolenzugriffs auf das Image ausgeführt haben, müssen Sie validieren, dass der serielle Konsolenzugriff funktioniert. Testen Sie dazu das Image mit der seriellen Konsole in Ihrer Virtualisierungsumgebung. Die erforderlichen Schritte finden Sie in der Dokumentation für Ihre Virtualisierungsumgebung. Stellen Sie sicher, dass die Boot-Ausgabe in der Ausgabe der seriellen Konsole angezeigt wird und dass nach dem Booten des Images eine interaktive Eingabe vorhanden ist.
Fehler der seriellen Konsole beheben
Wenn in der seriellen Konsole keine Ausgabe angezeigt wird, prüfen Sie in der Konfiguration der Virtualisierungsumgebung, ob das serielle Konsolengerät mit dem ersten seriellen Port verbunden ist.
Wenn in der seriellen Konsole eine Ausgabe angezeigt wird, jedoch keine interaktive Eingabe verfügbar ist, prüfen Sie, ob ein Terminalprozess den ttyS0-Port (oder ttyAMA0 für Arm) überwacht. Führen Sie dazu den folgenden Befehl aus:
ps aux | grep ttyS0
Dieser Befehl sollte einen Terminalprozess ausgeben, der den ttyS0-Port überwacht. Beispiel: Wenn Ihr System getty verwendet, wird die folgende Ausgabe angezeigt:
/sbin/getty ttyS0
Wenn diese Ausgabe nicht angezeigt wird, ist wahrscheinlich kein Anmeldeprozess für die serielle Konsolenverbindung konfiguriert. Um dies zu beheben, aktivieren Sie die Init-Einstellungen, sodass ein Terminalprozess ttyS0 beim Hochfahren überwacht.
Beispiel: Wenn das System getty verwendet, fügen Sie den folgenden Befehl zu den Init-Einstellungen hinzu, die beim Systemstart ausgeführt werden sollen:
getty -L 9600 ttyS0 vt102
Die dazu erforderlichen Schritte unterscheiden sich je nach Betriebssystem. Weitere Informationen dazu finden Sie in der Dokumentation für das Betriebssystem des Images.
GRUB-Einträge mit Tastenanschlägen ändern
Tastenkombination | Beschreibung |
---|---|
Strg+f | Wechseln Sie zum rechten Zeichen. |
Strg+b | Wechseln Sie zum linken Zeichen. |
STRG+A | Zum Anfang der Zeile verschieben. |
Strg+e | Gehen Sie zum Ende der Zeile. |
STRG+p | Ein Zeichen nach oben. |
STRG+n | Ein Zeichen nach unten. |
Strg+d | Löschen Sie das Zeichen unter dem Cursor. |
Strg+h | Löschen Sie das Zeichen links vom Cursor. |
Strg+k | Löschen Sie die Zeichen vom Cursor bis zum Ende der Zeile. |
Strg+u | Löschen Sie die Zeichen vom Cursor bis zum Zeilenanfang. |
Strg+y | Setzen Sie gelöschten Text wieder am Cursor. |