我有一个主板,它使用高速 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 一起使用?