有一个设备文件/dev/console叫. 当我使用串行控制台启动时,它会连接到我的 UART 端口。但是当我在禁用串行控制台的情况下启动时,似乎连接到其他地方,那里总是连接到同一个物理设备,即. 是否有任何指示(如或中的内容)显示此类信息?我在那里尝试过,但没有找到我想要的。我开始追踪 Linux 内核源代码以澄清它们之间的关系。谁能给我一些提示?何时、何地、如何以及如何确定连接的物理设备?(major,minor)(5,1)/dev/ttyS0/dev/console/dev/ttyS0UART0/proc/sys/dev/console
编辑:最新发现是:
- 由内核参数
/dev/console配置,console=而内核参数又被用于getty打开stdin/stdout/stderr。如果console=指定 no,/dev/null则打开为stdin/stdout/stderr. 但我不确定它们是否与 完全相同/dev/console,这意味着/dev/console它的 I/O 可以连接到不同的物理设备。 - 如果 USB HID 键盘已插入且未配置为 UART ,
/dev/console则可以读取。console=因此/dev/console==/dev/null似乎没有什么意义。需要更多调查。