Linux 串行控制台适用于 earlyprintk=ttyS1,但不适用于 console=ttyS1

Linux 串行控制台适用于 earlyprintk=ttyS1,但不适用于 console=ttyS1

我有一台服务器,其辅助 UART(ttyS1)通过 USB 连接到一台笔记本电脑(在/dev/ttyUSB10)。

如果我使用以下命令在服务器上启动 Linux

console=ttyS1,115200n8 earlyprintk=ttyS1,115200n8

我可以在串行控制台上看到内核输出(minicom -D /dev/ttyUSB10在笔记本电脑上)。但是,如果我只指定

console=ttyS1,115200n8

它不再显示任何东西。

我问这个是因为我无法用第一个获得登录 shell!

我的内核已启用所有必要的串行配置,其中包括

CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y

你知道为什么会发生这种情况吗?

答案1

在我启用以下内核选项后它就可以工作了。

SERIAL_8250_16550A_VARIANTS=y
SERIAL_DEV_CTRL_TTYPORT=y
TTY_PRINTK=y

还要确保您已经编译了用于输入的键盘驱动程序。

相关内容