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.

Wichtig

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
Wenn Sie eine Fehlermeldung mit der Angabe '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.

So konfigurieren Sie GRUB 2
  1. Ändern Sie mit dem folgenden Befehl die GRUB-Konfigurationsdatei:

    sudo vi /etc/default/grub
  2. Bestätigen Sie, dass die Konfigurationsdatei Folgendes enthält:

    GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200"
    							GRUB_TERMINAL="serial console"
  3. 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 mit GRUB_CMDLINE_OUTPUT als Vorlage.

  4. 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
So konfigurieren Sie GRUB
  1. Ändern Sie mit dem folgenden Befehl die GRUB-Konfigurationsdatei:

    sudo vi /boot/grub/grub.conf
  2. Fügen Sie nach der Zeile mit timeout Folgendes hinzu:

    serial --unit=0 --speed=115200
    terminal --timeout=5 serial console
  3. 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

GRUB-Einträge können nur mit Tastenanschlägen geändert werden.
Tastenanschläge zum Ändern von GRUB-Einträgen
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.