1

我正在办公室开发一个小型嵌入式 linux 平台,我必须将默认控制台从 ttyS0 更改为另一个 ttySx。ttyS0 已启用并且是默认控制台。我启用了另一个 ttyS,成功探测它,我给它的 ID=4,这意味着现在我可以正确地看到它作为 /dev/ttyS4。

所以我修改了命令行:

CMDLINE=...console=ttyS0,921600n8 console=tty0...

CMDLINE=...console=ttyS4,921600n8 console=tty0...

UART 连接到 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 命令都成功显示了我在腻子窗口上键入的内容和 ENTER 。这意味着 ttyS4 的电气连接和驱动程序运行良好。但是,如果我尝试在这个 putty 窗口中访问文件系统,我就不能。输入 enter 只会打印一个新的空行,没有别的。就像新的 console=ttyS4 不会将我写入的数据转发到 linux。

console=ttyS4,921600n8 console=tty0当我输入 cat /proc/cmdline 时,我可以看到新的

任何帮助表示赞赏。

4

1 回答 1

1

控制台只是输入和输出设备。如果您想将它们用于 shell 登录,请getty在它们上启动。

使用 SysVinit,您可以通过在此处编辑/etc/inittab和复制或取消注释一行来完成此操作:

4:2345:respawn:/sbin/getty 38400 tty4

使用 systemd,您可以运行

systemctl enable console-getty.service getty@tty4.service
于 2017-03-15T17:18:59.527 回答