【问题标题】:Display Linux boot messages on tty1 instead of ttyS1在 tty1 而不是 ttyS1 上显示 Linux 启动消息
【发布时间】:2013-10-23 18:20:56
【问题描述】:

我正在开发带有显示面板的嵌入式 Linux 系统。系统设置为通过系统/dev/ttyS1 上的串行端口输出引导消息。我正在尝试让这些消息显示在显示屏上,tty1,并且我正在寻找有关如何执行此操作的建议。

我尝试将内核命令行从console=ttyS1 更改为console=tty1;这没有效果。即使进行了上述更改,引导消息也仅发送到串行端口。我通过查询cat /proc/cmdline验证了对内核命令行的更改确实生效了

引导过程的最后一步产生gettytty1,登录屏幕确实出现在面板上。面板本身在引导序列中更早地初始化。

编辑:@artless noise 指出将控制台发送到虚拟终端需要更改内核配置。确实如此。按照以下步骤在虚拟终端上启用控制台输出

make menuconfig 

并从显示的 GUI 中选择以下内容

Device Drivers -> Character devices -> Support for console in virtual terminal

在调用 make 时,您可能需要根据要构建的目标提供其他选项(ARCH、CROSS_COMPILE 等)。

【问题讨论】:

  • 并非所有tty 都支持控制台。你的呢?您是否已将其配置为支持它(使用 Linux .config)?
  • 你是对的,它是内核配置。无论出于何种原因,我认为这应该只是内核命令行上的一个参数。使用您提供的信息编辑问题。非常感谢!
  • 这是从哪里来的? Device Drivers -> Character devices -> Support for console in virtual terminal。这似乎是一个 GUI 的东西,但你没有提到你正在使用什么 GUI...
  • @tjameson:是linux内核make config接口。
  • @tjameson 添加了一些附加信息。希望有帮助!

标签: linux linux-kernel console embedded-linux tty


【解决方案1】:

命令行选项可以由引导加载程序(例如,u-boot bootargs)提供,也可以在配置内核时硬编码。

我知道在一些旧版本的 Linxu 内核上,硬编码选项会错误地覆盖引导加载程序选项。

所以,看看 .config 文件,看看那里是否设置了错误的控制台。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    相关资源
    最近更新 更多