[LINUX] Verwenden einer seriellen Konsole unter Ubuntu 20.04

serial console

English

sudo cp -nv /etc/default/grub   /etc/default/grub.orig
sudo cp -nv /boot/grub/grub.cfg /boot/grub/grub.cfg.orig
sudo vim /etc/default/grub

/etc/default/grub:

## remove (optional):
# GRUB_TIMEOUT_STYLE=hidden

## change:
# (optional)
# GRUB_TIMEOUT=0
GRUB_TIMEOUT=2

## add:
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200"

## change:
# GRUB_CMDLINE_LINUX=""
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200"

Beschreibung
Wenn Sie `GRUB_TIMEOUT_STYLE = hidden` löschen und` GRUB_TIMEOUT = 2` setzen, wird das GRUB-Menü beim Booten angezeigt.

GRUB menu

Wenn GRUB_TIMEOUT 1 oder mehr (oder -1) ist, kann das Menü durch Drücken der Taste Escape </ kbd> geöffnet werden, auch wenn GRUB_TIMEOUT_STYLE = hidden ([ref.](Https: /) /www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html)).

Durch Hinzufügen von "GRUB_TERMINAL =" console serial "" wird das GRUB-Menü sowohl auf der VGA-Konsole als auch auf dem seriellen Terminal angezeigt.

GRUB menu in both VGA console and serial terminal

Wenn die Ausgabe der seriellen Konsole nicht angezeigt wird, lesen Sie das Handbuch (https://www.gnu.org/software/grub/manual/grub/html_node/serial.html) und stimmen Sie die Hardware mit GRUB_SERIAL_COMMAND = ab Versuchen Sie, "serial --speed = 115200" zu ändern.

GRUB_CMDLINE_LINUX =" console = tty1 console = ttyS0,115200 " ist Linux-Kernel-Befehlszeilenparameter ) ist. Ähnlich wie bei "GRUB_TERMINAL =" console serial "" ermöglicht diese Option die Eingabe / Ausgabe von tty sowohl auf der VGA-Konsole (tty1) als auch auf der seriellen Konsole (ttyS0).

tty output on both tty1 and ttyS0

Dies kann auch beim Booten im GRUB-Menü geändert werden.

Modify command-line parameter in GRUB menu


Führen Sie nach dem Bearbeiten von "/ etc / default / grub" "sudo update-grub" aus, um "/ boot / grub / grub.cfg" zu generieren, das beim Booten tatsächlich geladen wird. Es wird intern grub-mkconfig -o / boot / grub / grub.cfg ausgeführt.


/ etc / default / grub original, geändert, diff

Original (je nach Umgebung stammt dies von QEMU):

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Überarbeitet:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
#GRUB_TERMINAL="console serial"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

diff:

sudo apt install python3-pip
pip3 install icdiff
~/.local/bin/icdiff /etc/default/grub.orig   /etc/default/grub
~/.local/bin/icdiff /boot/grub/grub.cfg.orig /boot/grub/grub.cfg

diff /etc/default/grub

Der Unterschied von / boot / grub / grub.cfg ist groß, also überprüfen Sie ihn bitte mit Ihren eigenen Augen.


Nach dem Neustart wird dmesg auf der seriellen Konsole abgespielt und die Anmeldeaufforderung wird angezeigt.

<img alt = "Creative Commons License" style = "Rahmenbreite: 0" src = "https" //i.creativecommons.org/l/by/4.0/88x31.png "/>
Diese Arbeit ist <eine rel =" Lizenz "href =" http://creativecommons.org/ Lizenzen / von / 4.0 / "> Creative Commons Attribution 4.0 International License .

Recommended Posts

Verwenden einer seriellen Konsole unter Ubuntu 20.04
Richten Sie mit Samba einen Dateiserver unter Ubuntu 20.04 ein
Erstellen einer Python-Umgebung unter Ubuntu
Führen Sie Yocto unter Ubuntu mit QEMU aus.
So erstellen Sie eine Python-Umgebung mit Virtualenv unter Ubuntu 18.04 LTS
Shebang auf Ubuntu 20.04
Bei Verwendung von Pygame unter Ubuntu 16.04 beträgt die CPU-Auslastung 100%
Eine süchtig machende Geschichte bei der Verwendung von Tensorflow unter Android
Erstellen Sie die Python3.5 + matplotlib-Umgebung unter Ubuntu 12 mit Anaconda
Versuchen Sie, QR-Code mit Raspberry Pi zu verwenden
Python-Entwicklung unter Ubuntu unter AWS EC2 (mit Jupyter Lab)
[Venv] Erstellen Sie eine virtuelle Python-Umgebung unter Ubuntu
Erstellen Sie eine Kubernetes-Umgebung für die Entwicklung unter Ubuntu
Hinweise zur Verwendung von TensorFlow unter Bash unter Ubuntu unter Windows
Verbindung zu einer seriellen Konsole über Bluetooth (CentOS 7)
Erstellen Sie eine GUI auf dem Terminal mit Flüchen
Installieren Sie TensorFlow unter Ubuntu
Erstellen Sie eine maschinelle Lernumgebung mit PyCharm in einer Ubuntu-Umgebung (TensorFlow wird ebenfalls eingeführt!).
Erstellen einer Django-Entwicklungsumgebung mit pyenv-virtualenv auf einem Mac
Installieren Sie PySide2 unter Ubuntu
Ich habe einen UnicodeDecodeError erhalten, als ich auf Ubuntu Pip installiert habe
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Installieren Sie JModelica unter Ubuntu
Erstellen Sie mit pyenv eine Python-Umgebung auf Ihrem Mac
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Build Python auf Ubuntu
Installieren Sie Python 3.3 unter Ubuntu 12.04
Installation von pyenv unter Ubuntu 16.04
Installieren Sie Theano unter Ubuntu 12.04
Installiere angr unter Ubuntu 18.04
Hinweise zur Verwendung von Alembic
Installiere pip / pip3 unter Ubuntu
Verwendung von Fujifilm X-T3 als Webcam unter Ubuntu 20.04
Ich habe Ubuntu auf einem USB-Speicher eines Dual-Boot-PCs installiert
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
SSH-Verbindung zu einem privaten Server über einen Plattformserver in EC2
Erstellen einer Jupyter Lab-Entwicklungsumgebung auf WSL2 mit Anaconda3
Verwenden Sie Python auf Raspberry Pi 3, um "Temperatur (mit A / D-Wandler)" zu erkennen!
[Schatzdaten] [Python] Führen Sie mit dem TD-Client eine Abfrage zu Schatzdaten aus.
Ich habe ein VGG16-Modell mit TensorFlow gemacht (unterwegs)
Verwenden Sie unter Ubuntu (Linux) einen Schlüsselbund, um zu vermeiden, dass SSH-Passphrasen einzeln gehört werden
Verwenden von X11 mit ubuntu18.04 (C-Sprache)
Richten Sie Python 3.4 unter Ubuntu ein
Ich habe tensorRT unter Ubuntu 18.04 installiert
Führen Sie Jupyter unter Ubuntu unter Windows aus
Verwenden Sie matplotlib unter Ubuntu 12 und Python
SoftwareRAID 0 unter SereneLinux (Ubuntu 18.04 Desktop)
Ein Kommentar zum Boruta-Algorithmus
Zeitmessung mit einer Uhr
Ich habe ROS unter Ubuntu 18.04 installiert
USB Wifi unter Ubuntu 20.04LTS
Stellen Sie die Matplotlib-Schriftart in Ubuntu ein
Versuchen Sie es mit OpenCV unter Windows
Setzen Sie Python 3.x in Ubuntu ein