系统上没有早期的串行控制台,需要为 UART 加载内核模块

系统上没有早期的串行控制台,需要为 UART 加载内核模块

我有一个主板,它使用高速 UART,而不是一些编译到内核中的旧硬件。串行设备只有在加载内核模块后才会被检测到intel_lpss_pci。我使用的是 debian“buster”,它使用 systemd 来管理一切 -

这意味着启用输出和 getty 登录无法按预期工作。

  • console=ttyS0,115200n8 console=tty0不会导致 systemd 打开 getty 登录
  • 内核消息也被延迟(并且不完整)
  • 如果我手动添加目标,systemd 将打开 getty 提示符
  • 该目标不适用于救援模式
  • 该目标对 init-ramdisk 没有任何作用

正常系统的解决方法

我发现手动告诉 systemd 通过 getty 打开登录是有效的: 这仍然会在显示第一个内核消息时增加一些明显的延迟,但我至少可以登录。systemctl enable [email protected]

将模块添加到 initramfs (没有帮助) 我将 intel_lpss_pci 模块添加到/etc/initramfs-tools/modules,重建 init-ramfs 并验证该模块已复制到那里。这没有什么区别

所需行为 我希望串行控制台直接从 Ramdisk 工作(因为我没有屏幕) -无需重新编译内核。有人知道我缺少什么吗?我是否需要向 init-ramfs 添加一个脚本来尽早加载此模块,如果是这样 - 这如何与 initramfs-tools 一起使用?

相关内容