我正在办公室的一个小型嵌入式Linux平台上工作,我必须将默认控制台从ttyS0更改为另一个ttySx。 ttyS0已启用,是默认控制台。 我启用了其他ttyS,成功探测了它,我已经给它ID = 4,这意味着现在我可以正确地看到它为/ dev / ttyS4。
所以我修改了cmdline:
CMDLINE=...console=ttyS0,921600n8 console=tty0...
到
CMDLINE=...console=ttyS4,921600n8 console=tty0...
uarts连接到FTDI芯片。 使用console = ttyS0,我可以在这个shell上成功读/写。 使用console = ttyS4,我可以看到内核打印的内容,但无论我写什么都被linux忽略。
所以我检查了新ttyS4的TX / RX。我在这个com端口打开了一个putty会话。登录ssh以访问linux文件系统我做了一些测试:
echo 1234 > /dev/ttyS4
echo 1234 > /dev/console
以上两个命令都在对应于ttyS4的putty窗口上成功打印“1234”。
然后:
cat /dev/console
cat /dev/ttyS4
以上cat命令都成功显示了我键入的内容在我的腻子窗口上输入。 这意味着电气连接以及ttyS4的驱动器运行良好。 但是,如果我尝试在这个putty窗口中访问文件系统,我不能。输入enter将只打印一个新的空行,没有别的。 这就像新的console = ttyS4不会转发我写入linux的数据。
当我输入cat / proc / cmdline
时,我可以看到新的console=ttyS4,921600n8 console=tty0
任何帮助表示感谢。
答案 0 :(得分:1)
控制台只是输入和输出设备。如果要将它们用于shell登录,请在它们上启动<div class="confirmation-modal">
<p class="confirmation-message">This is a big message that takes up a bunch of space. Yes indeed. Do you like it?</p>
<div class="buttons">
<button>Yes, I'm Sure</button>
<button>Cancel</button>
</div>
</div>
。
使用SysVinit,您可以通过编辑getty
并在那里复制或取消注释一行来完成此操作:
/etc/inittab
使用systemd,您可以运行
4:2345:respawn:/sbin/getty 38400 tty4