linux - 如何在启动过程后切换 linux 内核控制台?

标签 linux linux-kernel embedded embedded-linux tty

在我的嵌入式系统上,我通常使用/dev/ttyS0 作​​为主控制台。这是通过传递内核参数 console=/dev/ttyS0 实现的,当 init 参与其中时,getty 在指定的同一设备上触发在 inittab 中,例如。 ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100.

是否可以在不重新启动的情况下更改这些设置并将控制台切换到另一个终端,如 ttyS1ttyUSBx 甚至一些伪 tty?

最佳答案

似乎您实际上并不希望在另一台设备上显示控制台日志消息,而只是建议将它们重定向到那里以阻止它们干扰主串行设备上的二进制传输。

如果是这种情况,您可以通过动态调整控制台日志级别来解决您的问题。

http://tuxthink.blogspot.com/2012/07/printk-and-console-log-level.html

建议您可以通过写入 proc 节点来执行此操作:

echo "6" > /proc/sys/kernel/printk

在他们的示例中将其设置为 6。我怀疑将它设置为 0 或 1 是否适合您的目的 - 如果出现问题,您的二进制传输可能无论如何都会失败。

无论此设置如何,dmesg 仍应可检索日志条目。

关于linux - 如何在启动过程后切换 linux 内核控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16829746/

相关文章:

c++ - 如何在 Windows 和 Linux 之间移植的 visual studio C++ 中进行串口编程?

c - 用于升级嵌入式设备的.bin文件

linux - 在 Linux 平台上用 R 生成扩展 ASCII

linux-kernel - 了解 Linux 音频子系统 (alsa)。有什么推荐的书吗?

c - Linux 内核中的类型检查宏是如何工作的?

linux - Qt Creator 作为 Linux 嵌入式调试系统

embedded - 带有 PA0 按钮的 STM32F303VCT6 外部中断不会触发 LED

python - CentOS 6.6 默认使用 Python 2.6,运行 Swift 命令时会抛出语法错误

linux - 如何将命令输出作为多个参数传递给另一个命令

linux - 无法在 Android linux 内核中找到/proc/pid/io 文件