启动进程后如何切换linux内核控制台? [英] How to switch linux kernel console after boot process?

查看:353
本文介绍了启动进程后如何切换linux内核控制台?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的嵌入式系统中,我通常使用/ dev / ttyS0作为主控台。通过传递内核参数 console = / dev / ttyS0 并且当 init 占用它时, getty 在与 inittab 中指定的同一设备上被触发。 ttyS0 :: respawn:/ sbin / getty -L ttyS0 115200 vt100

On my embedded system I usually use /dev/ttyS0 as a main console. This is achieved by passing kernel parameter console=/dev/ttyS0 and when init takes its part, getty is fired on the same device as specified in inittab by eg. ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100.

是否有可能更改这些设置不重新启动,并将控制台切换到另一终端,如 ttyS1 ttyUSBx 甚至一些伪tty?

Is there any possibility to change these settings without restart and switch the console to another terminal like ttyS1, ttyUSBx or even some pseudo tty?

推荐答案

似乎也许您实际上并不希望在其他设备上使用控制台日志消息,但只是建议将其重定向到那里,以阻止他们干扰主串行设备上的二进制传输。

It seems that perhaps you don't actually want the console log messages on another device, but are only proposing to redirect them there to stop them from interfering with binary transfers on the primary serial device.

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

If that is the case, you may be able to solve your problem by dynamically adjusting the console log level.

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

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

Suggests that you can do this by writing to a proc node:

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

将其设置为6。我怀疑将其设置为0或1将适用于您的目的 - 如果出现问题,您的二进制传输可能会失败。

Would set it to 6 in their example. I suspect setting it to 0 or 1 would work for your purposes - if something goes that wrong, your binary transfer is probably failed anyway.

日志条目仍然可以通过dmesg不管这个设置。

Log entries should still be retrievable by dmesg regardless of this setting.

这篇关于启动进程后如何切换linux内核控制台?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆