How to switch linux kernel console after boot process?
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
Suggests that you can do this by writing to a proc node:
echo "6" > /proc/sys/kernel/printk
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.
Log entries should still be retrievable by dmesg regardless of this setting.
Related videos on Youtube
Honza
Updated on June 04, 2022Comments
-
Honza almost 2 years
On my embedded system I usually use /dev/ttyS0 as a main console. This is achieved by passing kernel parameter
console=/dev/ttyS0
and wheninit
takes its part,getty
is fired on the same device as specified ininittab
by eg.ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100
.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?-
Déjà vu almost 11 yearsIn order to refine the scope of your question: after the boot process (output to ttyS0), you want to change the console output to another tty, without the use of a change of runtime level, ie without using the command init to another level?
-
Déjà vu almost 11 yearsMaybe chvt can help?
-